Computer Science (CPSC)
This is a list of the Computer Science (CPSC) courses available at KPU.
For information about transfer of credit amongst institutions in B.C. and to see how individual courses transfer, go to the BC Transfer Guide bctransferguide.ca
Introduction to Computer Literacy
Students will learn concepts and trends in computer science. Students will gain an understanding of the terminology, current issues and changes in the technology of computing. Students will learn to use major application packages, such as word processing, spreadsheet and relational database. Students will develop structured programs using Visual Basic for Applications. Students will also examine social and ethical issues in computing.
Principles of Program Structure and Design I
Students will learn fundamental programming concepts using the C++ programming language. Principles of problem solving and algorithm design will be introduced as well as basic techniques for data representation and manipulation. Students will learn how to design, develop, test and document well-structured programs.
Prerequisites: Level B1 as defined in the Math Alternatives Table
Principles of Program Structure and Design II
Students will learn fundamental programming design and implementation concepts in the context of object-oriented programming. Students will review elementary concepts and learn more advanced concepts such as: data structures, objects, object interaction, inheritance, polymorphism, interface, abstract classes, and exception handling. Students will also be introduced to concepts and design principles of event-driven programming and graphical user interfaces. Students will learn methods for good analysis, design and style.
Prerequisites: CPSC 1103 or INFO 1112
Introduction to Computer Design
Students will study the fundamental principles of computer processing hardware, including digital logic circuit design, data representation, memory structure and organization, and program execution. They will also learn to design and implement assembly language programs.
Prerequisites: CPSC 1103
Data Structures and Algorithms
Students will learn fundamental tools of data and program organization including object-oriented programming, algorithms, data abstraction and data structures.They will learn to implement and to use data structures such Lists, Stacks, Queues, Trees, Hash Tables, and Graphs. Students will learn algorithms for tasks including searching and sorting. They will learn to use mathematical tools for analyzing algorithm efficiency.
Prerequisites: CPSC 1204 or INFO 2313
Introduction to Discrete Mathematics I
This course introduces students to applications of discrete mathematics in computing science. Mathematical concepts such as set theory, logic, formal reasoning, induction, counting, relations and functions, formal languages, automata theory and graph theory are the main focus.
Prerequisites: CPSC 1103 or (B in Computer Science 12 and C+ in Math 12)
Students will learn computer simulation and modeling techniques. They will learn simulation methodologies and techniques for random number and stochastic variate generation. They will also learn simulation design, analysis and estimation based on endogenously created data, simulation model validation and variance reduction. Students will implement simulation models for real-life applications using a computer programming language.
Prerequisites: (CPSC 2302 or INFO 2315) and MATH 2315