Computer Science Grade 12, University Preparation (ICS4U)















Course Title : Computer Science, Grade 12, University Preparation (ICS4U)
Course Name : Computer Science
Course Code : ICS4U
Grade : 12
Course Type : University Preparation
Credit Value : 1.0
Prerequisite : Introduction to Computer Science, Grade 1, University Preparation, ICS3U
Curriculum Policy Document: Computer Studies, The Ontario Curriculum, Grades 10 and 12, 2008 (Revised)
Course Developer: USCA Academy
Department: Computer Studies
Development Date: June 2019
Most Recent Revision Date: June 2019

[/et_pb_code][et_pb_text _builder_version=”4.16″ global_colors_info=”{}”]


Course Description

Computer Science Grade 12: This course enables students to further develop knowledge and skills in computer science. Students will use modular design principles to create complex and fully documented 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 computing and further explore environmental issues, emerging technologies, areas of research in computer science, and careers in the field.

[/et_pb_text][et_pb_code _builder_version=”4.16″ global_colors_info=”{}”]

Overall Curriculum Expectations

Computer Science Grade 12

    • A1. demonstrate the ability to use different data types, including one-dimensional arrays, in computer programs

    • A2. demonstrate the ability to use control structures and simple algorithms in computer programs

    • A3. demonstrate the ability to use subprograms within computer programs;

    • A4. use proper code maintenance techniques and conventions when creating computer programs

Computer Science Grade 12

    • 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;

Computer Science Grade 12

    • C1. demonstrate the ability to apply modular design concepts in computer programs;

    • C2. analyse algorithms for their effectiveness in solving a problem.

Computer Science Grade 12

    • 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

[/et_pb_code][et_pb_code _builder_version=”4.16″ custom_margin=”||-1px|||” global_colors_info=”{}”]

Outline of Course Content












Titles and Descriptions

Time and Sequence

Unit 1

Designing Data Structures

In this unit, students review and extend their knowledge in data structures while focusing on implementation of projects to create and manipulate data constructs. Students apply fundamental fixed-size data structures (arrays, user-defined data types, records, arrays of records) to solutions to real-life problems and suggest possible implications of data storage on people’s lives in light of Canadian law. Students use independent study activity to further their mastery of new programming skills in preparation for postsecondary destinations. They also learn to select proper data structures that best match the information and promote program efficiency, code reusability, and maintenance. Students review and reinforce the principles of ergonomics and relate it to the rights of workers. They explore career opportunities in computing and information science related fields.

20 hours

Unit 2

Building software libraries

In Managing Software Projects students examine the components of a software project plan and develop a plan, in the context of case studies. They review the components of the software design life cycle and explore project management and team-building techniques. Students create a list of questions, pose the questions to a role-playing client, write a problem definition, analyse, design, implement and maintain a solution

20 hours

Unit 3

Exploring advanced algorithms

Students practice the re-use of code by building and sharing code libraries. The libraries are expanded in subsequent units. Students explore the differences between object-oriented and procedural programming as they apply to software libraries. Students also examine library design in the context of file management in network environments. They investigate intellectual property rights and code ownership and the ethics of code re-use by examining and analysing software-licensing agreements.

20 hours

Unit 4

Managing Software Projects

Students explore alternative algorithms for solving problems. They examine and program solutions to problems similar to those encountered in ICS3M (e.g., binary search or factorials), using new techniques such as recursion. They also plan solutions to more complex problems using industry-standard methodology (e.g., flow charts, pseudocode, structure charts). Students apply advanced algorithms, such as a recursive sort, to develop more efficient solutions to complex programming problems. Strategies for testing and debugging of programs are developed.

15 hours

Unit 5

Project Management and Software development skills

This unit is a culminating challenge in which students work to apply project-management skills, previously learned, to a case study. They plan, develop, test, and document a software solution to a given problem. Students apply complex programming techniques and utilize software libraries.

20 hours

Final Evaluation

The first product is a Project, subdivided into three distinct subsections and is worth 15% of the overall course marks. This Project will be evaluated using a marking scheme and a rubric. The second product will be a final exam of well-formulated multiple choice questions requiring information from the whole course.

10 hours


110 hours

[/et_pb_code][et_pb_code _builder_version=”4.16″ global_colors_info=”{}”]

Computer Science Grade 12: When students are engaged in active and experiential learning, they tend to retain knowledge for longer periods and to develop, acquire, and integrate key skills more completely. Some of the teaching and learning strategies that are suitable to material taught in computer studies include:









Guided internet research

Direct Instructions

Electronic Simulations

Discussion Groups

Program construction activities

Interactive activities

Research projects

Model making


Multimedia presentations


Problem solving

Discussion groups


[/et_pb_code][et_pb_code _builder_version=”4.16″ global_colors_info=”{}”]

Computer Science Grade 12:
Assessment is a systematic process of collecting information or evidence about a student’s progress towards meeting the learning expectations. Assessment is embedded in the instructional activities throughout a unit. The expectations for the assessment tasks are clearly articulated and the learning activity is planned to make that demonstration possible. This process of beginning with the end in mind helps to keep focus on the expectations of the course. The purpose of assessment is to gather the data or evidence and to provide meaningful feedback to the student about how to improve or sustain the performance in the course. Scaled criteria designed as rubrics are often used to help the student to recognize their level of achievement and to provide guidance on how to achieve the next level. Although assessment information can be gathered from a number of sources (the student himself, the student’s course mates, the teacher), evaluation is the responsibility of only the teacher. For evaluation is the process of making a judgment about the assessment information and determining the percentage grade or level.

Assessment is embedded within the instructional process throughout each unit rather than being an isolated event at the end. Often, the learning and assessment tasks are the same, with formative assessment provided throughout the unit. In every case, the desired demonstration of learning is articulated clearly and the learning activity is planned to make that demonstration possible. This process of beginning with the end in mind helps to keep focus on the expectations of the course as stated in the course guideline. The evaluations are expressed as a percentage based upon the levels of achievement.

A variety of strategies are used to allow students opportunities to attain the necessary skills for success in this course and at the post-secondary level of study. To facilitate learning, the teacher uses a variety of activities engaging the whole class, small groups, and individual students.

The assessment will be based on the following processes that take place in the classroom:











Assessment FOR Learning Assessment AS Learning Assessment OF Learning

During this process the teacher seeks information from the students in order to decide where the learners are and where they need to go.

During this process the teacher fosters the capacity of the students and establishes individual goals for success with each one of them.

During this process the teacher reports student’s results in accordance to established criteria to inform how well students are learning.

Conversation Conversation Conversation

Classroom discussion Self-evaluation Peer assessment

Classroom discussion Small group discussion Post-lab conferences Presentations of research Debates
Observation Observation Observation
Drama workshops (taking direction) Steps in problem solving Group discussions Presentations Group Presentations
Student Products Student Products Student Products
Reflection journals (to be kept throughout the duration of the course)
Check Lists
Success Criteria
Practice sheets
Socrative quizzes
Poster presentations Tests
In Class Presentations

Some of the approaches to teaching/learning include















Assessment Tool

Class discussion



Observation Checklist

Programming Exercises



Rubric or marking scheme

Daily class work



Observation Checklist




Rubric or marking scheme

Written test



Marking scheme




Marking scheme

Final written exam



Marking scheme

[/et_pb_code][et_pb_code _builder_version=”4.16″ global_colors_info=”{}”]

The evaluation of this course is based on the four Ministry of Education achievement categories of knowledge and understanding (25%), thinking (25%), communication (25%), and application (25%). The evaluation for this course is based on the student’s achievement of curriculum expectations and the demonstrated skills required for effective learning.

The percentage grade represents the quality of the student’s overall achievement of the expectations for the course and reflects the corresponding level of achievement as described in the achievement chart for the discipline.

A credit is granted and recorded for this course if the student’s grade is 50% or higher. The final grade for this course will be determined as follows:


    • 70% of the grade will be based upon evaluations conducted throughout the course. This portion of the grade will reflect the student’s most consistent level of achievement throughout the course, although special consideration will be given to more recent evidence of achievement.


    • 30% of the grade will be based on a final evaluation of two products administered at the end of the course. The first product is a Project, subdivided into three distinct subsections and is worth 15% of the overall course marks. This Project will be evaluated using a marking scheme and a rubric. The second product will be a final exam of well-formulated multiple choice questions requiring information from the whole course as well as the student’s reports completed through-out the course.

“Introduction to programming in Java” textbook.

There are many resources available online. The following is a list of some of the places where you can learn all about Java:

For the teachers who are planning a program in Computer Courses must take into account several important areas. The areas of concern to all teachers that are outlined in the policy document of Ontario Ministry of Education, include the following:


    • teaching approaches

    • types of secondary school courses

    • education for exceptional students

    • the role of technology in the curriculum

    • English as a second language (ESL) and Enaglish literacy development (ELD)

    • career education

    • cooperative education and other workplace experiences

    • health and safety in mathematics

It is important to ensure that all students, especially those with special education needs, are provided with the learning opportunities and supports they require to gain the knowledge, skills, and confidence needed to succeed in a rapidly changing society. The context of special education and the provision of special education programs and services for exceptional students in Ontario are constantly evolving. Provisions included in the Canadian Charter of Rights and Freedoms and the Ontario Human Rights Code have driven some of these changes. Others have resulted from the evolution and sharing of best practices related to the teaching and assessment of students with special educational needs. Accommodations (instructional, environmental or assessment) allow the student with special education needs access to the curriculum without changes to the course curriculum expectations.

Environmental education teaches students about how the planet’s physical and biological systems work, and how we can create a more sustainable future. Good curriculum design following the resource document. This ensures that the student will have opportunities to acquire the knowledge, skills, perspectives and practices needed to become an environmentally literate citizen. The online course should provide opportunities for each student to address environmental issues in their home, in their local community, or even at the global level.

USCA helps students to become environmentally responsible. The first goal is to promote learning about environmental issues and solutions. The second goal is to engage students in practicing and promoting environmental stewardship in their community. The third goal stresses the importance of the education system providing leadership by implementing and promoting responsible environmental practices so that all stakeholders become dedicated to living more sustainably. Environmental education teaches students about how the planet’s physical and biological systems work, and how we can create a more sustainable future.

USCA provides a number of strategies to address the needs of ESL/ELD students to accommodate the needs of students who require instruction in English as a second language or English literacy development. Our teacher considers it to be his or her responsibility to help students develop their ability to use the English language properly. Appropriate accommodations affecting the teaching, learning, and evaluation strategies in this course may be made in order to help students gain proficiency in English, since students taking English as a second language at the secondary level have limited time in which to develop this proficiency. School determines the student’s level of proficiency in the English Language upon registration. This information is communicated to the teacher of the course following the registration and the teacher then invokes a number of strategies and resources to support the student in the course.

Throughout their secondary school education, students will learn about the educational and career opportunities that are available to them; explore and evaluate a variety of those opportunities; relate what they learn in their courses to potential careers in a variety of fields; and learn to make appropriate educational and career choices. The skills, knowledge and creativity that students acquire through this course are essential for a wide range of careers. Being able to express oneself in a clear concise manner without ambiguity in a second language, would be an overall intention of this course, as it helps students prepare for success in their working lives.

By applying the skills they have developed, students will readily connect their classroom learning to real-life activities in the world in which they live. Cooperative education and other workplace experiences will broaden their knowledge of employment opportunities in a wide range of fields. In addition, students will increase their understanding of workplace practices and the nature of the employer-employee relationship. Teachers should maintain links with community-based businesses to ensure that students have access to hands-on experiences that will reinforce the knowledge they have gained in school.

Every student is entitled to learn in a safe, caring environment, free from violence and harassment. Students learn and achieve better in such environments. The safe and supportive social environment at USCA is founded on healthy relationships between all people. Healthy relationships are based on respect, caring, empathy, trust, and dignity, and thrive in an environment in which diversity is honoured and accepted. Healthy relationships do not tolerate abusive, controlling, violent, bullying/harassing, or other inappropriate behaviours. To experience themselves as valued and connected members of an inclusive social environment, students need to be involved in healthy relationships with their peers, teachers, and other members.

Critical thinking is the process of thinking about ideas or situations in order to understand them fully, identify their implications, make a judgement, and/or guide decision making. Critical thinking includes skills such as questioning, predicting, analysing, synthesizing, examining opinions, identifying values and issues, detecting bias, and distinguishing between alternatives. Students who are taught these skills become critical thinkers who can move beyond superficial conclusions to a deeper understanding of the issues they are examining. They are able to engage in an inquiry process in which they explore complex and multifaceted issues, and questions for which there may be no clear-cut answers.

The school library program in USCA can help build and transform students’ knowledge in order to support lifelong learning in our information- and knowledge-based society. The school library program of these schools supports student success across the curriculum by encouraging students to read widely, teaching them to examine and read many forms of text for understanding and enjoyment, and helping them improve their research skills and effectively use information gathered through research. USCA teachers assist students in accessing a variety of online resources and collections (e.g., professional articles, image galleries, videos, databases). Teachers at USCA will also guide students through the concept of ownership of work and the importance of copyright in all forms of media.

Information literacy is the ability to access, select, gather, critically evaluate, and create information. Communication literacy refers to the ability to communicate information and to use the information obtained to solve problems and make decisions. Information and communications technologies are utilized by all Virtual High School students when the situation is appropriate within their online course. As a result, students will develop transferable skills through their experience with word processing, internet research, presentation software, and telecommunication tools, as would be expected in any other course or any business environment. Although the Internet is a powerful learning tool, there are potential risks attached to its use. All students must be made aware of issues related to Internet privacy, safety, and responsible use, as well as of the potential for abuse of this technology, particularly when it is used to promote hatred.

USCA provides varied opportunities for students to learn about ethical issues and to explore the role of ethics in both public and personal decision making. During the inquiry process, students may need to make ethical judgements when evaluating evidence and positions on various issues, and when drawing their own conclusions about issues, developments, and events. Teachers may need to help students in determining appropriate factors to consider when making such judgements. In addition, it is crucial that USCA teachers provide support and supervision to students throughout the inquiry process, ensuring that students engaged in an inquiry are aware of potential ethical concerns and address them in acceptable ways. Teachers will ensure that they thoroughly address the issue of plagiarism with students. In a digital world in which there is easy access to abundant information, it is very easy to copy the words of others and present them as one’s own. Students need to be reminded, even at the secondary level, of the ethical issues surrounding plagiarism, and the consequences of plagiarism should be clearly discussed before students engage in an inquiry. It is important to discuss not only dishonest plagiarism but also more negligent plagiarism instances.