ICS3UF2017

**Introduction to Computer Science, Grade 11 -** [|Course Outline] - **Sign Up For Edmodo [|Here] - [|Curriculum Document] ** **University Preparation** || **Looking for a challenge?** Computer Science Questions
 * **ICS3U**
 * "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." ||

**Introduction:**

 * **Lesson** || **Topic** || **Activity ~ Classwork ~ Homework** || **Materials & Resources** ||
 * 1 || Introduction to ICS3U [|Presentation]

Did You Know? (Youtube Video) Cisco Top 25 Predictions || go to [|Code.org] : [|[Video - Simple Output in Turing]] ||
 * 1) File Organization & History
 * 2) Turing Programming Environment || # OCDSB student accounts & passwords
 * 3) Google student accounts & google drive & [|Edmodo] Setup
 * 4) Read [Note - File Organization & History] and setup your file structure
 * 5) Read [|[Note - Install Turing]] and install the Turing IDE || [|Why Learn to Code?]
 * 1 || Creating Your First Programs - output simple text to the screen || [|Presentation: Problem Solving]
 * 1) do the "hour of code" activity
 * 2) Finished? Try the Lightbot programming/logic game.
 * 3) [|Presentation - Intro to Programming in Turing]
 * 4) Complete as many [|[Output Exercises]] as possible
 * 5) If all exercises complete, look ahead to tomorrow || [|[Note - First Program & Output]]

**Unit 1 - Input Processing Output (IPO) **
- output simple text to the screen || # [|Presentation - Intro to Programming in Turing] ** Java IPO Lessons ** [|[Note - First Program & Output]] [|[Video - Simple Output in Turing]] || - interactive programs || # [|Presentation - Input] [|[Note - Variables]] [|[Note - Changing Variables]] [|[Video - Input & Variables]] [|[Video - Variables & Data Types]] || 3 Days || ** Assignment - IPO ** Advanced Output & Formatting (includes rounding) || # [|Presentation: Constants & Initial Values]
 * **Lesson** || **Topic** || **Activity ~ Classwork ~ Homework** || **Materials & Resources** ||
 * 1 || Creating Your First Programs
 * 1) Complete as many [|[Output Exercises]] as possible - Submit these to **[|Edmodo]**
 * 2) If all exercises complete, look ahead to tomorrow || ** [|Turing IPO Lessons] **
 * 2 || Adding Variables & User Input
 * 1) Work [ [|Input Exercises] ] || [|[Note - Data Types]]
 * 3 || Performing Calculations || # [|Presentation - Calculations & Assigning Values]
 * 1) [|Exercises - Calculations] || <span style="color: #114488; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial; vertical-align: baseline;">[|[Video - Input & Variables]] ||
 * 4 || Mathematical Functions || # [|Presentation: Mathematical Functions]
 * 1) Exercises: Mathematical Functions || [|Just for fun] ||
 * 5 -
 * Due Fri. Feb 17th @ Midnight ** || See [|Edmodo] ||  ||
 * 6 || Constants & Initial Values
 * 1) <span style="color: #114488; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial; vertical-align: baseline;">[|Presentation: Advanced Output] ||   ||

**<span style="color: #0000ff; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial;">Unit 2 - Selection (IF/ELSE) **
<span style="color: #444444; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial; vertical-align: baseline;">Simple Selection using If/Else <span style="color: #444444; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial; vertical-align: baseline;">(one or two pathways) || # [|Presentation - Simple If/Else Statements] <span style="color: #444444; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial; vertical-align: baseline;">Nested IF/ELSE, ELSE IF <span style="color: #444444; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial; vertical-align: baseline;">(three or more pathways) || # [|Presentation - Nested Selection Statements] > (try Part C if done Part B) || * [|VT - AND/OR Logical Operations]
 * **Date** || **Topic** || **Activity ~ Classwork ~ Homework** || **Materials & Resources** ||
 * 7 || <span style="color: #444444; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial; vertical-align: baseline;">Introduction:
 * 1) [|Exercises - Simple Decisions Part A # 1, 2, 3] || * [|VT - Simple Selection Statements]
 * [|VT - Conditional Operators - Introduction] ||
 * 8 || <span style="color: #444444; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial; vertical-align: baseline;">Complex Selection:
 * 1) [|Exercises - Selection] Part B || * [|VT - Nested Selection Statements]
 * [|Summary - IF/ELSE Statments] ||
 * 9 || <span style="color: #444444; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial;">Logical Operators || # [|Presentation - Logical Operators]
 * 1) [|Exercises - Selection] Part B
 * [|VT - Boolean Variables with Logical Op] ||
 * 10 || <span style="color: #444444; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial;">Boolean Variables || # [|Presentation - Boolean Variables] || * [|VT - Boolean Variables with Logical Operators] ||
 * || ** Assignment - Selection ** || See Edmodo ||  ||

**<span style="color: #0000ff; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial;">Unit 3: Repetition (Loops) **
Unit Test Review || [|Review Presentation] ||  ||
 * **Date** || **Topic** || **Activity ~ Classwork ~ Homework** || **Materials & Resources** ||
 * 11 || <span style="color: #444444; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial;">Counted Loops || # [|Lesson - Counted Loops]
 * 1) Use video tutorial to clarify lesson
 * 2) [|counted loop exercises]
 * 3) [|more counted loop exercises] || * [|VT - Counted Loops] ||
 * 12 || <span style="color: #444444; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial;">Conditional Loops || # [|Lesson - Conditional Loops]
 * 1) use video tutorials & code examples as support
 * 2) [|Exercises - Conditional Loops] || * [|VT - Loops with Exit Condition at Beginning]
 * [|VT - Loops with Exit Condition at End]
 * [|Code Examples - Conditional Loops] ||
 * 13 || Nested Loops || # [|Lesson - Nested Loops]
 * 1) [|counted loop exercises] # 4, 6
 * 2) [|more counted loop exercises] # 5
 * 3) [|Conditional Loops Exercises] # 2, 3 || * VT - Nested Loops (loop within another loop) ||
 * 14 || Random Values || # [|Presentation - Random Values]
 * 1) [|Random Values Exercises] ||   ||
 * 15 || Random Values Quiz - [|Solutions Here]
 * 16 || **<span style="color: #ff0000; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial;">Turing Test ** ||  || <span style="color: #114488; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial; vertical-align: baseline;">[|Turing - Java Cheatsheet] ||

**Unit 4: Methods in Java**
**(also called Subroutines, Subprograms, Functions, Procedures)** [|Sample Code: Creating a Method] || <span style="color: #114488; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial; vertical-align: baseline;">[|Ex: Subroutines without Parameters] || <span style="color: #444444; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial; vertical-align: baseline;">(procedures) || <span style="font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial;">[|Note: Parameter Passing] || VT: Passing Parameters to a Method [|Sample Code: Method Parameters] || [|Ex: Subroutines with Parameters] || <span style="color: #444444; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial; vertical-align: baseline;">(functions) || <span style="color: #114488; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial; vertical-align: baseline;">[|Note: Return Values] || [|VT: Return Values from Methods] [|Sample Code: Return Values] || <span style="color: #114488; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial; vertical-align: baseline;">[|Ex: Functions with Return Values] || <span style="color: #444444; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial; vertical-align: baseline;">(with several video tutorials) ||  ||   ||   || [|Sample Code - Arrays] || # [|VT1: Intro to Arrays] - Considering <span style="color: #444444; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial;">Strings as Arrays || [|Note - String Methods] || <span style="color: #114488; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial; vertical-align: baseline;">VT: String Methods || <span style="color: #114488; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial; vertical-align: baseline;">[|Exercises - Strings] <span style="color: #444444; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial;"> # 1, 4, 3, 7, 8 || [|VT: Table of Values] [|VT - Multi-Dimensional Arrays] ||  ||
 * **Date** || **Topic** || **Additional Reading** || **Materials & Resources** || **Exercises** ||
 * 17 ||  ||   || <span style="font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial;">[|Note - Install Dr.Java] || [|Link to SingUp for Repl.it] ||
 * 18 || IPO - Selection - Repetition in Java ||  ||   ||   ||
 * 19 - 3 Days || <span style="color: #114488; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial; vertical-align: baseline;">[|Transition from Turing to Java] || **<span style="color: #ff0000; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial;">Assignment - Transition ** || * [|Turing - Java Cheatsheet]
 * [|All Java Lessons]
 * **Video Tutorials**
 * VT: Turing to Java IPO
 * VT: Turing to Java Selection (IF/ELSE)
 * VT: Turing to Java Counted (FOR) Loops
 * VT: Turing to Java Conditional Loops ||  ||
 * 20 || <span style="color: #114488; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial; vertical-align: baseline;">[|Present: Intro to Methods] || <span style="color: #114488; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial; vertical-align: baseline;">[|Note: Method Basics] || VT: Introduction to Methods
 * 21 || [|Present: Passing Parameters]
 * 22 || [|Present: Return Values]
 * 23 || <span style="color: #114488; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial; vertical-align: baseline;">[|Present: Random Number Method] || <span style="color: #114488; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial; vertical-align: baseline;">[|Note: Random Numbers] ||  || <span style="color: #114488; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial; vertical-align: baseline;">[|Ex: Random Values] ||
 * || New Java Outlines for Methods
 * 24 - 7 Days || **<span style="color: #ff0000; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial;">Assignment - Methods ** ||  ||   ||   ||
 * Unit 5: Arrays & Strings **
 * **Lesson** || **Topic** || **Additional Reading** || **Materials & Resources** || **Exercises** ||
 * 25 || <span style="color: #114488; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial; vertical-align: baseline;">[|Present: Intro to Arrays] || [|Note - Basic Arrays]
 * 1) [|VT2: Introduction to Arrays] || <span style="color: #114488; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial; vertical-align: baseline;">[|Exercises - Arrays # 1, 2] ||
 * 26 || <span style="color: #114488; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial; vertical-align: baseline;">[|Present: Using Arrays] || <span style="color: #114488; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial; vertical-align: baseline;">[|Sample Code - Arrays] || # [|VT: Table of Values]
 * 1) [|VT: Summing Elements in Array] || <span style="color: #114488; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial; vertical-align: baseline;">[|Exercises - Arrays] ||
 * 27 || [|Present: String Methods]
 * 28 || <span style="color: #444444; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial;">Advanced Array Concepts || [|Sample Code: Dynamic Arrays] || [|VT - Using Array Elements as Counters (frequency table)]
 * 29 - 7 Days || Assignment - Voting System Arrays || [|Multi-Dimensional Array Note] - Garde 12 ||  ||   ||
 * || Assignment - GitHub ||  ||   ||   ||
 * 30 || Methods & Arrays Test || [|Arrays Note] ||  ||   ||

Pwd: **ghsrocks** ||
 * Rainy Day Instructions: **
 * * Use phone or computer
 * Go to Sololearn app
 * Sign up using Google account and begin the tutorials in Java.
 * You only need to do the first three. (i.e. stop before the tutorial "classes and objects")
 * When done go to another language of your choice || [|Sololearn] ||
 * Summative: Design a Game in Java **
 * **Date** || **Topic** || **Activity ~ Classwork ~ Homework** || **Materials & Resources** ||
 * ||  || [|List of Summative Project Topics] ||   ||
 * || Gantt Chart || How to use [|Tom's Planner] || [|Sample Gantt Chart]
 * || **<span style="color: #ff0000; font-family: &#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Arial;">Summative Due ** || [| Game Choices] ||  ||