CSC207H1: Software Design


An introduction to software design and development concepts, methods, and tools using a statically-typed object-oriented programming language such as Java. Topics from: version control, unit testing, refactoring, object-oriented design and development, design patterns, advanced IDE usage, regular expressions, and reflection. Representation of floating-point numbers and introduction to numerical computation.


60% or higher in CSC148H1/​ 60% or higher in CSC111H1 (Please note: The minimum prerequisite grade in CSC148H1 is lower than the minimum grade for program admission in Computer Science. If you take this course when your grade in CSC148H1 is lower than the requirement for program admission, you will be unable to enrol in a Computer Science program. If you hope to enrol in a Computer Science program in future, please ensure that you satisfy the program admission grade requirements in CSC148H1 before completing CSC207H1.)

Distribution Requirements: 
Breadth Requirements: 
The Physical and Mathematical Universes (5)