ICS4U: Computer Science

Grade: 12

Level: University

Prerequisite: ICS3U

This course enables students to further develop knowledge and skills in computer science. Students will use modular design principles to create complex and fully documented programs, according to industry standards. Student teams will manage a large software development project, from planning through to project review. Students will also analyze algorithms for effectiveness. They will investigate ethical issues in computing and further explore environmental issues, emerging technologies, areas of research in computer science, and careers in the field.

Curriculum | Course Expectations

This is a challenging course, covering more advanced programming techniques, and introducing more theoretical concepts such as data structures and complexity analysis. Other topics include environmental and ethical issues in computer science.

We will be using the Python 3 Tutorial on this site to cover the programming aspect of this course, supplemented by other non-programming materials (algorithm design, pseudocode, flowcharts) as indicated. This is my first time teaching this course, and I am making up resources as I go along, so bear with me!

Link to the ICS4U Tutorial

Link to the older Python 3 Tutorial

Students wishing to work ahead may find the following free books by Al Sweigart of interest. They are fantastic, easy-to-read, and full of great ideas.

Students who have programmed before, or students that are sufficiently motivated, may wish to try some of the programming challenges at Project Euler.

Want to do some Python programming outside of class?

  • Thonny – a fantastic, user-friendly IDE designed for teaching and learning
  • Python/IDLE – the IDE bundled with the official release of Python
  • repl.it – on-line IDE, if you are unable to install Python on a computer
  • ideone.com – another on-line IDE