← Back to Book Detail

Computer Science: Provincial Level (18/30) -- A Guide to Upgrading in British Columbia...

Browse
60%

Computer Science: Provincial Level

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 - User defined functions - Classes - Scope - Inheritance - Polymorphism - design the structure of each module, documenting it in structured English (using a method such as pseudo-code or top-down charts) and describing 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 - test, debug and modify program code until error free - document the solution, both internally and externally; and - identify the differences between source code and machine code Given the solution to a computer programming problem, the student shall: - identify the time complexity of an algorithm using big O notation; - add features and fix bugs as requested by mock users - use version control software; and - discuss code with partners using pair-programming techniques Elements of a programming language Using a high-level programming language to create programs (such as command-line games and apps, simple graphics, and GUI elements), the student shall demonstrate knowledge of the following program elements: - data types (including Integer, Real, Boolean, Character and String) and their representation as bits and bytes, conversion between data types, addressing of arrays - meaningful identifier names for constants, variables, procedures (or subroutines) and programs input and output statements - arithmetic expressions and operators, including parentheses - string and character manipulation and processing, including use of substrings, concatenation, and other language-specific program features, and built-in functions and constants - conditional expressions including use of relational operators, logical operators, Boolean variables, and nested conditional statements - iteration structures, definite (e.g. For…Do) vs. indefinite loops, and nested loops. - one-dimensional and two-dimensional arrays
← Previous Chapter Next Chapter →