Outline

CS 3354 Object Oriented Design and Implementation


 

 

Midterm on March 21 (Thursday).

Final on May 7 (Tuesday: 8:00am - 10:00am).

 

Hw 1 due on February 15 (Thursday).

Hw 2 part 1 due on March 14 (Thursday).

Hw 2 part 2 due on April 30 (Tuesday).

 


Schedule is subject to change.

 

Topic

 

 

Introduction, Model Driven Development

OO principles, class diagrams

 

 

SOLID principles

 

Model View Controller architecture

 

 

OO software process

 

 

Design patterns

 

 

Input domain partitioning testing, coverage criteria testing, OO testing

Use of JUnit for testing in Java

 

 

Statecharts, their use to generate class protocol testcases

 

 

Use of Java exception mechanism to achieve reliability and robustness

Midterm (March 21)



Development of concurrent systems: Concurrent, Distributed, and Parallel Systems, Process, Thread, Race condition, (Magee Kramer textbook: ch 1.1, 2.2, 3.2, 4.1, 4.2 ; Goetz ch. 2)

Development of concurrent systems: Conditional synchronization, nested locks (Magee Kramer textbook: ch 5)

 

 

Development of concurrent systems: Deadlock (Magee Kramer textbook, ch 6; Goetz textbook: ch 10)

 

 

Development of concurrent systems: Safety, Liveness, Fairness, Visibility (volatile vars), Reordering (Magee Kramer textbook, ch 7; Goetz textbook: ch 3.1, ch 16.1)

Development of concurrent systems: CAS algorithms, testing concurrrent systems (Goetz textbook: ch 15, 12)

 

 

Project presentations and demonstrations

 

Project presentations and demonstrations

 

 

Final ( May 9, 8:00am - 10:00am )

E-mail: rp31@txstate.edu