• If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • Stop wasting time looking for files and revisions. Connect your Gmail, DriveDropbox, and Slack accounts and in less than 2 minutes, Dokkio will automatically organize all your file attachments. Learn more and claim your free account.


ICS4U 2017-2018 Sem 2

Page history last edited by Steve Sweeney 2 years, 6 months ago



Computer Science, Grade 12

University Preparation

Prerequisite Course(s): ICS3U

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. 


General Course Outline

1 Review ICS3U (Part 1) IPO, Selection, Repetition
1 Basic Data Structures Text File I/O, Objects
Review ICS3U (Part 2) methods, strings, arrays
2 Problem Solving by Design top-down design, divide & conquer
Object Oriented Programming class methods, instance methods
Searching & Sorting arrays, recursion
2D Arrays multi-dimensional arrays
Linked Lists lists, stacks, queues
7 Project  


CEMC Computer Science Contest Problems


Unit 5: Searching & Sorting


Sorting Arrays:

Basic Methods

  1. 01 Insertion Sort
  2. 02 Selection Sort
  3. 03 Bubble Sort

Shell Sort

(faster, more complex)

Note: Shell Sort

Yet Another Visual Sort - best for ShellSort
  • create a "MySort.java" class
  • create class methods for each sorting algorithm
  • start with each method sorting an array of integers
Introduction to Recursion  

VT - Recursion 

VT - Recursion (factorial)

Implementing Recursive Algorithms   VT (MIT): Problem Solving w Recursion
Recursion - Tower of Hanoi
  • Create a recursive program to solve ToH
  • allow the user to specify number of plates

Algorithm - Tower of Hanoi

  1. move n−1 plates from A to B. This leaves disc n alone on peg A
  2. move plate n from A to C
  3. move n−1 plates from B to C so they sit on disc n


Unit 4: Arrays

Review: Arrays
  1. Java Arrays - Intro
  2. Exercises - Arrays
  Review: Working with Arrays
  1. Presentation - Working with Arrays
  2. Continue with Exercises - Arrays
  Multi-dimensional Arrays Multi-dimensional Arrays VT - Multi-Dimensional Arrays
Arrays of Objects Arrays of Objects VT - Arrays of Objects
  Assignment: Chess    


Unit 3: Objects & Object Methods

Playlist: Classes & Objects, Part 1

Day Topic Assigned Work Extra Resources
Intro to Classes & Objects
  1. Presentation: Overview of Classes & Objects
  2. VT: - Introduction to Classes & Objects
  3. Note - Creating Objects
  4. Exercises (attached to Note)
VT: What is Object-Oriented Programming?

Constructor Methods

  1. Presentation: Constructor Methods
  2. View Video Tutorial (aligned with note).
  3. Read through note.
  4. Exercises at end of note.

VT - Constructor Methods

VT - Overloading Constructors


Encapsulation (Data Hiding):

Set and Get Methods

  1. Note - Encapsulation & Hiding Information
  2. VT: Data Hiding, Get/Set Methods

VT - Public & Private in Java

VT - Set & Get Methods

Instance Methods
  1. VT: Instance Methods
  2. Note: Instance Methods
Displaying & Comparing Objects Note - Comparing & Displaying Objects VT - Displaying Objects
Class Methods Note - Class Methods


Rectangle Class

see Edmodo  


Unit 2: Review Methods, Strings, 1D Arrays, Problem Solving by Design

Day Topic Assigned Work Extra Resources

Review: Methods

Review: Passing Parameters

Review: Return Values

  1. Presentation - Review Methods
  2. [Exercises - Subroutines no Parameters] #5
  3. [Exercises - Subroutines with Parameters] #A2, B1, B3
  4. [Exercises - Functions] #2, 3, 4
Math Contest Programming Problems
Review: Method Overloading
  1. Presentation - Method Overloading
  2. Note - Method Overloading
  3. Exercises - see Note
Review: Strings


String Operations

Present: String Methods

Exercises - Strings

VT: String Methods

Review: Arrays
  1. Java Arrays - Intro
  2. Exercises - Arrays
Review: Working with Arrays
  1. Presentation - Working with Arrays
  2. Continue with Exercises - Arrays


Unit 1: Review fundamental skills in Java, Text File Operations, Intro to Objects

Day Topic Assigned Work Extra Resources


  1. Introduction to Course
  2. File Organization & History
  3. Java Programming Environment
  4. Edmodo
  1. Presentation - Introduction to Course
  2. Read [Note - File Organization & History] and setup your file structure
  3. Read Note - Install Dr.Java and install the Dr.Java IDE
  4. Register for Edmodo and connect to course

Review Java Concepts

  • input & output
  • variables & calculations
  • selection (if/else)
  • repetition (loops)

Review Exercises:

[All Java Lessons]


Java Input (revisited)

  • data streams
  • exceptions
  • try-catch blocks
Text Files: Input & Output  


Intro to Objects

(Data Structures)



Intro to Objects

(Data Structures)




Employee Record Files & Payroll

see Edmodo  



Comments (0)

You don't have permission to comment on this page.