0% found this document useful (0 votes)
60 views8 pages

ICS4U Curriculum

The Grade 12 University Preparation Computer Science course (ICS4U) focuses on advanced programming skills, software development, and ethical issues in computing. Students will engage in team projects, apply modular design principles, analyze algorithms, and explore the impact of emerging technologies. Prerequisite for this course is the Introduction to Computer Science, Grade 11, University Preparation.

Uploaded by

renzhuxie.ib
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
60 views8 pages

ICS4U Curriculum

The Grade 12 University Preparation Computer Science course (ICS4U) focuses on advanced programming skills, software development, and ethical issues in computing. Students will engage in team projects, apply modular design principles, analyze algorithms, and explore the impact of emerging technologies. Prerequisite for this course is the Introduction to Computer Science, Grade 11, University Preparation.

Uploaded by

renzhuxie.ib
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Computer Science,

Grade 12
University Preparation ICS4U

This course enables students to further develop knowledge and skills in computer
science. Students will use modular design principles to create complex and fully docu-
mented programs, according to industry standards. Student teams will manage a large
software development project, from planning through to project review. Students will
also analyse algorithms for effectiveness. They will investigate ethical issues in comput-
ing and further explore environmental issues, emerging technologies, areas of research
in computer science, and careers in the field.

Prerequisite: Introduction to Computer Science, Grade 11, University Preparation

55
A. Programming Concepts
and Skills

Overall Expectations
By the end of this course, students will:

A1. demonstrate the ability to use different data types and expressions when creating computer programs;
A2. describe and use modular programming concepts and principles in the creation of
computer programs;
A3. design and write algorithms and subprograms to solve a variety of problems;
A4. use proper code maintenance techniques when creating computer programs.

SPECIFIC Expectations
A1. Data Types and Expressions A2.3 demonstrate the ability to modify existing
modular program code to enhance the function-
By the end of this course, students will: ality of a program.
A1.1 demonstrate the ability to use integer division
and resultant remainders in computer programs; A3. Designing Algorithms
A1.2 demonstrate an understanding of type con- By the end of this course, students will:
version (e.g., string-to-integer, character-to-
integer, integer-to-character, floating point-to- A3.1 demonstrate the ability to read from, and write
integer, casting in an inheritance hierarchy); to, an external file (e.g., text file, binary file, data-
base, XML file) from within a computer program;
A1.3 demonstrate the ability to use non-numeric
comparisons (e.g., strings, comparable interface) A3.2 create linear and binary search algorithms to
in computer programs; find data in an array;

A1.4 demonstrate an understanding of the limita- A3.3 create subprograms to insert and delete array
tions of finite data representations (e.g., integer elements;
the ontario curriculum, Grades 10 –12 | Computer Studies

bounds, precision of floating-point real numbers,


A3.4 create a sort algorithm (e.g., bubble, insertion,
rounding errors) when designing algorithms;
selection) to sort data in an array;
A1.5 describe and use one-dimensional arrays of
A3.5 create algorithms to process elements in two-
compound data types (e.g., objects, structures,
dimensional arrays (e.g., multiply each element
records) in a computer program.
by a constant, interchange elements, multiply
matrices, process pixels in an image);
A2. Modular Programming A3.6 design a simple and efficient recursive algo-
By the end of this course, students will: rithm (e.g., calculate a factorial, translate numbers
into words, perform a merge sort, generate fractals,
A2.1 create a modular program that is divided perform XML parsing).
among multiple files (e.g., user-defined classes,
libraries, modules);
A2.2 use modular design concepts that support
reusable code (e.g., encapsulation, inheritance, meth-
od overloading, method overriding, polymorphism);

56
A4. Code Maintenance
By the end of this course, students will:
A4.1 work independently, using support docu-
mentation (e.g., IDE Help, tutorials, websites,
user manuals), to resolve syntax issues during
software development;

Computer Science
A4.2 develop and implement a formal testing
plan (e.g., unit testing, integration testing, regres-
sion testing) for a software project to ensure
program correctness;
A4.3 create fully documented program code
according to industry standards (e.g., doc com-
ments, docstrings, block comments, line comments);
A4.4 create clear and maintainable external user
documentation (e.g., Help files, training materi-
als, user manuals).

ICS4U

PROGRAMMING CONCEPTS AND SKILLS

57
B. Software Development
Grade 12, University Preparation

Overall Expectations
By the end of this course, students will:

B1. demonstrate the ability to manage the software development process effectively, through all
of its stages – planning, development, production, and closing;
B2. apply standard project management techniques in the context of a student-managed team project.

SPECIFIC Expectations
B1. Project Management B2. Software Project Contribution
By the end of this course, students will: By the end of this course, students will:
B1.1 create a software project plan by producing a B2.1 demonstrate the ability to contribute, as a
software scope document and determining the team member, to the planning, development,
tasks, deliverables, and schedule; and production of a large software project;
B1.2 develop the software product according B2.2 demonstrate the ability to meet project goals
to the project plan (i.e., ensure that the soft- and deadlines by managing individual time
ware meets end user needs, functions as during a group project;
intended, and can be produced within
quality standards, budget, and timelines); B2.3 reflect on, and assess, team and individual
progress during the project review.
B1.3 produce the software according to specifica-
tions (i.e., code, test, deploy), and create user
documentation and training materials;
B1.4 use an appropriate project management tool
(e.g., Gantt chart, PERT chart, calendar) to man-
age project components;
B1.5 close the project (i.e., confirm that software
meets all user requirements, deliver software
the ontario curriculum, Grades 10 –12 | Computer Studies

in appropriate format, plan software support


and maintenance);
B1.6 review the management of the project
(e.g., compare plan to actual performance, outline
successes, make recommendations for improvement)
and prepare a report in an appropriate format;
B1.7 demonstrate the ability to use shared
resources to manage source code effectively
and securely (e.g., organize software components
using shared files and folders with timestamps,
and proper version control).

58
C. Designing Modular Programs

Overall Expectations

Computer Science
By the end of this course, students will:

C1. demonstrate the ability to apply modular design concepts in computer programs;
C2. analyse algorithms for their effectiveness in solving a problem.

SPECIFIC Expectations
C1. Modular Design C2. Algorithm Analysis
By the end of this course, students will: By the end of this course, students will:
C1.1 decompose a problem into modules, classes, C2.1 demonstrate the ability to analyse a precon-
or abstract data types (e.g., stack, queue, diction- dition (i.e., starting state) and a postcondition
ary) using an object-oriented design methodol- (i.e., ending state) in an algorithm;
ogy (e.g., CRC [Class Responsibility Collaborator]
or UML [Unified Modeling Language]); C2.2 compare the efficiency of linear and binary ICS4U
searches, using run times and computational
C1.2 demonstrate the ability to apply data complexity analysis (e.g., to analyse the number
encapsulation in program design (e.g., classes, of statements executed, the number of iterations of
records, structures); a loop, or the number of comparisons performed);
C1.3 demonstrate the ability to apply the process of C2.3 compare the efficiency of sorting algorithms,
functional decomposition in subprogram design; using run times and computational complexity
analysis (e.g., to analyse the number of statements
C1.4 apply the principle of reusability in program executed, the number of iterations of a loop, or the
design (e.g., in modules, subprograms, classes, number of comparisons performed);
methods, and inheritance).
C2.4 identify common pitfalls in recursive func-
tions (e.g., infinite recursion, exponential growth in
recursive algorithms such as Fibonacci numbers).

DESIGNIng MODULAR PROGRAMS

59
D. Topics in Computer Science
Grade 12, University Preparation

Overall Expectations
By the end of this course, students will:

D1. assess strategies and initiatives that promote environmental stewardship with respect to
the use of computers and related technologies;
D2. analyse ethical issues and propose strategies to encourage ethical practices related to the
use of computers;
D3. analyse the impact of emerging computer technologies on society and the economy;
D4. research and report on different areas of research in computer science, and careers related
to computer science.

SPECIFIC Expectations
D1. Environmental Stewardship D2.3 outline and apply strategies to encourage
and Sustainability ethical computing practices at home, at school,
and at work.
By the end of this course, students will:
D1.1 outline strategies to reduce the impact of D3. Emerging Technologies and Society
computers and related technologies on the
environment (e.g., reduce, reuse, and recycle; By the end of this course, students will:
turn computers and monitors off at end of day; D3.1 explain the impact of a variety of emerging
participate in printer cartridge recycling) and on technologies on various members of society and
human health (e.g. ergonomic standards); on societies and cultures around the world and
D1.2 investigate and report on governmental and on the economy;
community initiatives that encourage environ- D3.2 investigate an emerging technology and
mental stewardship and promote programs and produce a report using an appropriate format
practices that support sustainability (e.g., local (e.g., technical report, website, presentation
community recycling centres, private companies software, video).
that refurbish computers, printer cartridge recy-
the ontario curriculum, Grades 10 –12 | Computer Studies

cling programs).
D4. Exploring Computer Science
D2. Ethical Practices By the end of this course, students will:
By the end of this course, students will: D4.1 report on some areas of collaborative
research between computer science and other
D2.1 investigate and analyse an ethical issue related fields (e.g., bioinformatics, geology, econom-
to the use of computers (e.g., sharing passwords, ics, linguistics, health informatics, climatology,
music and video file downloading, software piracy, sociology, art), on the basis of information
keystroke logging, phishing, cyberbullying); found in industry publications (e.g., from the
D2.2 describe the essential elements of a code of ACM and IEEE);
ethics for computer programmers (e.g., ACM D4.2 investigate a topic in theoretical computer
[Association for Computing Machinery] and IEEE science (e.g., cryptography, graph theory, logic,
[Institute of Electrical and Electronics Engineers] computability theory, attribute grammar, autom-
standards) and explain why there is a need for ata theory, data mining, artificial intelligence,
such a code (e.g., plagiarism, backdoors, viruses, robotics, computer vision, image processing), and
spyware, logic bombs); produce a report, using an appropriate format
(e.g., website, presentation software, video);

60
D4.3 research and describe careers associated with
computer studies (e.g., computer scientist, soft-
ware engineer, systems analyst), and the postsec-
ondary education required to prepare for them;
D4.4 evaluate their own development of Essential
Skills and work habits that are important for
success in computer studies, as identified in the

Computer Science
Ontario Skills Passport.

ICS4U

TOPICS IN COMPUTER SCIENCE

61

You might also like