Rob Hackman

Assistant Lecturer, Faculty of Science - Computing Science
Directory

Fall Term 2026 (1970)

CMPUT 229 - Computer Organization and Architecture I

3 units (fi 6)(EITHER, 3-0-3)

Number representation, computer architecture and organization, instruction-set architecture, assembly-level programming, procedures, stack frames, memory access through pointers, exception handling, computer arithmetic, floating-point representation, datapath, control logic, pipelining, memory hierarchy, virtual memory. Prerequisite: CMPUT 201 or 275. Credit may be obtained in only one of CMPUT 229, E E 380 or ECE 212.

LECTURE A1 (51547)

2026-09-01 - 2026-12-08
MWF 14:00 - 14:50



CMPUT 274 - Accelerated Introduction to the Foundations of Computation I

3 units (fi 6)(EITHER, 0-6L-0)

This is part 1 of an intensive problem-based introduction to Computing Science. In part 1, the key concepts of procedural programming, basic algorithm design and analysis (lists, queues, trees, sorting, searching) are learned by solving a series of problems using Python. Development is done using the Linux operating system. Prerequisite: Math 30-1. Note: this course is taught in studio-style, where lectures and labs are blended into 3 hour sessions, twice a week. Enrollment is limited by the capacity of the combined lecture/lab facilities. Python or prior computing background is strongly recommended. Credit cannot be obtained for both CMPUT 174 and CMPUT 274. Credit cannot be obtained for both CMPUT 175 and CMPUT 274.

LAB/LECTURE A1 (51746)

2026-09-01 - 2026-12-08
TR 08:00 - 10:50

LAB/LECTURE EA1 (51747)

2026-09-01 - 2026-12-08
TR 08:00 - 10:50

Winter Term 2027 (1980)

CMPUT 275 - Accelerated Introduction to the Foundations of Computation II

3 units (fi 6)(EITHER, 0-6L-0)

This is part 2 of an intensive introduction to Computing Science. Part 2 expands to add object-oriented programming, with C++, and more complex algorithms and data structures such as shortest paths in graphs; divide and conquer and dynamic programming; and recursion. Prerequisite: CMPUT 274. Note: this course is taught in studio-style, where lectures and labs are blended into 3 hour sessions, twice a week. Enrollment is limited by the capacity of the combined lecture/lab facilities. Credit cannot be obtained for both CMPUT 175 and CMPUT 275. Credit cannot be obtained for both CMPUT 201 and CMPUT 275.

LAB/LECTURE B1 (77812)

2027-01-04 - 2027-04-09
TR 08:00 - 10:50

LAB/LECTURE EB1 (77813)

2027-01-04 - 2027-04-09
TR 08:00 - 10:50