ICS3U 2016-2017 S1


 

ICS3U

Introduction to Computer Science, Grade 11

University Preparation

"This course introduces students to computer science. Students will design software independently and as part of a team, using industry-standard programming tools and applying the software development life-cycle model. They will also write and use subprograms within computer programs. Students will develop creative solutions for various types of problems as their understanding of the computing environment grows.  They will also explore environmental and ergonomic issues, emerging research in computer science, and global career trends in computer-related fields."

 

General Course Outline

Sequence
1
2
3
4 5
6 7 8

Topic:

Input/Processing/Output

Selection

(IF/ELSE)

Repetition

(Loops)

Transition to Java Strings
Subprograms Arrays Projects
Language: Turing or Java
Turing or Java
Turing or Java
Java Java Java Java Java

 

Unit 5: Methods in Java

(also called Subroutines, Subprograms, Functions, Procedures)

Date Topic / Lesson Additional Reading Resources Exercises
  Summative Project  

CS Contest Questions

Contest: Base Three Code

Game Ideas by Theme/Difficulty

 
N16
Present: Intro to Methods Note: Method Basics

VT: Introduction to Methods

Sample Code: Creating a Method

Ex: Subroutines without Parameters
N17

Present: Passing Parameters

(procedures)

Note: Parameter Passing

VT: Passing Parameters to a Method

Sample Code: Method Parameters

Ex: Subroutines with Parameters
N21

Present: Return Values

(functions)

Note: Return Values

VT: Return Values from Methods

Sample Code: Return Values

Ex: Functions with Return Values
  Present: Random Number Method Note: Random Numbers   Ex: Random Values
N22
Present: Method Overloading Note: Method Overloading    
N23
Present: Arrays in Methods   VT - Arrays in Methods  
 

New Java Outlines for Methods

(with several video tutorials)

     

 

Unit 4: Arrays & Strings

Date Topic / Lesson Additional Reading Resources Exercises
O26 Present: Intro to Arrays

Note - Basic Arrays

Sample Code - Arrays

  1. VT1: Intro to Arrays
  2. VT2: Introduction to Arrays
Exercises - Arrays # 1, 2
O27 Present: Using Arrays Sample Code - Arrays
  1. VT: Table of Values
  2. VT: Summing Elements in Array
Exercises - Arrays
O28

Strings as Arrays

Present: String Methods

  VT: String Methods Exercises - Strings # 1, 4, 3, 7, 8
O31

Advanced Array Concepts

Present: Applications

Sample Code: Dynamic Arrays

VT - Using Array Elements as Counters (frequency table)

VT: Table of Values

VT - Multi-Dimensional Arrays

 
         

 

Transition to Java - Case Study # 1 - TicTacToe

O20

O21

Design: TicTacToe

(using IPO, if/else, loops)

see Edmodo for sample program

O24

O25

Implement: TicTacToe    

 

Unit 3: Repetition (Loops)

O02 Counted Loops
  1. Lesson - Counted Loops
  2. Use video tutorial to clarify lesson
  3. counted loop exercises
  4. more counted loop exercises
VT - Counted Loops
O03

Conditional Loops

  1. Lesson - Conditional Loops 
  2. use video tutorials & code examples as support
  3. Exercises - Conditional Loops
  1. VT - Loops with Exit Condition at Beginning
  2. VT - Loops with Exit Condition at End
  3. Code Examples - Conditional Loops
O04

Nested Loops

(loops within loops)

  1. Lesson - Nested Loops
  2. counted loop exercises # 4, 6
  3. more counted loop exercises # 5
  4. Conditional Loops Exercises # 2, 3
VT - Nested Loops (loop within another loop)
O11
Random Values
  1. Presentation - Random Values
  2. Random Values Exercises
 
 
Assignment - Loops   Turing - Java Cheatsheet

 

Unit 2 - Programming in Turing - Selection (IF/ELSE)

     
Date Topic
Activity ~ Classwork ~ Homework Resources
S19

Introduction:

Simple Selection using If/Else

(one or two pathways)

  1. Presentation - Simple If/Else Statements
  2. Exercises - Simple Decisions Part A # 1, 2, 3
S20

Complex Selection:

Nested IF/ELSE, ELSE IF

(three or more pathways)

  1. Presentation - Nested Selection Statements
  2. Exercises - Selection Part B
S21 Logical Operators
  1. Presentation - Logical Operators
  2. Exercises - Selection Part B
    (try Part C if done Part B)
VT - AND/OR Logical Operations

 

S23
Boolean Variables Presentation - Boolean Variables VT - Boolean Variables with Logical Operators
 

Optional:

CASE Statements

see Turing Help
 
 
Work Period    
 
Assignment - Selection see Edmodo
 

 

Unit 1 - Input Processing Output (IPO)

Date Topic
Activity ~ Classwork ~ Homework Resources

Tue

S06

  1. Introduction to Course
  2. File Organization & History
  3. Turing Programming Environment
  4. Edmodo
  1. Presentation - Intro to ICS3C/3U/4C/4U
  2. Read [Note - File Organization & History] and setup your file structure
  3. Read [Note - Install Turing] and install the Turing IDE
  4. Register for Edmodo and connect to course
  5. Finished? Try the Lightbot programming/logic game.

Wed

S07

Creating Your First Programs

- output simple text to the screen

  1. Presentation - Intro to Programming in Turing
  2. Complete as many [Output Exercises] as possible
  3. If all exercises complete, look ahead to tomorrow

[Note - First Program & Output]

[Video - Simple Output in Turing]

Thurs

S08

Adding Variables & User Input

- interactive programs

  1. Presentation - Input 
  2. Work [Input Exercises

[Note - Data Types]

[Note - Variables]

[Note - Changing Variables]

[Video - Input & Variables] 

[Video - Variables & Data Types]

Fri

S09

Performing Calculations
  1. Presentation - Calculations & Assigning Values
  2. Exercises - Calculations
[Video - Input & Variables]
S12
Mathematical Functions
  1. Presentation: Mathematical Functions
  2. Exercises: Mathematical Functions
 
S13
Constants & Initial Values Presentation: Constants & Initial Values  
S14

Advanced Output & Formatting

(includes rounding)

Presentation: Advanced Output  

S15

S16

Assignment - IPO
  • see Edmodo
  • If you have started working in Java, you may ask to do assignment in Java
 

 

 

Multiplication

 

  1. Reduce any numerators with any denominator

  2. Multiply (reduced) numerators

  3. Multiply (reduced) denominators

  4. Reduce if possible (if previous steps done perfectly, will not be necessary)