Skip to main content

UBC

Software Construction


About This Course

Many software systems are amongst the most complex systems ever built by humans: telephone systems, flight control systems, internet search engines, social networking sites and much more.

Two fundamental concepts central to supporting the construction and evolution of software systems are abstraction and decomposition. Building on the introduction to these concepts in CPSC 110, this course will explain how these concepts manifest over and over again in different forms when building larger and larger systems.

The goals of this course are to provide students with the ability to recognize, analyze and use abstraction and decomposition to construct software systems that solve real problems. This course will use the Java programming language and will provide students the opportunity to learn practical design and programming skills.

The course is designed to be accessible and useful to a wide range of students. CPSC 110 is a pre-requisite.

Prerequisites

CPSC 110

Course Staff

Jessica Wong

Paul Carter

Frequently Asked Questions

Do I need to buy a textbook?

No. However, a list of optional resources is available on the Logistics page of the course content.

Enroll