ICS4U

Computer Science-Grade: 12

Course Description

This course examines current Canadian and international economic issues, developments, policies, and practices from diverse perspectives. Students will explore the decisions that individuals and institutions, including governments, make in response to economic issues such as globalization, trade agreements, economic inequalities, regulation, and public spending. Students will apply the concepts of economic thinking and the economic inquiry process, as well as economic models and theories, to investigate, and develop informed opinions about, economic trade-offs, growth, and sustainability and related economic issues.

Credits:1.0

Computer Science

Course code: ICS4U

Grade:12

Credits:1.0

Type: University Preparation

Language of Study: English

Prerequisite: Any university or university/college preparation course in Canadian and world studies, English, or social sciences and humanities


Unit Titles and Descriptions

Time Allocated

Java Review

In this unit students will set up the Eclipse Integrated Development Environment, review basic programming theories and Java programming concepts covered in ICS3U. Students will also study environmental stewardship and ethical issues related to computers and technology.

8 hours

One-Dimensional Arrays

In this unit students will study and implement programming concepts pertaining to one-dimensional arrays. Students will also compare the different careers and fields related to Computer Science.

10 hours

Sorting

In this unit students will study and implement sorting algorithms such as Bubble Sort and Selection Sort. Students will also investigate several emerging technologies and their expected impact on society such as Energy Harvesting, Vehicular Communication, and Machine Learning.

12 hours

Object-Oriented Programming

In this unit students will study and implement programming theories related to Object Oriented Programming such as Polymorphism, Method Overloading and Overriding, Superclasses and Subclasses, Abstract Classes, Stacks and Queues. Students will also begin to investigate concepts pertaining to software development such as the Software Development Life-Cycle and Software Development Models.

14 hours

Two-Dimensional Arrays

In this unit students will expand their knowledge of one-dimensional arrays to two-dimensional arrays. Students will also study and practice the first stage of Software Development: Requirements Analysis.

14 hours

Graphical User Interface

In this unit students will explore and implement topics such as a GUI (Graphical User Interface) using Java SWING and an executable JAR file. Students will also study and practice the second stage of Software Development: System Design.

15 hours

Dynamic Lists

In this unit students will learn about basic Graph Theory and Linked Lists, they will expand these concepts to implement an arbitrarily sized list in Java using the ArrayList class. Students will also study and practice the third stage of Software Development: Implementation & Testing.

12 hours

Advanced Topics

In this unit students will study and implement advanced topics such as Recursion, Binary Search, and Algorithm Complexity Analysis. Students will also study and practice the last stage of Software Development: Deployment and Maintenance.

15 hours
Final Assessment

Project

This course includes a final project worth 15% of the final grade. Working independently, students will create a robust Java program by following the Software Development Life-Cycle.

8 hours
Exam

This is a proctored exam worth 15% of your final grade.

2 hours
Total110 hours