CMPU 203

Computer Science III

Develops techniques for design and implementation of complex software systems. Advanced techniques in object-oriented modeling, design patterns, component libraries, inheritance, parametric polymorphism, generic algorithms, containers, iterators, function objects and storage management, with a focus on collaborative software development. Advanced topics in programming and Graphical User Interface (GUI) development are covered. Development of a software system of significant complexity is required. A weekly laboratory period provides guided hands-on experience.

Meeting Times

  • Monday and Wednesday, 12:00pm-1:15pm, Sanders Physics 105
  • Tuesday, 3:10pm-5:10pm, Sanders Physics 309

Instructor Susan Reiser, Office Hours Monday 2:30-4:00, Wednesday 1:30-3:00, or by appointment. My office is 003 Sanders Classroom (not Sanders Physics).

Coach

  • Elias Contrubis: 5:10pm-7:40pm Tuesday and 2:00pm-4:30pm Saturday

Texts Join ACM plus the ACM Digital Library as a student ($52) and have access to the following texts that we will use in our class plus ACM journals, books, and Safari titles (and more).

  • The Essentials of Modern Software Engineering, by Jacobson, Lawson, Ng, McMahon, Goedicke
  • The Mythical Man Month: Essays on Software Engineering, Anniversary Edition; by Turing Award winner Fred Brooks

Acknowledgement Our class project is a slightly modified version of one that my friend and colleague Rebecca Bruce and I created and tweaked over several class iterations.