Subject: Computer Science
Credit units: 3
Offered: Either Term 1 or Term 2
Weekly hours: 1.5 Lecture hours and 1.5 Practicum/Lab hours
College: Arts and Science
Department: Computer Science


Introduces computer science principles and strategies for writing correct, efficient, robust, maintainable software. Presents principles and implementations of linear data structures including stacks, queues, and linked-lists, as well as recursive data structures including binary trees, and binary search trees. Introduces algorithm analysis to determine time and space requirements, including best-case and worst-case behaviour. Presents abstract data types as implemented using object-oriented programming. Emphasizes principles of software design, development, and testing, and practical development strategies, including defensive programming, version control, and good coding style.

Restriction(s): Restricted to students in the College of Engineering.
Prerequisite(s): One of CMPT 141.3 or CMPT 142.3
Note: Students with credit for CMPT 145 may not receive credit for this course.

Upcoming class offerings

For full details about upcoming courses, refer to the class search tool or, if you are a current student, the registration channel in PAWS.


The syllabus is a public document that provides detail about a class, such as the schedule of activities, learning outcomes, and weighting of assignments and examinations.

Once an instructor has made their syllabus publicly available on USask’s Learning Management System, it will appear below. Please note that the examples provided below do not represent a complete set of current or previous syllabus material. Rather, they are presented solely for the purpose of indicating what may be required for a given class. Unless otherwise specifically stated on the content, the copyright for all materials in each course belongs to the instructor whose name is associated with that course. The syllabus is the intellectual property of instructors or the university.

For more information, visit the Academic Courses Policy , the Syllabus page for instructors , or for students your Academic Advising office.