University of British Columbia Bachelor of Computer Science

Fall Semester 2014

CPSC 110 – Computation, Programs, and Programming

Fundamental program and computation structures. Introductory programming skills. Computation as a tool for information processing, simulation and modeling, and interacting with the world.

CPSC 121 – Models of Computation

Physical and mathematical structures of computation. Boolean algebra and combinations logic circuits; proof techniques; functions and sequential circuits; sets and relations; finite state machines; sequential instruction execution.

COMM 280 – Entrepreneurship

Entrepreneurial essentials from creating viable opportunities through building a founding team, strategic planning, going to market, fleshing out an organization and planning the future of the business.

COGS 200 – Introduction to Cognitive Systems

Interdisciplinary examination of human mental processes and how these are mediated by the brain. Will draw on cognitive psychology, linguistics, cognitive neuroscience, philosophy, artificial intelligence.

Spring Semester 2015

CPSC 189 – Systematic Program Design in Python

Systematic design of small programs using the Python programming language.

CPSC 210 – Software Construction

Design, development, and analysis of robust software components. Topics such as software design, computational models, data structures, debugging, and testing.

Summer Semester 2015

CPSC 221 – Basic Algorithms and Data Structures

Design and analysis of basic algorithms and data structures; algorithm analysis methods, searching and sorting algorithms, basic data structures, graphs and concurrency.