CMPUT 274 - Intro to Tangible Computing 1 *3 (fi 6) (3-3-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), and reactive interfacing with the world are learned by solving a series of problems using the Arduino platform and C/C++. The use of a resource-limited processor with no operating system opens up the inner workings of computing. Development is done using the Linux operating system with the exposed compiler tool chain.
Pre-requisites: No specific programming experience or discrete-math background is assumed. Math 30 or 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.
CMPUT 275 - Intro to Tangible Computing 2 *3 (fi 6) (3-3-0) This is part 2 of a 2 sequence intensive introduction to Computing Science. Part 2 expands to add object-oriented programming, a higher level language (Python), and more complex algorithms and data structures such as shortest paths in graphs; caching, memoization, and dynamic programming; client-server style computing; recursion; and limited distributed of computation tasks between the Arduino platform and the traditional desktop in order to explore design tradeoffs.
Pre-requisite: 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.
![]() ![]() ![]() ![]() ![]() ![]() |
2. The Course, aka CMPUT 296/297, CMPUT 114/115 Tangible Computing / Version 3.20 2013-03-25 |