Comp201: Principles of Object-Oriented Programming I
Spring 2008 -- Comparison between COMP 201 and COMP 210   


COMP 201 is an introduction to computing that focuses on the principles of object-oriented programming using design patterns. Computational problem-solving and the accompanying programming methodology are taught using progressively richer subsets of the Java programming language. Program design concepts such as structural and behavioral abstractions are key elements in building software systems that are correct, extensible, and robust. Design patterns provide a vocabulary for codifying these abstractions.

The course emphasizes an incremental, test-driven approach to writing programs. Writing tests before code provides a precise description of how each unit of code must behave, promotes cleaner design, and provides a test harness for confirming that a program is correct. This test harness prevents errors from being introduced as a program evolves. Incremental, test-driven design is the essence of state-of-the-art "agile" software engineering methodologies such as Extreme Programming.

Object-oriented programming (OOP) is the most pervasive paradigm for constructing modern software systems. Computer professionals and non-professionals alike will require a solid background in OOP to understand and effectively utilize these systems. This course is recommended for Engineering and other non-COMP majors, plus students who have yet not committed to a COMP major.

This course is the first semester of a new two-semester introduction to computing. The second-semester course in the sequence (COMP 202) is offered in the fall semesters only. This course sequence differs from the existing COMP 210/212 sequence in two respects. First, the new course sequence uses Java exclusively; it does not cover functional programming in Scheme. Second, the new sequence is specifically targeted at non-COMP majors. COMP majors are strongly encouraged to take the existing COMP 210/212 sequence that covers functional as well as object-oriented programming. COMP 201/202 students who subsequently decide to major in COMP can enter the major by joining the regular COMP curriculum after the normal COMP 210/212 sequence.
 

Comp201/Comp202 vs. Comp210/Comp212:

  1. COMP 201 is only offered during the spring semesters.
  2. COMP 210 is only offered during the fall semesters.
  3. COMP 202 is only offered during the fall semesters.
  4. COMP 212 is only offered during the spring semesters.
  5. COMP 201/202 is aimed at non-COMP majors, while COMP 210/212 is aimed at COMP majors.
  6. COMP 201/202 students can definitely become COMP majors if they should so choose.
  7. COMP 201/202 students are qualified to take all courses that have COMP 210 and/or COMP 212 as prerequisites.
  8. COMP 201/202 students may however, require some "catching up" on the Scheme programming language which is referenced in several upper division courses.

 

 

 


Last Revised Thursday, 03-Jun-2010 09:50:27 CDT

©2008 Stephen Wong and Dung Nguyen