Proposed syllabus for CMSC 335 - Spring 2015

By: Nicholas Duchon (Aug 14, 2014)

Week
Topics
Readings
Resources
+API link
Notes
1
AWT and Swing
Lambda expressions 1


Present basic GUI concepts in AWT and Swing -
Event handling with lambda expressions
UI design concepts and layout managers
Discuss GUI API and class hierarchies
2
JavaFX

GUI features of JavaFX
3
OO Issues

Review and extend OO concepts with deeper examples
Design considerations for good class hierarchies
Generics, interfaces
I/O, exceptions, regular expressions
4
Thread, pThreads
Executor pools



5
Race conditions, synchronization
Liveness
Guarded blocks



6
Locks, Spin locks
Concurrent collections



7
Lambda expressions 2
Streams



8
Parallelization: Counting, sorting, hashing
Analysis




CMSC 335 Object-Oriented and Concurrent Programming (3)

Prerequisite: CMSC 230 or CMSC 350.
Programming projects are implemented in Java. Students may receive credit for only one of the following courses: CMSC 300 or CMSC 335.