Ontario Grade 11 ICS3C Introduction to Computer Programming (Grade 11, College Preparation)
Chapters: 4
1. A. Programming Concepts and Skills
A1 Data Types and Expressions · A2 Control Structures and Simple Algorithms · A3 Code Maintenance
- Python Basics: Modes, Variables, Data Types and Operators – Python runs in interactive mode (one line at a time) or script mode (a saved .py file). Blocks are shown by indentation. Variables are names tied to values; every value has a data type, and some types are mutable. Operators build expressions that Python works out by precedence. input() reads text, int()/float()/str() convert types, and debugging fixes syntax, runtime and logical errors.
- Control Statements in Python: if-else, while and for – Normally Python runs lines one after another (sequence). Control statements change this flow. if-else chooses one of two paths; if-elif-else picks the first true condition from many. while repeats a block while a condition is true; for repeats once for each item of a sequence such as range(start, stop, step).
- Programming Basics: Sequence, Selection, Loops and Functions – A program is a set of exact instructions a computer follows. Every program is built from three structures: sequence (steps in order), selection (if/else choices) and iteration (loops). Variables store values. Functions group code into reusable, named blocks, which makes programs modular and easier to test, debug and maintain.
2. B. Software Development
B1 Problem-solving Strategies · B2 Designing Software Solutions · B3 Designing Simple Algorithms · B4 The Software Development Life Cycle
- Introduction to Problem Solving – Problem solving on a computer has stages: analyse the problem (inputs, outputs, rules), develop an algorithm (a finite, clear, ordered set of steps), code it in a programming language, test it with different inputs, and debug (find and remove errors). An algorithm can be shown as a flowchart (oval = start/stop, parallelogram = input/output, rectangle = process, diamond = decision, arrows = flow) or as pseudocode (structured plain English). Decomposition breaks a big problem into smaller sub-problems that are solved separately and then joined.
- Software Design: Planning a Program Before You Code – Software design is planning a program before writing code. A big problem is split into small modules, each doing one job. A template (skeleton) gives every program the same order: header comment, constants, functions, then the main part. Modularity means writing a job once as a function and reusing it, so code is shorter and bugs are fixed in one place. main() calls the functions in order; each takes parameters and returns a value. Clear names, comments and consistent style make code readable. A user-friendly interface uses big clear controls, simple words, helpful error messages and works for everyone.
- Programming Basics: Sequence, Selection, Loops and Functions – A program is a set of exact instructions a computer follows. Every program is built from three structures: sequence (steps in order), selection (if/else choices) and iteration (loops). Variables store values. Functions group code into reusable, named blocks, which makes programs modular and easier to test, debug and maintain.
- Software Development: From Idea to Working App – Good software is built in stages: analyse the problem and write requirements, design the solution, code it in small parts, test it with normal, boundary and erroneous data, deploy it to users and maintain it. Waterfall does each stage once in order; agile repeats short cycles. Robust programs validate input, and teams use version control, clear roles and feedback from users.
3. C. Computer Environments and Systems
C1 Computer Components · C2 File Maintenance · C3 The Software Development Environment
- Basic Computer Organisation – A computer system has hardware (parts you can touch) and software (instructions). Input devices bring data in, the CPU (ALU + Control Unit + registers) processes it, and output devices give results. Memory forms a ladder: registers and cache are tiny and fastest, primary memory (RAM, ROM) holds running programs, and secondary storage (HDD, SSD, pen drive) keeps data permanently. Memory is measured in bits and bytes: 8 bits = 1 byte, and each bigger unit (KB, MB, GB, TB, PB) is 1024 times the one before.
- Computers and Computing: Evolution, Parts and I/O Devices – A computer is an electronic machine that takes input, processes it under the control of a program, stores data and gives output. Computing devices grew from the abacus to smartphones. Every computer has an input unit, a CPU, memory and an output unit, joined by buses and ports.
- File Management: Files, Folders, Paths and Backups – A file is named data; its extension tells its type. The operating system keeps files in folders that form a tree, and a path is the route from a drive to a file. Good file management means clear names, a logical folder plan, the right drive (local, external, network or cloud), regular backups (3-2-1 rule), archiving old work and protecting files from malware.
- Software Development: From Idea to Working App – Good software is built in stages: analyse the problem and write requirements, design the solution, code it in small parts, test it with normal, boundary and erroneous data, deploy it to users and maintain it. Waterfall does each stage once in order; agile repeats short cycles. Robust programs validate input, and teams use version control, clear roles and feedback from users.
4. D. Computers and Society
D1 Environmental Stewardship and Sustainability · D2 Safe Computing · D3 Emerging Technologies · D4 Postsecondary Opportunities
- Environmental Stewardship: Caring for the Planet as We Use Technology – Environmental stewardship means using the Earth's resources carefully so they last, and fixing harm where we can. Every product, from a phone to a hospital machine, has a life cycle: raw materials, making, transport, use and end of life. Each stage uses energy and makes waste. Good stewards keep products longer, choose efficient machines, follow the waste hierarchy (refuse, reduce, reuse, recycle, then dispose), send e-waste to proper recyclers and support laws and company practices that protect nature. Technology can harm the environment, but it can also help: solar panels, LEDs and smart sensors cut waste.
- Cybersecurity: Threats and How We Stop Them – Cybersecurity protects computers, networks and data. It aims for confidentiality, integrity and availability (the CIA triad). Common threats are malware, phishing and social engineering, brute-force password attacks and denial of service. Defences include strong authentication, encryption, firewalls, anti-malware software, updates, access control and backups.
- Emerging Trends: AI, IoT, Cloud and Blockchain – Emerging technologies are new tools that are changing how we live and work. AI lets machines do smart tasks; machine learning lets them learn from data; NLP lets them use human language. AR adds virtual things to the real world, VR replaces it. Robots sense, think and act. IoT devices with sensors create big data, which smart cities use. Cloud computing rents out IaaS, PaaS or SaaS over the internet; grid computing joins many computers for one big job. Blockchain keeps a shared record that is very hard to change secretly.
- Career Planning: From Knowing Yourself to Your First Job – Career planning has five steps. 1) Know yourself: interests, skills and values. 2) Explore career families and find out the work, study needed, pay and demand. 3) Plan a pathway with SMART goals and a plan B. 4) Search for jobs with a CV, cover letter, digital portfolio and interview practice. 5) Make the move from school to work and keep learning, because careers change over a lifetime.