Grade 12 - ICS4U rev 2.5


This is ICS4U

In this course, on the programming side, we will be exploring data structures, algorithms, object-oriented programming, and databases. We will also be dicussing career paths in computer science, environmental issues, digital security, ethics, and project management.

For the programming in this course, we will be using JavaScript. I know, I know, yadeeyada, JavaScript this and that. It is by far the fastest and most efficient way to make programs/websites that is accessible by everyone. This way my students can start making real products immediately. Also, I like it. Come at me.

In rev 2.5, I have decide to move to TypeScript instead of JavaScript. Generally, programmers consider TypeScript to be a superior language to JavaScript. I don't necessarily disagree. TypeScript certainly offers utilities that JavaScript is currently missing and some of those are clearly beneficial in learning material taught in this course. However, getting started with TypeScript requires more preparation which I don't like for an intermediate course like this. After much debate, the pros did outweigh the cons.

Foreword

Why another website? What happened to all the great online resources? Do not worry, those are still there. But if you are like me and have scoured the internet for resources, you will soon discover two things. One, being many resources are flat out wrong, outdated, contradictory to each other. Two, there are many resources targeted at beginners (due to the market size), and some great but esoteric resources from universities. It is difficult to find anything that fits what I was looking for. The goal is to have tried and true information here (still a work in progress though, maybe in V3).

This website is created by me, Mr. Mike Ma, for my students. If you are a teacher visiting this site, you are more than welcome to use any section of it.