TutorBoost

ICS4U (COMPUTER SCIENCE)

Grade 12

Computer Science, Grade 12, University Preparation

Curriculum Policy
Computer Studies, The Ontario Curriculum, Grades 10 to 12, 2008 (Revised)

Course Description:
This course deepens students’ understanding and skills in computer science, focusing on the creation of sophisticated, fully documented programs using modular design principles that adhere to industry standards. Students will collaborate in teams to manage comprehensive software development projects, guiding them through all phases from initial planning to project evaluation. Additionally, students will analyze algorithms to assess their effectiveness and efficiency. Ethical considerations in computing will be explored, alongside discussions on environmental impacts, emerging technologies, research opportunities in computer science, and various career paths in the field.

Chapters and Descriptions:

  • Java Review
    In this unit, students will set up the Eclipse Integrated Development Environment (IDE) and revisit fundamental programming theories and Java concepts covered in the ICS3U course. The unit will also address environmental stewardship and ethical issues surrounding computing and technology.
  • One-Dimensional Arrays
    Students will explore and implement programming concepts related to one-dimensional arrays. Additionally, they will examine various careers and fields within Computer Science.
  • Sorting
    In this unit, students will study and apply sorting algorithms, including Bubble Sort and Selection Sort. They will also investigate emerging technologies, such as Energy Harvesting, Vehicular Communication, and Machine Learning, along with their societal impacts.
  • Object-Oriented Programming
    Students will delve into Object-Oriented Programming (OOP) concepts such as Polymorphism, Method Overloading and Overriding, Superclasses and Subclasses, and Abstract Classes. They will also begin exploring software development concepts, including the Software Development Life Cycle and various Software Development Models.
  • Two-Dimensional Arrays
    This unit expands students’ understanding of arrays to include two-dimensional arrays. Students will also focus on the first stage of Software Development: Requirements Analysis.
  • Graphical User Interface
    Students will investigate and implement Graphical User Interface (GUI) design using Java SWING, along with creating executable JAR files. This unit will also cover the second stage of Software Development: System Design.
  • Dynamic Lists
    In this unit, students will learn about basic Graph Theory and Linked Lists, applying these concepts to create arbitrarily sized lists in Java using the ArrayList class. Students will also study the third stage of Software Development: Implementation & Testing.
  • Advanced Topics
    Students will explore advanced programming topics such as Recursion, Binary Search, and Algorithm Complexity Analysis. The unit will conclude with the final stage of Software Development: Deployment and Maintenance.
scroll-top