Computer Science

"What would we like our children- the general public of the future—to learn about computer science in schools? We need to do away with the myth that computer science is about computers. Computer science is no more about computers than astronomy is about telescopes, biology is about microscopes or chemistry is about beakers and test tubes. Science is not about tools, it is about how we use them and what we find out when we do."

Computer Science

Computers are all around us, and Computer Science (CS) is often seen as using or building computers.  These are the byproduct of the discipline.  Computer Science is about solving abstract problems, but also concrete ones.  It is increasingly embedded within Health Care, Business, Engineering, and other domains.  Problems that can be solved by Computer Scientists will often also involve having an understanding of these other domains.  Computer Scientists can be seen as part Mathematician, part Scientist, part Engineer, and increasingly, part Artist.

Why Learn CS?

Computer Science is often recommended as a field of study because of the opportunity for jobs.  More and more careers are in the STEM (Science, Technology, Engineering, Math) fields.  CS, however, is more than an opportunity for a career.  CS is a problem-solving discipline.  It teaches students how to think abstractly, how to decompose problems, and how to think algorithmically.  These skills are useful to careers beyond CS.  Practice in thinking is good for all.  CS is a changing and growing field, so it gives students the opportunity to explore challenging and interesting topics simply for fun.

Courses

Digital Technology and Innovations in the Changing World - ICD2O - Grade 10 (Open)

Formerly ICS2O. Students will be introduced to computer programming.  Different programming platforms in block-based programming may be explored such as Scratch and App Inventor.  They will follow a design process to build their own game or app.  Students will examine the role of computers in society and the responsibility of IT personnel and programmers. Computer and network hardware are also discussed.  (Prerequisite: None)

Introduction to Computer Science - ICS3U - Grade 11 (University)

Students will be introduced to programming in Python.  The course is taught with Object Oriented Principles in mind.  Students focus on algorithmic thinking and decomposition in order to solve problems.  Collaboration and teamwork are an important skill relied upon by students.  Computer Science is reinforced as a problem solving discipline.  From software that powers MRI machines, to self driving cars, to video games, Computer Science is about solving problems in a way that leverages the power of the computer.  Students discuss technological current events and their ethical consequences.  Students also examine how new technology may challenge Catholic social teaching.

(Prerequisite: None)

Computer Science - ICS4U - Grade 12 (University)

In grade 12 students continue to use Python to explore advanced concepts in Computer Science.  Students delve into inheritance, polymorphism, recursion, advanced data structures, and more.  A focus on planning and Object Oriented design is maintained along with and exploration of design patterns.  Students reflect upon their designs and the designs of their peers.  The class introduces topics such as Big Data and Machine Learning.  Students use large scale projects to explore concepts and refine design skills. Projects include advanced media manipulation such as image filters, or creating images from raw data.

(Prerequisite: ICS3U)

Grade 12: Computer generated image from elevation data.