ICS4CF2017

**Computer Programming, Grade 12** **College Preparation** **Prerequisite Course(s): ICS3C or ICS3U** ||
 * **ICS4C**
 * This course further develops students’ computer programming skills. Students will learn object-oriented programming concepts, create object-oriented software solutions, and design graphical user interfaces. Student teams will plan and carry out a software development project using industry-standard programming tools and proper project management techniques. Students will also investigate ethical issues in computing and expand their understanding of environmental issues, emerging technologies, and computer-related careers. ||

**General Course Outline**
 * Unit || Title || Concepts ||
 * 1 || Review ICS3C/3U (Part 1) || IPO, Selection, Repetition ||
 * 2 || Review Subroutines ||  ||
 * 3 || File Input/Output || file handles, read file, write file ||
 * 4 || Arrays ||  ||

S06 || Review Fundamental Skills in Turing || # Look over materials at [|[Turing Lessons - Fundamentals]]
 * **Date | Topic** || **Activity ~ Classwork ~ Homework** || **Resources** ||
 * S05
 * 1) Work on associated exercises ||   ||
 * S05 || # [|Introduction to Course]
 * 1) File Organization & History
 * 2) Turing Programming Environment
 * 3) Edmodo || # Presentation - Intro to ICS3C/3U/4C/4U
 * 4) Read [|[Note - File Organization & History]] and setup your file structure
 * 5) Read [|[Note - Install Turing]] and install the Turing IDE
 * 6) Register for Edmodo and connect to course ||   ||
 * S07-S12 || Review Programming Concepts
 * input & output
 * variables & calculations || Review Exercises:
 *  [|Input-Processing-Output] # 3+4, 6, 7, 8
 * Submit to Edmodo || Turing Lessons: IPO ||
 * S13 || Review Programming Concepts
 * selection (if/else) || Review Exercises:
 *  [|Selection] # A3, B3, B4, B7, C3 or C4
 * Submit to Edmodo || [|Turing Lessons: Selection] ||
 * S19 || Review Programming Concepts
 * repetition (loops) || Review Exercises:
 * <span style="background-color: #ffffff; color: #444444; font-family: 'Segoe UI','Lucida Grande',Arial; font-family: inherit; vertical-align: baseline; vertical-align: baseline;"> [|Counted Loops Part 1] # 2, 3e, 4, 6ab
 * <span style="background-color: #ffffff; color: #444444; font-family: 'Segoe UI','Lucida Grande',Arial; font-family: inherit; vertical-align: baseline; vertical-align: baseline;"> [|Conditional Loops] # 2, 3, 6abc || <span style="background-color: #ffffff; color: #114488; font-family: 'Segoe UI','Lucida Grande',Arial; vertical-align: baseline;">[|Turing Lessons: Repetition] ||

(also called Subprograms, Procedures) || [|Lesson - Method Basics] || * VT - Intro to Procedures [|Summary - Procedures] [|Presentation - Using Procedures to Simplify Programs] || VT - Intro to Procedures [|VT - Passing Parameters into Procedures] || <span style="background-color: #ffffff; color: #114488; font-family: 'Segoe UI','Lucida Grande',Arial; vertical-align: baseline;">[|procedure exercises] ||
 * <span style="background-color: #ffffff; color: #0000ff; font-family: 'Segoe UI','Lucida Grande',Arial;">Unit 2: Review Subroutines in Turing **
 * **Date** || **Topic** || **Lesson** || **Resources** || **Exercises** ||
 * || **Summative Project** ||  || Game Ideas by Theme/Difficulty ||   ||
 * O02 || Intro to Subroutines
 * [|Sample Code: Create a Subroutine] || [|Exercises: Basic Subroutines] ||
 * O03 || Procedures in Turing || [|Presentation - Procedures]
 * O04 || Functions in Turing || [|Turing Lesson - Functions]

[|Summary - Functions] || <span style="background-color: #ffffff; color: #114488; font-family: 'Segoe UI','Lucida Grande',Arial; vertical-align: baseline;">VT - Functions || <span style="background-color: #ffffff; color: #114488; font-family: 'Segoe UI','Lucida Grande',Arial; vertical-align: baseline;">[|function exercises] || Reading from Files || [|Presentation] ||  ||   ||
 * <span style="background-color: #ffffff; color: #0000ff; font-family: 'Segoe UI','Lucida Grande',Arial;">Unit 3: File Input/Output **
 * **Date** || **Topic** || **Lesson** || **Resources** || **Exercises** ||
 * N15 || Storing Data in Files
 * N17 || Understanding Text Files || [|Presentation] || [|Sample Input Turing Program] || [|Exercises: Input/Output to File] #1,2,3,5,6 ||
 * D11 || Storing in Records || [|Presentation] ||  || Create a student record and store 5 students information. Have the contents print to a file (efficiently). ||

> (do extensions only after each question tried) || <span style="background-color: #ffffff; color: #114488; font-family: 'Segoe UI','Lucida Grande',Arial; vertical-align: baseline;">[|Sample Code] ||  || (*Challenge) ||
 * <span style="background-color: #ffffff; color: #0000ff; font-family: 'Segoe UI','Lucida Grande',Arial;">Unit 4: Arrays **
 * **Date** || **Topic** || **Lesson** || **Resources** || **Exercises** ||
 * N06 || <span style="background-color: #ffffff; color: #444444; font-family: 'Segoe UI','Lucida Grande',Arial;">Introduction to Arrays in Turing || # [|Presentation - Arrays in Turing]
 * 1) <span style="background-color: #ffffff; color: #444444; font-family: 'Segoe UI','Lucida Grande',Arial; font-family: inherit; vertical-align: baseline; vertical-align: baseline;"> [|[Exercises - Array Basics]] # 1-4
 * || <span style="background-color: #ffffff; color: #444444; font-family: 'Segoe UI','Lucida Grande',Arial;">Strings as Arrays || # [|Presentation - Strings as Arrays] ||  || [|Exercises - Strings]
 * View 1, 2,3,4
 * Practice 8,9,12, 16*
 * || <span style="background-color: #ffffff; color: #444444; font-family: 'Segoe UI','Lucida Grande',Arial;">String Functions & Procedures || # [|Presentation - String Subroutines] || <span style="background-color: #ffffff; color: #114488; font-family: 'Segoe UI','Lucida Grande',Arial; vertical-align: baseline;">[|VT - Strings in Turing (substrings)] || <span style="background-color: #ffffff; color: #114488; font-family: 'Segoe UI','Lucida Grande',Arial; vertical-align: baseline;">[|Exercises - Strings]
 * Practice #14,15,16 ||
 * N22 || ** Assignment - Input/Output & Arrays ** || See Edmodo ||  ||   ||