Computer Science I
Provides more in-depth programming, including software engineering topics such as unit testing and the use of version control. Basic data structures covered include arrays, lists, sets, maps. Basic algorithm efficiency concepts are covered along with simple searching and sorting. Other techniques such as graphical user interface programming, exceptions, recursion, designing classes (no inheritance), file input/output are covered. Design techniques such as encapsulation and UML diagramming are covered. Prerequisite: CPSC 100.