Document Actions
Approximate Schedule
This document contains the approximate week-by-week schedule for this course. This schedule is permanently under construction. Details are to be filled in soon.
Week 1
- Introduction
- Motivation
- Queuing theory
- State machine diagrams
- State pattern
- Architectural overview
- Presentation-Translation-Application architecture
- Reading
- Lecture 1
- Basic Concurrency Concepts
- Intro to Queuing Theory
- Presentation-Translation-Application architecture
- Behavioral Design
- UML Reference Card
- UML state machine notation
- UML state machine intro and guidelines
- Lecture on FSMs and Statecharts
- Strategy and State design patterns - Tools
- NetBeans IDE
Week 2
- Presentation
- Java Swing features and concepts
- Swing containers and atomic components
- Composite pattern
- Reading
Week 3
- Presentation
- Laying out components in containers
- Strategy pattern
- Translation/Communication
- Events and event object in Java
- Event sources
- Event handling and listeners
- Reading
Week 4
- Quiz 1
- Translation/Communication (continued)
- Events and event object in Java
- Event sources
- Event handling and listeners
Week 5
- Translation/Communication (continued)
- Observer pattern
- Model-view-controller (MVC) pattern
- Java inner classes
- Graphics
- Painting
- Graphics primitives
- Reading
Week 6
- Concurrency
- Introduction
- Thread issues in Swing
- Reading
Week 7
- Quiz 2
- Concurrency in Java
- Introduction
- Explicit threads in Java
- Reading
- Lecture
- Introduction to threading
- Java concurrency constructs by Doug Lea
- Java tutorial on threads
- CPJ by Doug Lea, chapter 1
Week 8
- Concurrency in Java (continued)
- Threads in Java (continued)
- Block-structured mutual exclusion (synchronized)
- Project discussion
- Reading
- CPJ by Doug Lea, chapter 2
Week 9
- Concurrency in Java (continued)
- Monitor-based concurrency control in Java
- Building blocks: bounded counters
- Reading
- CPJ by Doug Lea, chapter 3
Week 10
- Concurrency in Java (continued)
- Controlling and interrupting threads
- Building blocks: barriers, guarded methods, bounded buffers
- Reading
Week 11
- Quiz 3
- Concurrent Programming Frameworks: Trull
- Introduction
- Abstract behaviors
- Three aspects of components: object-oriented, event-oriented, autonomous
- Composition of abstract behaviors
- Communication
- Reading
Week 12
- Concurrent Programming Frameworks: Trull (continued)
- Preemption: cancelation, suspension
- Autonomous activities: creation and control
- Reading
Week 13
- Concurrent Programming Frameworks: Trull (continued)
- Discussion of project 5 and Trull as needed
Week 14
- Concurrent Programming Frameworks: Trull (continued)
- Discussion of project 5 and Trull as needed
Week 15
- LAST CLASS
- Concurrent Programming Frameworks: Trull (continued)
- Discussion of project 5 and Trull as needed
