COMP 310
|
Advanced Object-Oriented Programming and Design |
Object-oriented programming is the major software paradigm used in large systems today. This includes most desktop applications such a office productivity software, data management applications and even the main frameworks of many games. But object-oriented programming and design (OOP/D) absolutely rules in the enterprise-class arena, the globe-spanning, mission-critical systems that, via the Internet, tie together international corporations from one end of the Earth to the other. In Comp310, we will discover how to use state-of-the-art object-oriented programming and design techniques to create flexible and scalable software systems that can interact with eachother from anywhere in the world. We will learn about software design patterns and how they are used in multiple programming paradigms. Through a combination of theory and coding, the class will explore how highly decoupled systems with dynamically configurable behaviors are designed and implemented. The class will learn how to use design patterns as both a means of expressing fundamental computer science concepts as well as the building blocks in an abstract decomposition of a complex problem. In addition, the class will learn to use industry standard tools and technologies such as the Eclipse integrated development environment, Subversion source control and round-trip engineering design tools.
The course format will be that of lectures covering the theoretical, engineering and technological aspects of object-oriented programming and design that will be implemented in the project-like homework assignments. These homework projects will build upon each other as much as possible, culminating in a networked application.
See the Comp310 announcement flyer
Prerequisites: Comp201 (not Comp202 -- typo on Registrar's site), Comp211 or Comp212
Primary target audience: Second or third 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 strongly advised to take Comp310 beforehand.
For more and the latest infomation, please see the Info page or contact Dr. Wong (swong at rice.edu)
LAB TIMES:
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 assignements.
© 2011 by Stephen Wong and Scott Rixner