Designing and implementing small-scale programs as communities of collaborating objects, using a dynamically- typed or statically-typed programming language. Fundamental concepts: classes, objects, encapsulation, information hiding, inheritance, polymorphism. Iterative, incremental development and test-driven development. Includes: Experiential Learning Activity Precludes additional credit for COMP 1006 and COMP 1406. Prerequisite(s): SYSC 1006 or SYSC 2006 or permission of the department, and second-year status in Engineering. Lectures three hours a week, laboratory two hours a week.
Designing and implementing small-scale programs as communities of collaborating objects, using a dynamically- typed or statically-typed programming language. Fundamental concepts: classes, objects, encapsulation, information hiding, inheritance, polymorphism. Iterative, incremental development and test-driven development. Includes: Experiential Learning Activity Precludes additional credit for COMP 1006 and COMP 1406. Prerequisite(s): SYSC 1006 or SYSC 2006 or permission of the department, and second-year status in Engineering. Lectures three hours a week, laboratory two hours a week.