CMSC 433, Spring 2014

Programming Language Technologies and Paradigms

Lectures and Readings

I will generally try to post my slides within a few days of having given the lecture.

Intro

DateTopic Readings Slides Supp. Material
1/28/14 Introduction JCIP Chap. 1 Intro Single-Threaded Logging Server code
1/30/14 Concurrency JCIP Chap. 2 Concurrency Alarms Example code and Multi-Threaded Logging Server code
2/4/14 Thread Safety JCIP Chap. 2 Thread Safety ThreadSafeMultiThreadedServer code
2/6/14 Synchronization JCIP Chap. 2, Chap. 3 Synchronization Deadlocking code example Happens Before Definitions
2/11/14 In-class assignment
2/13/14 University closed
2/18/14 Sharing Objects JCIP Chap. 3 Sharing Objects ThreadPerConnectionServer code
2/20/14 Composing Objects JCIP Chap. 4 Composing Objects
2/25/14 Thread Creation Patterns JCIP Chap. 4 Thread Creation Patterns
2/27/114 Concurrent Collections JCIP Chap. 5 Concurrent Collections Concurrent Collections, Synchronizers and Locks
03/4/14 Locks and Conditions JCIP Chaps. 13, 14 Locks and Conditions Locks and Conditions
3/6/14 Executors JCIP Chap. 6 Task Execution
3/25/14 Thread Pools JCIP Chap. 8 Thread Pools Prime Number Finder
3/27/14 In-class assignment Futures Design Recipe FuturesDesignRecipeInClass.zip
4/1/14 Futures Design Recipe and Fork-Join Paralellsim JCIP Chap. 8 Fork-Join Parallelism Fork-Join code examples
04/3/14 Erlang Concurrency Erlang Introduction Erlang Examples
04/08/14 Nonblocking Algorithms JCIP Chap. 15, Michael and Scott paper on non-blocking queues Nonblocking Algorithms Atomic Variables and Nonblocking Stack
04/15/14 RMI - Part I Java RMI Chat Server Code
04/17/14 RMI - Part II Java RMI II Compute Server Code
04/22/14 MapReduce MapReduce
04/24/14 Hadoop Hadoop Hadoop Examples
04/29/14 Testing Testing Testing Examples
05/01/14 Comparing Event-Based and Thread-Based Servers Scalable Servers

Web Accessibility