Computer Science: Provincial Level


Goal Statement

The goals for the provincial level Computer Science course are:

  • to develop problem solving skills whereby the student is able to analyze a problem, devise an algorithm or process to solve the problem, use this process to write a computer implementation of the solution and to test the solution;
  • to adequately prepare students for a career or program of studies where logical thought and structured design processes are required.
Core Topics
Software Engineering (Problem Analysis and Design of Solution)

Given a problem suitable for a computer programming solution, the student shall:

  • analyze the problem so that it is clearly understood;
  • identify the inputs, outputs and appropriate data structures;
  • break down the solution of the problem into component modules;
  • design the structure of each module, documenting it in structured English, using a method such as pseudo-code or top-down charts. It shall describe in detail all inputs, processes or algorithms used and format of outputs;
  • design an appropriate user interface;
  • produce computer source code as a software design implementation. A structured high-level language will be used. Differences between source code and machine code will be understood;
  • test, debug and modify program code until error free;
  • document the solution, both internally and externally.
Elements of a programming language

The student shall demonstrate knowledge of the following program elements through use of a high level programming language. Please note that any high level Programming Language (e.g. Java, Visual Basic, C++, Pascal, PHP) may be used.

  • data types (including Integer, Real, Boolean, Character and String) and their representation as bits and bytes;
  • meaningful identifier names for constants, variables, procedures (or subroutines) and programs;
  • the process of breaking down a computer program into a series of subprograms directly corresponding to the modules identified in the software design. The subprograms shall be written as procedures, functions, subroutines and the like;
  • the advantages and disadvantages of, and differences between global variables, local variables and parameters. The scope of variables and the occurrence of side effects shall be explained;
  • input and output statements shall access the keyboard, printer, disk and disk files while output devices are the monitor, printer and disk files;
  • arithmetic expressions using the addition (+), subtraction ( -), multiplication (*), and division (/, DIV and MOD) operators as applied to real and/or integer operands. Includes order of operation (including use of parentheses) string and character manipulation and processing. Use of substrings, concatenation and other language-specific program features; built-in and programmer-defined functions and constants. Existence of the built- in PI constant;
  • conditional expressions used to alter program flow. (e.g. If…Then…Else or case structures). Included in this is use of the relational operators (=, < >, >, <, >=, and <=) the logical operators AND, OR, NOT) and Boolean variables (True/False) and nested conditional statements (e.g. If…Then…Else…If…Then)
  • iteration structures (e.g. For…Do, While…Do and Repeat…Until). Definite (e.g. For…Do) vs. Indefinite (e.g. While…Do and Repeat…Until) loops. Nested loops. Avoidance of infinite loops;
  • one-dimensional arrays.

License

Icon for the Creative Commons Attribution 4.0 International License

A Guide to Upgrading in British Columbia’s Public Post-Secondary Institutions Copyright © 2023 by Shantel Ivits and Stephanie Boychuk is licensed under a Creative Commons Attribution 4.0 International License, except where otherwise noted.