Monday, Sept. 1
Holiday, No school
Tuesday, Sept. 2 and Wednesday, Sept. 3
Unit 1 – Lesson 1: Course Introduction & Hardware Overview
Big Ideas:
· Welcome to ICS3U: building the foundation for our learning journey
· Computers are systems made of hardware and software
· Classroom community: respect, responsibility, and collaboration
Learning Goals
· Get to know the teacher and classmates
· Understand course rules, expectations, course structure, and evaluation and assessment methods
· Identify key components of a computer system (hardware)
· Explain the function of components like CPU, RAM, ROM, motherboard, etc.
· Describe how hardware is involved in running programs
· Explain how hardware components interact during program execution.
Class Work / Homework
· Introductions and icebreaker activity
· Course outline review (rules, grading, tools: VS Code, Google Classroom, Kahoot)
· Computer hardware components (internal vs. external)
· Islamic Integration
Reflection: Technology is a tool. As Muslims, we are taught to use tools for good purposes, avoiding harm.
· Kahoot Quiz: inside a computer
· Homework:
o Computer components activity table.
o Write 5 visible parts of your computer or laptop or write a reflection “why do programmers need to understand computer hardware?”
Assessment / Evaluation
· Observation during icebreaker & discussion
· Participation in class activities
· Homework check
Materials & Resources
· Course outline (Website / Google Classroom)
· Slides and lesson explanations: Google Classroom
· References and resources for more understanding Google Classroom
Friday, Sept. 5
Unit 1 – Lesson 2: CPU, Memory (RAM & ROM), Storage & Motherboard
Big Ideas
· Computers rely on a balance of CPU, memory, and storage to function effectively
· The motherboard connects all internal components into one system
Learning Goals
Describe the role of the CPU and how it processes instructions.
Explain the difference between RAM (temporary), ROM, and Storage (permanent).
Identify the motherboard and its role in connecting all components.
Compare HDDs vs SSDs in terms of performance and reliability.
Relate these hardware parts to program execution.
Class Work / Homework
· CPU, RAM, ROM, Storage, Motherboard
· Class discussion & check for understanding.
· Class activity: Fill-in-the-table worksheet
Islamic Integration Reflection
Computers depend on different components (CPU, RAM, storage, motherboard) working together. How can this remind us of the importance of cooperation and unity in the Muslim ummah? Support your answer with an ayah or hadith if possible.
· Homework:
1- Answer The questions in ICS3U: Week 1 - Lesson 2 - Homework (Google Forms).
2- Fill the table in the Activity Table (Google Document).
3- Read and view all the attached references.
Assessment / Evaluation
· Completed worksheet
· Participation in class activities
· Homework check
· Oral participation during group discussion
· Homework (knowledge, understanding, critical thinking)
Materials & Resources
· Slides: “CPU, RAM, ROM, Storage, Motherboard”
· Lesson explanation and details
· Worksheet: Internal Components Table
· Videos and some websites for more understanding
Monday, Sept. 8
We will finish (Week 1- Fri. Sept. 5- Lesson 2)
Tuesday, Sept. 9
Unit 1 – Lesson 3: Input, Output & Peripheral Devices
Big Ideas
Computers rely on input devices to receive data and output devices to present results.
Peripherals extend the capabilities of a computer beyond its core components.
The Information Processing Cycle (Input → Process → Output → Storage) explains how all parts work together.
As Muslims, we must also reflect on the “inputs” in our lives and how they affect our “outputs” (actions and deeds).
Learning Objectives
By the end of this lesson, you will be able to:
· Identify common input and output devices and describe their functions.
· Explain the role of peripherals and how they expand computer capabilities.
· Differentiate between internal components (CPU, RAM, Storage, Motherboard) and external devices.
· Understand how input → processing → output → storage forms the Information Processing Cycle.
· Reflect on how technology tools can be used responsibly considering Islamic values.
Class Work / Homework
Class Work
Warm-up: list 3 input devices and 3 output devices.
Input devices, output devices, peripherals.
Demonstration: information processing cycle explained with real-life coding example.
Activity: Fill in the Input/Output/Peripheral Table.
Class discussion: “How can we make sure the ‘inputs’ we give to our lives lead to good ‘outputs’ in line with Islamic values?”
Homework
Part A: Multiple-choice questions (printer, touchscreen, webcam, speakers).
Part B: Short answers (list input/output devices, USB vs RAM, touchscreen role).
Part C: Worksheet (fill-in-the-blanks, match the device, short answer).
Islamic Integration: “How can we make sure the ‘inputs’ we give to our lives lead to good ‘outputs’ in line with Islamic values?”
Assessment / Evaluation
· Participation in class discussion and warm-up activity. (AfL)
· Completion of the Input/Output/Peripheral Table. (AfL)
· Accuracy on homework (MCQs, worksheet, short answers). (AoL)
· Observation of engagement during Islamic integration discussion. (AaL)
Materials & Resources
· Slides: “Input, Output & Peripherals”
· Worksheet: Device Sorting Table (provided in doc)
· W3Schools – Components of a Computer
· YouTube – Input & Output Devices Explained
· YouTube – Information Processing Cycle
Wednesday, Sept. 10: Lesson 4
Operating System Basics (File Systems, Processes, OS Examples)
· Big Ideas
· An Operating System (OS) is essential software that manages computer hardware, files, and processes.
· Different OS examples (Windows, macOS, Linux, Android) provide similar functions but with different interfaces and features.
· Understanding OS basics supports both hardware knowledge and programming skills.
· Learning Objectives
By the end of this lesson, students will be able to:
· Describe the role of the Operating System in managing hardware and software.
· Explain how file systems organize and store data.
· Understand process management (how the OS runs programs and multitasks).
· Compare examples of different operating systems (Windows, Linux, macOS, Android).
· Apply knowledge through group analysis, quiz, and a short homework task.
· Instructional Strategies
· Direct instruction with slides and visuals.
· Video demo on how OS manages files and tasks.
· activity: compare features of different OS.
· Hands-on lab: file management (create, move, organize folders).
· Game-based review (Kahoot quiz).
· Assessment / Evaluation
· Assessment as Learning (AoL): Students reflect on which OS they prefer and why.
· Assessment for Learning (AfL): Hands-on Activity (file Management), Teacher circulates during discussions, and Kahoot quiz to check understanding.
· Assessment of Learning (AaL): Homework assignment – “Compare two OSs in a 1-page report.”
· Homework / Class Work
· Class Work: File management lab, group OS comparison chart, Kahoot quiz.
· Homework: 1-page comparison of two OS (features, strengths, weaknesses). Submit via Google Classroom.
· Kahoot Quiz
· Materials & Resources
· Projector/ slides.
· Lab computers.
· Google Classroom (for homework).
· References & Tools:
o Khan Academy – Operating Systems Basics
o W3Schools – Introduction to Operating Systems
o YouTube – What Is an Operating System, What is an Operating System? Goals & Functions of Operating System | Concept Simplified by Animation
o Kahoot quiz.
· Overall Expectations
· C2: Use appropriate file maintenance practices to organize and safeguard data.
· C3: Demonstrate an understanding of the software development process
· Specific Expectations
· C2.1: Use an operating system to organize computer programs and files logically on local and shared drives.
· C3.3: Explain the difference between source code and machine code.
· C3.5: Explain the difference between the functions of applications, programming languages, and operating systems
· Success Criteria
· I can describe the role of the OS in managing files and processes.
· I can explain the differences between file storage and RAM.
· I can compare Windows, macOS, Linux, and Android.
· I can demonstrate file management in practice.
· I can write a short reflection/report comparing two OS.
Friday, Sept. 12
TBA
Tus. & Wed. Sept. 30 & Oct. 1
Lesson 8: Introduction to CSS – Styling Text, Colors, Backgrounds
In CodeHS do:
1.3.1 Exercise 1: Inline CSS
1.3.2 Exercise 2: Internal CSS
1.3.3 Exercise 3: External CSS
1.4.1 Web project part 1: Profile Page
Upcoming Lessons & Unit 2 Test
Friday, Oct. 3 & Monday, Oct. 6: JavaScript Basics: Alerts, Input/Output
Tuesday, Oct. 7: Variables & Types (Java + JS)
Wednesday, Oct. 8: Project Part 2: Interactive Profile Page
Friday, Oct. 10: Unit 2 Test
Practice Instructions:
Practice HTML coding in the CodeHS Sandbox.
Do NOT copy-paste code, the test will be written on paper, with no computer access.
The key to success = practice, practice, practice!
Mon., Tue. Oct. 13,14
No school
Wed. Oct. 15
Lesson 11 - Introduction to Java, Input and Output (Scanner)
By the end of this lesson, you will be able to:
· Explain how Java programs handle input and output.
· Use the System.out.println() method to display output to the console.
· Use the Scanner class to read input from the user.
· Apply the input–process–output model in simple Java programs.
· Identify and correct syntax and runtime errors related to input/output operations.
· Use proper naming conventions and commenting in Java code.
Class Work / Homework
· In-Class Task: Write a Java program that asks for your name and age, then prints:
"Hello [name], you are [age] years old!"
· Homework: Add a section that calculates the year you will turn 30.
· Extension: Ask user for favorite color and print a custom message.
Assessment & Evaluation
· Guided Coding Tasks: inputs and outputs
· Debugging practice: Identify and fix the errors
· Guided Coding Activity: “Mini Bio Program”
. Quiz: Java Output & Structure
Fri. Oct. 17
Portfilio Webpage Project Presentations
Monday Oct. 20:
Portfolio Webpage Project Presentations
Tue. Oct. 21:
Portfolio Webpage Project Presentations Con. + Celeprate your achievement + Pizza Lunch.🎉 🍕
Wed. Oct. 22:
Lesson 12 - Java Variables and Data Types
By the end of this lesson, you will be able to:
· Explain what variables and data types are and why they are used.
· Declare variables of basic types (int, double, String, boolean).
· Assign and update values using assignment (=) and arithmetic operators.
· Combine string and numeric expressions in output.
· Follow Java naming and commenting conventions in CodeHS.
· Debug and correct variable-related syntax errors.
Class Work / Homework
· In-Class Task: Exit Ticket, Common Errors and Debugging Activity
· Small coding tasks
· Guided Coding Practice: “Personal Profile Program”
· Debugging Practice
· Assignment: Assignment “Average”
Assessment & Evaluation
· Guided Coding Tasks: Students create variables, assign values, and print results.
· Debugging practice: Fix syntax and naming errors in a sample program.
· Guided Coding Activities: Short tasks on variables and arithmetic operations.
· Exit ticket quiz: types and assignment rules.
Fri. Oct. 24:
Lesson 13: Java Conditionals (if, else)
Big Ideas
· Programs make decisions using conditional statements (if, else if, else) to respond dynamically to user input.
· Boolean logic is the foundation of all computer decision-making.
· The correct use of comparison and logical operators ensures accurate program flow.
· Understanding how selection control structures work prepares students to build interactive and intelligent programs.
Learning Objectives
By the end of this lesson, you will be able to:
· Write Java programs that make decisions using if, else if, and else statements.
· Apply comparison (>, <, >=, <=, ==, !=) and logical (&&, ||, !) operators in Boolean expressions.
· Combine multiple conditions logically and structure code for clarity.
· Predict, trace, and debug program outcomes based on different conditions.
· Follow professional naming, indentation, and commenting standards in CodeHS.
Homework & Assignments:
Exercise 1.9.1 Variables
Exercise 1.9.2 Debugging Practice
Exercise 1.9.3 Guided Coding Practice: “Personal Profile Program”
Exercise 1.9.4 Assignment “Average”
Mon. Oct. 27:
Lesson 13: Java Conditionals (if, else)
Big Ideas
· Programs make decisions using conditional statements (if, else if, else) to respond dynamically to user input.
· Boolean logic is the foundation of all computer decision-making.
· The correct use of comparison and logical operators ensures accurate program flow.
· Understanding how selection control structures work prepares students to build interactive and intelligent programs.
Learning Objectives
By the end of this lesson, you will be able to:
· Write Java programs that make decisions using if, else if, and else statements.
· Apply comparison (>, <, >=, <=, ==, !=) and logical (&&, ||, !) operators in Boolean expressions.
· Combine multiple conditions logically and structure code for clarity.
· Predict, trace, and debug program outcomes based on different conditions.
· Follow professional naming, indentation, and commenting standards in CodeHS.
Homework & Assignments:
Exercise 1.9.1 Variables
Exercise 1.9.2 Debugging Practice
Exercise 1.9.3 Guided Coding Practice: “Personal Profile Program”
Exercise 1.9.4 Assignment “Average”
Tue. Oct. 28
Lesson 14: Java Loops - for, while, and do-while
Big Ideas
· Repetition in programming saves time and reduces errors.
· Loops let computers repeat tasks automatically instead of rewriting the same code.
· Control structures like loops make programs efficient, flexible, and readable.
Learning Objectives
By the end of this lesson, you will be able to:
· Explain the purpose and structure of for, while and do-while loops.
· Write, trace, and test loops in Java using CodeHS.
· Use loops to repeat actions based on conditions.
· Apply commenting, indentation, and debugging techniques when using loops.
Homework, Assignments:
Wed. Oct. 29
Unit 2 Revision JAVA
Fri. Oct. 31
Unit 2 Test 2
Mon. & Tue- Nov. 3,4
Unit 3: System Integration & Advanced Programming
Lesson 1: Nested Loops in Java
Big Ideas
· Nested loops allow programmers to repeat actions within other actions, essential for building patterns, tables, and multi-level algorithms.
· Mastering nested repetition leads to efficient problem solving, especially in data structures, graphics, and game design.
· Accuracy, indentation, and order in loops reflect the importance of structure, discipline, and precision in computational thinking and in life.
Class work/ Tasks/ Homework
2.1.1 Demo: Building a Star Pattern
2.1.2 Callenge: Star Triangle Pattern
2.1.3 Guided Practice
2.1.4 Independent Practice: Multiplication Table
Wed. Nov. 5
Lesson 2: Arrays (Declare, Loop)
Big Ideas
· Arrays store multiple related values under a single name, improving organization and efficiency.
· Loops and arrays work together to process large amounts of data quickly.
· Arrays are the foundation for data structures like lists, stacks, and databases.
Debugging array errors (index out of bounds) builds logical precision and patience.
Class work/ Tasks/ Homework
2.2.1 Example: Looping Through Arrays
2.2.2 Student Activity - Grades Average
2.2.3 Challenge - Find Maximum
Fri. Nov. 7
Lesson 3: Troubleshooting & Dry-Run Debugging
Big Ideas
· Programs rarely work perfectly on the first try- debugging is an essential part of programming.
· Understanding how to trace program flow helps identify logic, syntax, and runtime errors.
· Debugging is not just fixing errors; it’s learning how a program works.
· Manual tracing strengthens algorithmic thinking.
Patience and attention to detail are key skills of good programmers.
Class work/ Tasks/ Homework
Manual Trace Table Practice (Dry Run)
Debugging Challenge
Independent Debugging Practice
Mon. Nov. 10
No school
Tue- Nov. 11
Lesson 3: Worksheet Troubleshooting & Dry-Run Debugging
Class work/ Tasks/ Homework
You will dry-run and debugg some code parts to understand how computer runs java programs
Wed- Nov. 12
Mini- Project
Class work/ Tasks/ Homework
Unit 3 - Mini Project
Demo Presentation: Friday, November 14
Today, you’ll work on your Java Mini Project to apply everything you’ve learned so far.
Your goal is to create a small interactive java program that solves a simple problem, shows creativity, and demonstrates your understanding of programming logic.
Fri- Nov. 14
Mini- Project Demo Presentation
Class work/ Tasks/ Homework
In-Class Demo
You will have 2–3 minutes to:
Introduce your program (purpose and features).
Explain your logic (what loops/conditions you used).
Run your program to show the output.
Answer one teacher question about your code.
Mon. Nov. 17
Unit3 Test
Tue. Nov. 18
Demo Presentation CONT.
Wed. Nov. 19