Stackoverflow for general CS questions
Ray Wenderlich for iOS/macOS questions
Open Data Structures - code and analysis for common data structures in C++, Java, pseudocode, and Python
UW CS Circles in Python
UW CEMC courseware especially the MCV, MHF, and Problem Solving courses
UW CS136 Handouts in C on basic data structures
Algorithms course in Java by Kevin Wayne and Robert Sedgewick
Neural Networks and Deep Learning by Andrew Ng
Neural Networks and Deep Learning by Michael Nielsen - a very accessible approach to neural networks
Artificial Intelligence: Foundations of Computational Agents
Ray Tracing in One Weekend Simple ray tracing resource by Peter Shirley - this is a great starting point if you are interested in ray tracing
CCC Grader Registration (for students)
CCC Grader Management (for teachers)
DMOJ online judge for CCC practice
CEMC for contest resources
You can continue to work on your projects (and even show me them!)
You are welcome to continue working on assignments one and two if you hadn't finished those earlier in the semester
Additional resources for summer learning
Problem solving questions (mathmatics - in rough order of difficulty)
Fermat (Grade 11) CEMC
Euclid (Grade 12) CEMC
Canadian Math Olympiad (past contests are near the bottom of the page)
Problem solving questions (computer science)
Practice for elementary and early algorithms in computer science through websites such as:
DMOJ online judge for CCC practice
Canadian Computing Competition and Canadian Computing Olympiad CEMC
Lessons on python CEMC
Lessons on grade 12 calculus (high school) CEMC
Lessons on grade 12 advanced functions (high school) CEMC
Lessons on grade 9, 10, 11 mathematics (high school) CEMC
For those of you going into grade 11 IB, keep in mind that 3UW is a combination of Ontario grade 11 MCR3U and grade 12 Advanced Functions MHF4U
MIT Open Courseware Mathematics for Computer Science (Discrete mathematics)
Lessons on algorithms
Tim Roughgarden's Videos on Algorithms (Stanford CS professor)
Lessons on computer graphics
Lessons on user interfaces and human-computer interaction
Lessons on languages and compilers
Lessons on scientific computing
Most of these courses will require multi-variable calculus and linear algebra
For a similar, and yet different approach, this website teachyourselfcs has excellent links to online courses and discussion about the requirements to becoming a computer scientist
Just a reminder of Google Classroom code foa5zbn - a lot of information is also posted there!
Here is a Frequently Asked Questions List from the board on common student questions
Please fill out the following check-in for this week
This week you are emptying lockers and returning all school materials (textbooks, musical instruments, Chromebooks if grade 12, etc.)
If your locker is on the 3rd floor you must empty your locker - the third floor lockers are being replaced this summer
This week is the last time anything can be submitted for marks in any of your courses for this semester
Since this is a grade 12 course and Chromebooks are to be handed in this week, all material must have been handed in already if it was to be counted for marks
You can continue to work on your projects (and even show me them!)
Consider the following:
Just a reminder of Google Classroom code foa5zbn - a lot of information is also posted there!
Here is a Frequently Asked Questions List from the board on common student questions
This week you will prepare your project for a final hand-in
If you want any of your assignment questions to add to your mark, you need to submit them this week
Send me an email if you have handed something in and want me to mark it
Information will be sent out on Monday June 8 for signing up to clear out your lockers and return any school materials (Chromebooks, textbooks, library books, instruments)
Sign-up information sent through a phoner and Guidance Google Classrooms
This is very important if you are in grade 12 and this is your last year at Cameron
You absolutely must complete the sign-up process!
All lockers on the third floor are being replaced this summer - if your locker is on the third floor, you must sign up to empty your locker and remove the lock
Since Chromebooks are potentially gone from students starting Monday, June 15th, the last day to hand in your project and assignments for marks is Sunday, June 14th
Just a reminder of Google Classroom code foa5zbn - a lot of information is also posted there!
Here is a Frequently Asked Questions List from the board on common student questions
Expectation is high school students will spend 3 hours per course per week
Please complete the student check-in survey for last week if you haven't already finished it
Project Check-in for those who still need to finish it
Go to the Google Drive ICS4 hand-in folder that has been shared with you
Create a folder in there called "Project Check-In"
Put all source files and documentation related to your project into the folder
This includes any experiments you have done related to your project
Create a Google Doc file in the folder
Call that doc file "Readme"
In the doc, provide a status update of your project - what's been done, and next steps
In the doc, explain how I can understand the files you've handed in
Bullet points are fine in this doc!
Your project is not expected to be done yet! The project is due on the last day of class for the semester - we still don't know this day yet!
You still have 4 to 5 weeks left to finish your project
I am not expecting to build your project, so there can be bugs, it might not compile, the code might look awful - it's ok!
Do not hand in any third party libraries or code, but tell me in your Readme document what you have been using including a link to where I can find what you've been using
The final hand-in of the project will be a similar process, so consider this a practice run for the final hand-in
If you have already done the project check-in, then continue working on your project
Only a few weeks to go!
Get the finishing touches done!
Just a reminder of Google Classroom code foa5zbn - a lot of information is also posted there!
Here is a Frequently Asked Questions List from the board on common student questions
Expectation is high school students will spend 3 hours per course per week
Please complete the student check-in survey for this week
Project Check-in
Go to the Google Drive ICS4 hand-in folder that has been shared with you
Create a folder in there called "Project Check-In"
Put all source files and documentation related to your project into the folder
This includes any experiments you have done related to your project
Create a Google Doc file in the folder
Call that doc file "Readme"
In the doc, provide a status update of your project - what's been done, and next steps
In the doc, explain how I can understand the files you've handed in
Bullet points are fine in this doc!
Your project is not expected to be done yet! The project is due on the last day of class for the semester - we still don't know this day yet!
You still have 4 to 5 weeks left to finish your project
I am not expecting to build your project, so there can be bugs, it might not compile, the code might look awful - it's ok!
Do not hand in any third party libraries or code, but tell me in your Readme document what you have been using including a link to where I can find what you've been using
The final hand-in of the project will be a similar process, so consider this a practice run for the final hand-in
Just a reminder of Google Classroom code foa5zbn - a lot of information is also posted there!
Consider the following:
Here is a Frequently Asked Questions List from the board on common student questions
Expectation is high school students will spend 3 hours per course per week
Focus on your project
Typically some parts of student projects are working well at this point, but other parts are still a challenge
Motivation is always hard at this time of the year - keep working at it!
I can help you debug your project, but it might be a challenge with distance learning and different systems - sending me screenshots or code snippets might help
If you haven't already completed last week's check-in, please finish it this week
Just a reminder of Google Classroom code foa5zbn - a lot of information is also posted there!
Make Four 4s Desmos activity just for fun - how many can you get?
Consider the following:
Here is a Frequently Asked Questions List from the board on common student questions
Expectation is high school students will spend 3 hours per course per week
Focus on your project
Typically some parts of student projects are working well at this point, but other parts are still a challenge
Motivation is always hard at this time of the year - keep working at it!
I can help you debug your project, but it might be a challenge with distance learning and different systems - sending me screenshots or code snippets might help
Complete this week's check-in
Just a reminder of Google Classroom code foa5zbn - a lot of information is also posted there!
Consider the following:
Here is a Frequently Asked Questions List from the board on common student questions
Expectation is high school students will spend 3 hours per course per week
Focus on your project
Now that we know what we are building for the project, we need to figure out how to build it
What are the parts that you still need to learn more about? How can you find out more?
How can you assemble these parts?
Start building the pieces you can build
At this point in the project, you may have been able to work through some areas of the project but other areas might still be a mystery - this is normal! The important part is to keep working at it, one day at a time
If you are interested in learning more about lessons we would have had in class, take a look at the next few lessons
This is non-evaluative
The code is already in the class google drive folder
The reason for the gap in the lesson numbers is that lessons 19-26 are for Swift and iOS programming
Just a reminder of Google Classroom code foa5zbn - a lot of information is also posted there!
Consider the following:
Please complete self-assessment if you hadn't already from two weeks ago
Here is a Frequently Asked Questions List from the board on common student questions
Expectation is high school students will spend 3 hours per course per week
Focus on your project
Now that we know what we are building for the project, we need to figure out how to build it
What are the parts that you still need to learn more about? How can you find out more?
How can you assemble these parts?
Start building the pieces you can build
If you are interested in learning more about lessons we would have had in class, take a look at the next few lessons
This is non-evaluative
The code is already in the class google drive folder
Just a reminder of Google Classroom code foa5zbn - a lot of information is also posted there!
Consider the following Interesting CS Applications 1 and see how you would approach it. I will post more in the following days purely for your own interest
Please complete self-assessment for April 17th if you hadn't already done that last week
Here is a Frequently Asked Questions List from the board on common student questions
Expectation is high school students will spend 3 hours per course per week
Focus on your project
Now that we know what we are building for the project, we need to figure out how to build it
What are the parts that you still need to learn more about? How can you find out more?
How can you assemble these parts?
Start building the pieces you can build
If you are interested in learning more about lessons we would have had in class, take a look at the next few lessons
This is non-evaluative
The code is already in the class google drive folder
Finish Lesson 12 Tower of Hanoi
Complete self-assessment for April 17th
Complete check-in survey for April 6th week
Stay healthy! Practice safe social distancing and flatten the curve!
Emergency distance learning through this time - for more information, see this announcement
Here is a Frequently Asked Questions List from the board on common student questions
Expectation is high school students will spend 3 hours per course per week
For computer science:
Finish Assignment 1 and hand into google drive
Assignment 2 has been cancelled - you can work on this if you want, but the assignment will not be marked
Focus on your project
Mandated school shutdown
Stay healthy! Practice safe social distancing and flatten the curve!
Assignment 2 has been cancelled for the semester
You do not have to hand this assignment in for this semester and it will not affect your mark
Your focus should be on you and your family right now
You are under no obligation to do so, but if you want to work on computer science over the next few weeks, you can:
Start working on your course project
Look at lessons that we will eventually worked through - they are shown below and code is in your shared Google Drive folder
Complete and hand in any Assignment 1 questions - I will start marking those as you hand them in
A Google Sheets file will be shared with each of you that shows the results of Assignment 1
Remember that we will figure out how to finish the semester together! You do not need to worry about marks right now!
More information will be forthcoming as plans are formed - in the meantime, stay safe!
To help me with planning for the coming weeks, could you please fill out the following survey
I have been posting additional information in Google Classroom - please make sure your email notifications have been turned on so you can see the posts through email
Finish assignment 1
Finish project proposals
Work on project proposals
Work on project proposal
Continue Lesson 11 Introduction to Recursion (Add separators to integers)
Work period
Work period
Continue Lesson 11 Introduction to Recursion (Fibonacci Sequence)
Lesson 11 Introduction to Recursion (Fibonacci Sequence)
Work period
Work period
Work period
Guest speakers - Sooraj, Anthony, Jenny from Guelph
Guest speaker - Peter from Shopify
Google Summer Opportunity for grade 12 students
Work period
Examine linear search in Swift
Printing, types, and variables
Examine linear search in C++
Lightbot
Complete the Information Questionnaire
Linear Search and binary search
What is an algorithm?
Sample problem
Dot triangle
The development environment
Code: How big is big?
An infographic on sizes of different code bases
In comparison, your final project will be between several hundred to several thousand lines of code
No class today
Welcome!
Website resources
Google Classroom code foa5zbn
Language and development environment - your choice this year:
Swift vs C++
Graphics vs command line
Development environment - repl.it (website), Code::Blocks (Windows, Linux), Visual Studio (Windows only), Xcode (macOS only)
What is computer science?