COVID-19 information and resources
Douglas College wordmark
Facebook logo Twitter logo Instagram logo Snapchat logo YouTube logo Wordpress logo
back to search

Programming Techniques

Course Code: CSIS 2375
Faculty: Commerce & Business Administration
Credits: 3.0
Semester: 15 Weeks X 4 Hours per Week = 60 Hours
Learning Format: Lecture, Lab, Seminar
Typically Offered: TBD. Contact Department Chair for more info.
course overview

Beginning with the syntax of the C++ language, the course proceeds to designing and implementing applications from a variety of disciplines using diverse programming techniques. Application areas may include selections from business data processing, operating systems, networking, simulation, graphics, language analysis, and artificial intelligence techniques as used in such areas as expert systems and gaming. A variety of design and programming methodologies will be used such as object-oriented, procedural, functional, and data-driven.

Course Content

  1. Introduction to C++ using Procedural Programming and Structured (top-down) Design
    • Primitive data types, operators, and expressions
    • Control structures
      • Conditional
      • Repetition
      • User defined functions and procedures
        • Parameter passing by value and by reference
        • System stack, scope, and lifetime of variables
        • Function overloading
  2. Dynamically allocated structures
    • Recursion and Functional Programming
    • Linked lists (using SExprs)
    • Recursion
    • Trees (using SExprs)
    • Searching (SExprs and state spaces)
      • Depth-first search
      • Breadth first search
  3. Table and Data Driven Programming
    • Finite State Machines
    • Table-driven methods for implementing finite state machines
  4. Object Oriented Design and Programming
    • Object oriented concepts - classes
    • Class relationships: composition and inheritance
    • Polymorphism

Methods of Instruction

  • Lecture
  • Seminar
  • Laboratory assignments
  • Reading
  • Research

Means of Assessment

Attendance and Participation    0% - 5%
Assignments (Minimum: 4)   40% - 50%
Tests (Minimum: 1) 15% - 50%
Final Examination 25% - 40%
Total         100%

Learning Outcomes

The student will be able to:

  1. analyze a well defined problem and design a program, using a top-down structured methodology or object-oriented design methodology;
  2. implement, using industry accepted styles, intermediate C++ applications from a design using a procedural, functional, table-driven, or object-oriented programming methodology as appropriate;
  3. modify large programs generated or written by another source;
  4. effectively describe and document a project including the design and the data and control structures of the program.

course prerequisites

CSIS1275 or CISY1275 or CMPT1110

curriculum guidelines

Course Guidelines for previous years are viewable by selecting the version desired. If you took this course and do not see a listing for the starting semester/year of the course, consider the previous version as the applicable version.

course schedule and availability
course transferability

Below shows how this course and its credits transfer within the BC transfer system. 

A course is considered university-transferable (UT) if it transfers to at least one of the five research universities in British Columbia: University of British Columbia; University of British Columbia-Okanagan; Simon Fraser University; University of Victoria; and the University of Northern British Columbia.

For more information on transfer visit the BC Transfer Guide and BCCAT websites.


If your course prerequisites indicate that you need an assessment, please see our Assessment page for more information.