COMP 405
|
Advanced Topics in Object-Oriented Design |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
COMP 405 is a topics-driven exploration of cutting-edge object oriented design issues and concepts including mutable recursive data frameworks, design patterns for lazy evaluation, sorting, parsing and games, service-oriented architectures and cloud computing.
The goal of COMP 405 is two-fold: one is to introduce new object-oriented design concepts and the other is raise the level at which those topics are discussed. Students will learn to discuss the OOP/D concepts in terms design patterns, applicability, pros/cons and other programming paradigms. Learning to articulate one's conceptions verbally and in writing are key goals of the course as well as the ability to critically evaluate the opinions expressed by others.
Prerequisites: Comp310 (Detailed knowledge and practice in abstract structure and behavioral representations, delegation model programming, design patterns and Java are required.)
Primary target audience: Third or fourth year CS students who are interested in object-oriented programming and design, large flexible systems, enterprise-class networked applications, dynamically configurable systems and software engineering. Students who plan on taking Comp410 in the future are must take Comp310 beforehand and are encouraged to take Comp405 as well in preparation for Comp410.
For more and the latest infomation, please see the Info page or contact Dr. Wong (swong at rice.edu)
CLASS TIMES: MWF 10:00 AM - 10:050 PM (DH 1042)
This schedule should only be considered as a guide. Expect that the schedule will change often!
Instructions on how to use Subclipse/Subversion to turn-in your assignments.
General Assignment Instructions (supplemented by the specific instructions linked below)
Date |
Lecture |
Notes |
Assignment Due Date
|
Mon. 01/13/14 | Immutable and Mutable Recursive Structures | ||
Wed. 01/15/14 | |||
Fri. 01/17/14 | |||
Mon. 01/20/14 | MLK Holiday -- No Class! | ||
Wed. 01/22/14 | Lazy Evaluation | Finite State Machine | |
Fri. 01/24/14 | Additonal lazy evaluation information | No more
if's! See lazy evaluation demo code.
(Ice Day -- Rice closed!) |
|
Mon. 01/27/14 | Self-Modifying Finite State Machine Demo | ||
Wed. 01/29/14 | Design Patterns for Sorting | ||
Fri. 01/31/14 | |||
Mon. 02/03/14 | Extended Visitors and Recursive Descent Parsing |
|
Extended Finite State Machine (new due date!) |
Wed. 02/05/14 | |||
Fri. 02/07/14 | |||
Mon. 02/10/14 | |||
Wed. 02/12/14 | |||
Fri. 02/14/14 |
HW03 draft write-ups signed off by a staff person |
||
Mon. 02/17/14 | |||
Wed. 02/19/14 | |||
Fri. 02/21/14 | Dynamic communications test day | ||
Mon. 02/24/14 | |||
Wed. 02/26/14 | New! Dynamic communications demo day | ||
Fri. 02/28/14 | |||
03/03/14 - 03/07/14 | Spring Break -- No Classes! | ||
Mon. 03/10/14 | Dynamic communications testing day | New! Dynamic Communications Language (11:59 PM) | |
Wed. 03/12/14 | Object-Oriented Game Theory | System Block Diagrams | |
Fri. 03/14/14 | |||
Mon. 03/17/14 | HW04 draft write-ups signed-off by staff person | ||
Wed. 03/19/14 | HW03 peer reviews due | ||
Fri. 03/21/14 | Software Development | Games demo day | Game Theory |
Mon. 03/24/14 | Google App Engine | ||
Wed. 03/26/14 | |||
Fri. 03/28/14 | Operational GAE project using multiple JSPs and a simple form (everyone) | ||
Mon. 03/31/14 | |||
Wed. 04/02/14 | Final Project Proposals Due | ||
Fri. 04/04/14 | Midterm Recess -- No Class! | ||
Mon. 04/07/14 | |||
Wed. 04/09/14 | |||
Fri. 04/11/14 | |||
Mon. 04/14/14 | |||
Wed. 04/16/14 | |||
Fri. 04/18/14 | |||
Mon. 04/21/14 | |||
Wed. 04/23/14 | |||
Fri. 04/25/14 | |||
Fri. 05/02/14 |
Final Project
Demo Day 9:00 AM - 12:00 PM |
Final Project: Cloud Games | |
© 2013 by Stephen Wong