This ICS4U Grade 12 Computer Science online course prepares students for industry careers with advanced programming and software development skills. ICS4U students manage large projects using modular design, industry standards, and the software development lifecycle, while exploring ethical, environmental, and emerging tech topics. Taking ICS4U will provide a good foundation for future studies.
Course curriculum
Inside %course-code%: from Java basics to your own game
Java, the language first-year computer science expects
After a review of the Grade 11 concepts in Java syntax, the course builds toward complex, fully documented programs written to industry standards.
Object-oriented programming, taught with a robot
Classes, objects and methods are introduced through a robot world you program to complete tasks, so the abstract ideas at the heart of OOP stay concrete.
Build real programs
A program with a graphical interface and arrays, a data program that reads and writes external files and sorts and analyses data, and a Connect Four game you play against the computer.
Security, ethics and where the field is going
Computer security, ethical and environmental issues, emerging technologies, post-secondary options and careers in computing, with a report and a meeting with your teacher.
ICS4U Course outline
Full unit-by-unit breakdown.
Start with computer security, ethical issues and environmental impacts, then look at post-secondary options and research an emerging technology. Questions and a quiz act as checkpoints, followed by a report and a meeting with your teacher. Includes the course welcome and introduction.
Key topics
Computer security · ethics and environmental impact · post-secondary options · emerging technologies
Assessed by
Future technology report · quiz · meeting with your teacher
Review the programming concepts from the Grade 11 course while learning Java: input, output, variables, math functions and repetition.
Key topics
Input and output · variables · math functions · repetition · Java syntax
Assessed by
Two quizzes · Math program · unit project
Meet the main concepts of object-oriented programming: classes and objects, methods, and how objects share traits. Learn the robot interface, then create a robot world and have your robot carry out tasks in it.
Key topics
Classes and objects · methods · sharing traits between objects · the robot interface
Assessed by
Quiz · small assignment · robot world project
Expand your OOP knowledge with the concepts that make much more complex programs possible, still using the robot classes to keep them concrete. Two check-in quizzes, two assignments and a teacher meeting close the unit.
Key topics
Advanced OOP concepts · conditional and predicate methods · building complex programs with the robot classes
Assessed by
Two check-in quizzes · conditional and predicate methods activity · unit project · meeting with your teacher
Learn to create and use graphical user interfaces and implement arrays in Java, building on concepts from the Grade 11 course.
Key topics
Graphical user interfaces · arrays in Java
Assessed by
Quiz · GUI and arrays project
Learn basic data access and storage using external files, sorting methods and how they are used, and basic statistical methods for data analysis.
Key topics
Reading and writing external files · sorting methods · basic statistical analysis
Assessed by
Quiz · data-access GUI project
Learn the basics of game development: drawing primitive shapes on a frame, planning a game, and coding that imitates computer choice. Finish by building a simple game to play against the computer.
Key topics
Drawing shapes on a frame · game planning · simulating computer choice
Assessed by
Practice quiz (not graded) · Connect Four game project
Complete a final programming project that covers the major concepts learned in the course.
Key topics
Final programming project
Assessed by
Final programming project (15%)
