{"id":325,"date":"2023-07-16T18:15:43","date_gmt":"2023-07-16T22:15:43","guid":{"rendered":"https:\/\/pressbooks.bccampus.ca\/abehandbook\/chapter\/computer-science-provincial-level-2\/"},"modified":"2024-06-04T16:21:38","modified_gmt":"2024-06-04T20:21:38","slug":"computer-science-provincial-level-2","status":"publish","type":"chapter","link":"https:\/\/pressbooks.bccampus.ca\/abehandbook\/chapter\/computer-science-provincial-level-2\/","title":{"raw":"Computer Science: Provincial Level","rendered":"Computer Science: Provincial Level"},"content":{"raw":"<h3>Computer Science: Provincial Level<\/h3>\r\n\r\n<hr \/>\r\n\r\n<h5>Goal Statement<\/h5>\r\nThe goals for the provincial level Computer Science course are:\r\n<ul>\r\n \t<li>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<\/li>\r\n \t<li>to adequately prepare students for a career or program of studies where logical thought and structured design processes are required.<\/li>\r\n<\/ul>\r\n<h5>Core Topics<\/h5>\r\n<h6>Software Engineering (Problem Analysis and Design of Solution)<\/h6>\r\nGiven a problem suitable for a computer programming solution, the student shall:\r\n<ul>\r\n \t<li>analyze the problem so that it is clearly understood<\/li>\r\n \t<li>identify the inputs, outputs and appropriate data structures<\/li>\r\n \t<li>break down the solution of the problem into component modules\r\n<ul>\r\n \t<li>User defined functions<\/li>\r\n \t<li>Classes<\/li>\r\n \t<li>Scope<\/li>\r\n \t<li>Inheritance<\/li>\r\n \t<li>Polymorphism<\/li>\r\n<\/ul>\r\n<\/li>\r\n \t<li>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<\/li>\r\n \t<li>design an appropriate user interface<\/li>\r\n \t<li>produce computer source code as a software design implementation<\/li>\r\n \t<li>test, debug and modify program code until error free<\/li>\r\n \t<li>document the solution, both internally and externally; and<\/li>\r\n \t<li>\u00a0identify the differences between source code and machine code<\/li>\r\n<\/ul>\r\nGiven the solution to a computer programming problem, the student shall:\r\n<ul>\r\n \t<li>identify the time complexity of an algorithm using big O notation;<\/li>\r\n \t<li>add features and fix bugs as requested by mock users<\/li>\r\n \t<li>use version control software; and<\/li>\r\n \t<li>discuss code with partners using pair-programming techniques<\/li>\r\n<\/ul>\r\n<h6>Elements of a programming language<\/h6>\r\nUsing 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:\r\n<ul>\r\n \t<li>data types (including Integer, Real, Boolean, Character and String) and their representation as bits and bytes, conversion between data types, addressing of arrays<\/li>\r\n \t<li>meaningful identifier names for constants, variables, procedures (or subroutines) and programs input and output statements<\/li>\r\n \t<li>arithmetic expressions and operators, including parentheses<\/li>\r\n \t<li>string and character manipulation and processing, including use of substrings, concatenation, and other language-specific program features, and built-in functions and constants<\/li>\r\n \t<li>conditional expressions including use of relational operators, logical operators, Boolean variables, and nested conditional statements<\/li>\r\n \t<li>iteration structures, definite (e.g. For\u2026Do) vs. indefinite loops, and nested loops.<\/li>\r\n \t<li>one-dimensional and two-dimensional arrays<\/li>\r\n<\/ul>","rendered":"<h3>Computer Science: Provincial Level<\/h3>\n<hr \/>\n<h5>Goal Statement<\/h5>\n<p>The goals for the provincial level Computer Science course are:<\/p>\n<ul>\n<li>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<\/li>\n<li>to adequately prepare students for a career or program of studies where logical thought and structured design processes are required.<\/li>\n<\/ul>\n<h5>Core Topics<\/h5>\n<h6>Software Engineering (Problem Analysis and Design of Solution)<\/h6>\n<p>Given a problem suitable for a computer programming solution, the student shall:<\/p>\n<ul>\n<li>analyze the problem so that it is clearly understood<\/li>\n<li>identify the inputs, outputs and appropriate data structures<\/li>\n<li>break down the solution of the problem into component modules\n<ul>\n<li>User defined functions<\/li>\n<li>Classes<\/li>\n<li>Scope<\/li>\n<li>Inheritance<\/li>\n<li>Polymorphism<\/li>\n<\/ul>\n<\/li>\n<li>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<\/li>\n<li>design an appropriate user interface<\/li>\n<li>produce computer source code as a software design implementation<\/li>\n<li>test, debug and modify program code until error free<\/li>\n<li>document the solution, both internally and externally; and<\/li>\n<li>\u00a0identify the differences between source code and machine code<\/li>\n<\/ul>\n<p>Given the solution to a computer programming problem, the student shall:<\/p>\n<ul>\n<li>identify the time complexity of an algorithm using big O notation;<\/li>\n<li>add features and fix bugs as requested by mock users<\/li>\n<li>use version control software; and<\/li>\n<li>discuss code with partners using pair-programming techniques<\/li>\n<\/ul>\n<h6>Elements of a programming language<\/h6>\n<p>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:<\/p>\n<ul>\n<li>data types (including Integer, Real, Boolean, Character and String) and their representation as bits and bytes, conversion between data types, addressing of arrays<\/li>\n<li>meaningful identifier names for constants, variables, procedures (or subroutines) and programs input and output statements<\/li>\n<li>arithmetic expressions and operators, including parentheses<\/li>\n<li>string and character manipulation and processing, including use of substrings, concatenation, and other language-specific program features, and built-in functions and constants<\/li>\n<li>conditional expressions including use of relational operators, logical operators, Boolean variables, and nested conditional statements<\/li>\n<li>iteration structures, definite (e.g. For\u2026Do) vs. indefinite loops, and nested loops.<\/li>\n<li>one-dimensional and two-dimensional arrays<\/li>\n<\/ul>\n","protected":false},"author":1935,"menu_order":5,"template":"","meta":{"pb_show_title":"","pb_short_title":"","pb_subtitle":"","pb_authors":[],"pb_section_license":""},"chapter-type":[],"contributor":[],"license":[],"class_list":["post-325","chapter","type-chapter","status-publish","hentry"],"part":320,"_links":{"self":[{"href":"https:\/\/pressbooks.bccampus.ca\/abehandbook\/wp-json\/pressbooks\/v2\/chapters\/325","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pressbooks.bccampus.ca\/abehandbook\/wp-json\/pressbooks\/v2\/chapters"}],"about":[{"href":"https:\/\/pressbooks.bccampus.ca\/abehandbook\/wp-json\/wp\/v2\/types\/chapter"}],"author":[{"embeddable":true,"href":"https:\/\/pressbooks.bccampus.ca\/abehandbook\/wp-json\/wp\/v2\/users\/1935"}],"version-history":[{"count":2,"href":"https:\/\/pressbooks.bccampus.ca\/abehandbook\/wp-json\/pressbooks\/v2\/chapters\/325\/revisions"}],"predecessor-version":[{"id":431,"href":"https:\/\/pressbooks.bccampus.ca\/abehandbook\/wp-json\/pressbooks\/v2\/chapters\/325\/revisions\/431"}],"part":[{"href":"https:\/\/pressbooks.bccampus.ca\/abehandbook\/wp-json\/pressbooks\/v2\/parts\/320"}],"metadata":[{"href":"https:\/\/pressbooks.bccampus.ca\/abehandbook\/wp-json\/pressbooks\/v2\/chapters\/325\/metadata\/"}],"wp:attachment":[{"href":"https:\/\/pressbooks.bccampus.ca\/abehandbook\/wp-json\/wp\/v2\/media?parent=325"}],"wp:term":[{"taxonomy":"chapter-type","embeddable":true,"href":"https:\/\/pressbooks.bccampus.ca\/abehandbook\/wp-json\/pressbooks\/v2\/chapter-type?post=325"},{"taxonomy":"contributor","embeddable":true,"href":"https:\/\/pressbooks.bccampus.ca\/abehandbook\/wp-json\/wp\/v2\/contributor?post=325"},{"taxonomy":"license","embeddable":true,"href":"https:\/\/pressbooks.bccampus.ca\/abehandbook\/wp-json\/wp\/v2\/license?post=325"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}