Rob Hackman

Assistant Lecturer, Faculty of Science - Computing Science
Directory

Fall Term 2025 (1930)

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 (51634)

2025-09-02 - 2025-12-08
MWF 14:00 - 14:50



CMPUT 274 - Introduction to Tangible Computing I

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

This is part 1 of a 2 sequence 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. Prerequisites: Math 30 or 31. 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 CMPUT 274 if one already has credit for any of CMPUT 174, 175, or 201, except with permission of the Department.

LAB/LECTURE A1 (51838)

2025-09-02 - 2025-12-08
TR 08:00 - 10:50

LAB/LECTURE EA1 (51839)

2025-09-02 - 2025-12-08
TR 08:00 - 10:50

Winter Term 2026 (1940)

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 B2 (85543)

2026-01-05 - 2026-04-10
MWF 14:00 - 14:50



CMPUT 275 - Introduction to Tangible Computing II

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

This is part 2 of a 2 sequence 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; client-server style computing; 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 CMPUT 275 if one already has credit for any of CMPUT 174, 175, or 201, except with permission of the Department.

LAB/LECTURE B1 (83131)

2026-01-05 - 2026-04-10
TR 08:00 - 10:50

LAB/LECTURE EB1 (83132)

2026-01-05 - 2026-04-10
TR 08:00 - 10:50