Computer Science, Grade 12, University Preparation

Code: ICS4UGrade: 12Type: University PreparationCredits: 1.0
Course description

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.

Overall expectations

By the end of this course, students will:

1. Programming Concepts and Skills
1.1demonstrate the ability to use different data types and expressions when creating
computer programs
1.2describe and use modular programming concepts and principles in the creation of
computer programs
1.3design and write algorithms and subprograms to solve a variety of problems
1.4use proper code maintenance techniques when creating computer programs.
2. Software Development
2.1demonstrate the ability to manage the software development process effectively, through
all of its stages – planning, development, production, and closing
2.2apply standard project management techniques in the context of a student-managed team project.
3. Designing Modular Programs
3.1demonstrate the ability to apply modular design concepts in computer programs
3.2analyse algorithms for their effectiveness in solving a problem.
4. Topics in Computer Science
4.1assess strategies and initiatives that promote environmental stewardship with respect to
the use of computers and related technologies
4.2analyse ethical issues and propose strategies to encourage ethical practices related to
the use of computers
4.3analyse the impact of emerging computer technologies on society and the economy
4.4research and report on different areas of research in computer science, and careers
related to computer science.
Outline Of Course Content
Time AllocatedOnline/Offline Component
1. Unit 1: Python Review

This unit provides a comprehensive introduction to programming in Python, serving both as a refresher for students with prior experience and as a starting point for those new to the language. Topics covered include setting up the Python development environment, working with basic input and output, and using fundamental control structures such as conditional statements, loops, and functions. These core concepts will establish the foundation for more advanced programming tasks throughout the course.

16 hours

(8 hrs online / 8 hrs offline)

2. Unit 2: Introduction into Computer Graphics

Graphics are a fundamental component of game development and interactive applications, providing the visual elements that bring programs to life. In this unit, students will explore the basics of computer graphics using Python, focusing on how to create and manipulate visual content through code. Using a graphics library, students will learn how to draw shapes, manage coordinates, handle user input, and update visual elements dynamically. The unit will emphasize the relationship between programming logic and visual output, laying the groundwork for developing more complex graphical applications such as simple games or animations.

20 hours

(10 hrs online / 10 hrs offline)

3. Unit 3: Object Oriented Design

In this unit, students will expand their programming knowledge by exploring advanced coding techniques essential for building efficient and maintainable software. Topics will include recursion, file input and output, searching and sorting algorithms, and key object-oriented programming concepts such as encapsulation and inheritance. Students will learn how to structure programs using reusable code components, manage access to data within classes, and create class hierarchies to model relationships between objects. These skills will support the development of more complex and scalable applications, preparing students for larger software projects.

20 hours

(10 hrs online / 10 hrs offline)

4. Unit 4: Further Coding Concepts

In this unit, students will explore advanced programming techniques that enhance the functionality and efficiency of their code. Topics include implementing search and sorting algorithms to organize and retrieve data, using recursion to solve problems through self-referential functions, and reading from and writing to external files to manage persistent data. Students will also learn how to store and process user- generated sequences, allowing programs to track and manipulate input over time. These skills are essential for developing more interactive, data-driven applications.

24 hours

(12 hrs online / 12 hrs offline)

5. Unit 5: Final Project

Students will consolidate their understanding of computer science by engaging in a comprehensive software development project. They will demonstrate their ability to plan, design, and implement a complex program using object-oriented principles, while applying creative problem-solving, user-centered design, and effective project management. The unit emphasizes independent learning, technical communication, and the integration of course concepts into a functional, real-world application.

10 hours

(5 hrs online / 5 hrs offline)

6. Unit 6: Topics in Computer Science

Students will explore the graphical representations of various functions, developing the ability to analyze key characteristics and determine corresponding equations. They will also learn to construct accurate graphs from given equations, deepening their understanding of function behavior. Through the use of graphing technology, students will investigate and model real-world scenarios. The unit will also introduce discussions on the environmental impacts of technology use and the importance of cybersecurity, including common types of computer attacks, fostering awareness of responsible and secure computing practices.

10 hours

(5 hrs online / 5 hrs offline)

7. Final Evaluation

Final Project

10 hours

(10 hrs online)

Total110 Hours
Teaching and learning strategies

This course is organized into a semester format. Lessons and activities will be presented to students via the online learning platform. Lessons will be provided on-line, with regularly scheduled student teacher conferences and student to student discussion forums.
A variety of strategies will be used in the online delivery of this course. Instructional strategies will include but are not limited to:
● Teacher directed lessons
● Cooperative learning
● Independent research
● Peer to Peer learning
● Multi-media presentation
● Online simulations and Interactives
Learning goals will be discussed at the beginning of each assignment and success criteria will be provided to students. The success criteria are used to develop the assessment tools in this course, including rubrics.
The overriding aim of the ICS4U course is to equip students with advanced programming skills and problem-solving abilities needed to design, develop, and maintain complex software solutions using modern programming principles. A wide variety of instructional strategies are used to provide learning opportunities to accommodate a variety of learning styles, interests, and ability levels.

Strategies for assessment & evaluation of student performances

A variety of assessment and evaluation methods, strategies and tools are required as appropriate to the expectation being assessed. These include diagnostic, formative and summative within the course and within each unit.
Assessment FOR Learning and Assessment AS Learning is obtained through a variety of means, including the following:
● Ongoing descriptive feedback, including descriptive feedback on students’ practice activities
● Self-assessment
● Peer assessment
● Student/Teacher Conferences with on a regular basis to:
o verbalize observations
o ask questions
o clarify understanding

Evidence of student achievement (assessment of learning) is collected through ongoing observations of most consistent work, with consideration given to most recent work from various sources.
Assessment and evaluation in this course will be based on the provincial curriculum expectations. Students will be provided with numerous and varied opportunities to demonstrate the full extent of their achievement. Categories of assessment and breakdowns are as follows:
● Knowledge 30%
● Thinking Inquiry 25%
● Application 25%
● Communication 20%
A final grade will be determined as follows:
● Term Work 70%
● Final Project 30%

Consideration for program planning

Students with special needs and English Language Learners will be provided with accommodation, including additional time, assistive technology and scribe where available.

Learning skills

Learning Skills listed below are key to student success. Learning Skills are assessed independently of achievement and are determined through observation and participation. A check list and student conference will be used to determine the level in each category.
1. Responsibility
2. Organization
3. Independent Work
4. Collaboration
5. Initiative
6. Self-Regulation

Resources required by the student

Computer, coding platforms will need to be downloaded.

Resources provided by the student
  •  Posted lessons and worksheets
  • On-Line resources
  • Links to simulations and interactives
  • Links to extra support material

Buy course

$549.00

🇨🇦 Canadian Student Price

ico-canaway

¿Necesitas ayuda?