Search AC Website

Top Links
Semester Schedule myAC Student Portal Subject Areas Library
A laptop with a coding program open

Computer Science

A major focus of the courses is on the development of skills in computational thinking and programming through practice, critical thinking, and innovation.

Course Descriptions

Select a course below to see full descriptions. (#) Indicates amount of credits per course.

An introduction to elementary concepts in Computer Science and Information Technology. Topics include the history of computing, the basic structure of a digital computer system (hardware and software), networks, programming, internet, world-wide-web (WWW), and the social impacts of computer technology. This course is suitable for students with little or no programming background.

Prerequisite(s):

ENGL 088 (formerly EASL 089, ENGL 097), MATH 12 is recommended

Transfer to:

SFU CMPT 1XX (3), B-Sci
UVIC CSC 100 (1.5)
UNBC CPSC 1XX (3)
TRU COMP 1000 (3)

Basic programming constructs, data types, classes, interfaces, protocols, and the design of programs as interacting software components.

Prerequisite(s):

ENGL 088 (formerly EASL 089, ENGL 097), MATH 12 (C) or MATH 099 (C) or MATH 100

Transfer to:

UBC CPSC 1st (4)
SFU CMPT 120 (3), Q/B-Sci
UVIC CSC 110 (1.5)
UNBC CPSC 110 (3), CPSC majors see Academic Advisor
TRU COMP 1110 (3)

This course is intended for students who plan to major in Computer Science and offers an advanced introduction to programming. It focuses on data abstraction and object-oriented programming

Prerequisite(s):

ENGL 098, CPSC 111

Transfer to:

UBC CPSC 1st (4), Exempt UBC CPSC 260
SFU CMPT 125 (3), Q & SFU CMPT 127 (0), Exemption & SFU CMPT 128 (0), Exemption
UVIC CSC 115 (1.5)
UNBC CPSC 101 (4)
TRU COMP 1230 (3)

Offers an intensive introduction to discrete mathematics as it is used in computer science. Topics include functions, relations, sets, propositional and predicate logic, simple circuit logic, proof techniques, elementary combinatorics, and discrete probability.

Prerequisite(s):

ENGL 088 (formerly EASL 089, ENGL 097), MATH 12 (C) or MATH 100 (C)

Preclusion:

Students with credit for MATH 115 may not take CPSC 115 for further credit.

Transfer to:

UBC CPSC 1st (3), Exempt UBC CPSC 121; ALEX CPSC 115 (3) & ALEX CPSC 150 (3) = UBC CPSC 121 (4) & UBC CPSC 1st (2)
SFU MACM 101 (3), Q/B-Sci
UVIC MATH 122 (1.5)
UNBC CPSC 141 (3)
TRU COMP 1380 (3)

This course introduces the internal operation of computer systems. Topics include: Boolean algebra and combinational and sequential logic design, basic computer system organization, processor, memory, and input/output, information representation: number systems, integer floating point representation and character encoding, and an introduction to assembly language programming.

Prerequisite(s):

ENGL 098, CPSC 111 (CPSC 115/MATH 115 is strongly recommended)

Transfer to:

UBC CPSC 1st (3); ALEX CPSC 115 (3) & ALEX CPSC 150 (3) = UBC CPSC 121 (4) & UBC CPSC 1st (2)
SFU CMPT 1XX (3)
UVIC CSC 1XX (1.5)
TRU COMP 1XXX (3)

This course introduces students to basic planning and designing of effective web pages; implementing web pages using HTML (Hypertext Markup Language) and CSS (Cascading Style Sheets); enhancing web pages with the use of page layout techniques, text formatting, graphics, images, and multimedia; and producing a functional, multi-page website. It does not require nor expect any prior knowledge of HTML or Web design.

Prerequisite(s):

ENGL 088 (formerly EASL 089, ENGL 097)

Transfer to:

SFU CMPT 165 (3), B-Sci
UVIC CSC 1XX (1.5)
UNBC CPSC 1XX (3)
TRU COMP 2680 (3)

This course is a continuation of CPSC 115 – Discrete Structures. It covers widely applicable mathematical tools for computer science. Topics include: inclusion-exclusion, generating functions, recurrence relations, graphs and trees, cycles and paths, shortest-path algorithms, minimal spanning trees, tree transversal and applications of trees and graphs.

Prerequisite(s):

ENGL 098, CPSC 115 or MATH 115

Transfer to:

UBC CPSC 2nd (3); ALEX CPSC 215 (3) & ALEX CPSC 225 (4) = UBC CPSC 221 (4) & UBC CPSC 2nd (3) SFU MACM 201 (3),Q UVIC MATH 222 (1.5) UNBC CPSC 242 (3) TRU MATH 1700 (3)

This course is intended for students who plan to major in Computer Science, Computer Information Systems, Engineering, or any Management and Systems Science (MSSC) majors. It introduces computer program design and development with a primary focus on analysis and design of a variety of fundamental data structures and abstraction using a popular object oriented programming language. Particular emphasis is given to fundamental computing algorithms for searching, sorting, hashing, and string processing; elementary abstract data types including lists, stacks, queues, heaps, sets, and trees; and time and space efficiency analysis.

Prerequisite(s):

ENGL 098, CPSC 112, CPSC 115 or MATH 115

Transfer to:

UBC CPSC 2nd (4), Exempt UBC CPSC 221; ALEX CPSC 215 (3) & ALEX CPSC 225 (4) = UBC CPSC 221 (4) & UBC CPSC 2nd (3)
SFU CMPT 225 (3), Q
UVIC CSC 115 (1.5)
UNBC CPSC 281 (3)
TRU COMP 2230 (3)

This course introduces the fundamental computer organization and instruction set architecture concepts. Particular emphasis is given to the organization and design of the major components of modern digital computers. Topics include: processor organization, control logic design, pipelining, memory hierarchy, input/output control and devices, instruction set design, and architectural support for operating systems and programming languages. A hardware description language will be used as a tool to express and work with design concepts.

Prerequisite(s):

ENGL 098, CPSC 150

Preclusion(s):

CPSC 295

Transfer to:

UBC CPSC 2nd (3)
SFU CMPT 2XX (3), Q
UVIC CSC 230 (1.5)
UNBC CPSC 231 (3)
TRU COMP 1XXX (3)

This course covers the theory and major processes of software development and project management. Topics include requirements analysis, software design, implementation, testing, maintenance, and ethics as related to software. Students will gain practical experience with software development tools and working in a team with other students to create applications.

Prerequisite(s):

ENGL 099, CPSC 225, CPSC 115 or MATH 115, MATH 151 or MATH 104 (B)

Transfer to:

UBC CPSC 310 (4)
SFU CMPT 276 (3)
UNBC CPSC 300 (3)
UVIC SENG 2XX (1.5)
TRU ENGR 1XXX (3)

This course introduces the fundamental computer organization and instruction set architecture concepts. Particular emphasis is given to the organization and design of the major components of modern digital computers. Topics include: processor organization, control logic design, pipelining, memory hierarchy, input/output control and devices, instruction set design, and architectural support for operating systems and programming languages. A hardware description language will be used as a tool to express and work with design concepts.

Prerequisite(s):

ENGL 099, MATH 115 or CPSC 115, CPSC 111, CPSC 112

Preclusion(s):

CPSC 250

Transfer to:

UBC CPSC 2nd (3)
SFU CMPT 295 (3)
UVIC CSC 2XX (1.5)
UNBC CPSC 1XX (3), Waive UNBC CPSC 231 (4)
TRU COMP 2130 (3)

Faculty

Learning Methods

All components of every Computer Science design have some active learning strategies incorporated into them such as think-pair share, debate, programming or research projects, and multimedia presentations.

Career Outlook

Alexander College introduces Computer Science courses for students who are looking to enhance their skills with technology, from the basics of computers, to the skills and knowledge required to become a Software developer.

Resources

Computational thinking (CT) is a problem solving process that includes a number of characteristics, such as logically ordering and analyzing data and creating solutions using a series of ordered steps (or algorithms), and dispositions, such as the ability to confidently deal with complexity and open-ended problems.

Exploring Computational Thinking (ECT)

Established in 1978, the Canadian Association of Journalists is a corporation that promotes and recognizes excellence in Canadian journalism and supports the public’s right to information. caj.ca

Free online books for all subjects. open.umn.edu

By Hal Abelson, Ken Ledeen, and Harry Lewis bitsbook.com

Different representation of numbers such as decimal, binary, octal, and hexadecimal Number Systems

Tomorrow’s Technology and You, 10/edition pearson.com

Using Information Technology – A Practical Introduction to Computers and Communications, 5/edition mheducation.ca

Please note that the activities at the site are designed for all ages, but the content is solid computer science content that relates to what you will be learning. code.org

Alexander College acknowledges that the land on which we usually gather is the traditional, ancestral and unceded territory of the Coast Salish peoples, including the territories of the xʷməθkwəy̓əm (Musqueam), Skwxwú7mesh (Squamish), and Səl̓ílwətaʔ/Selilwitulh (Tsleil-Waututh) Nations. We are grateful to have the opportunity to work in this territory.

Alexander College acknowledges that the land on which we usually gather is the traditional, ancestral and unceded territory of the Coast Salish peoples, including the territories of the xʷməθkwəy̓əm (Musqueam), Skwxwú7mesh (Squamish), and Səl̓ílwətaʔ/Selilwitulh (Tsleil-Waututh) Nations. We are grateful to have the opportunity to work in this territory.