Computer Science 40S Course Archive

Previous Course Events:

The last time this course ran (either last semester, last year, or in the past) the following was the events at that time:


2012-2013: CS40S – Semester 1:

  • Week 1: we went over the course outline and a course survey
  • Week 2: the students worked on a review of Java programming from the CS30S course from last year
  • Week 3: we continued our review of CS30S and discussed where the course will go next, then we started a loop at sequential file handling in Java by doing a large example together
  • Week 4: we continued our look at sequential files and the large example
  • Week 5: students had a discussion about our large final project, we completed our look at sequential files, and began looking at recursion
  • Week 6: students worked on the recursion problem and their final projects
  • Week 7: we looked at timers and threads in Java, and the students worked on a timer problem and their final projects
  • Week 8: students continued working on their timer assignment, we started looking at our first ADT (Advanced Data Type) the Linked List, and students worked on their final projects
  • Week 9: we looked at an example of Java Collections (ArrayList) and continued our look at developing our own Linked List ADT object through example
  • Week 10: students worked on final project preparation and continued our look at developing our own Linked List ADT object through example
  • Week 11: students worked on final project preparation and continued our look at developing our own Linked List ADT object through example
  • Week 12: students worked on final project preparation and continued our look at developing our own Linked List ADT object through example
  • Week 13: we started working on a large class example of game theory and students continued working on their final projects
  • Week 14: we continued working on a large class example of game theory and students continued working on their final projects
  • Week 15: we worked on a class example driven by student input to prepare for the final project
  • Week 16: students began work on their final projects
  • Week 17: students continued working on the final project and worked through the classes 6-10 of the remaining classes in the course
  • Week 18: students continued working on the final project and worked through the classes 11-15 of the remaining classes in the course
  • Week 19: students continued working on the final project and worked through the classes 16-20 of the remaining classes in the course to complete all course assessments

Assessments:

  1. Course survey
  2. Review of CS30S problem sets
  3. Large class example on sequential file handling in Java
  4. Final project report – phase 1
  5. Recursion problem
  6. Timer problem
  7. Large class example on Linked Lists
  8. Collections example
  9. Final project report – phase 2
  10. Preparation work on final projects
  11. Game theory – example
  12. Final Project preparation – example
  13. Final Project – Computer Science 40S

2012-2013: CS40S – Semester 2:

  • Week 1: After getting the course outline and course survey, I explained the details of the course. Then, the students began a review of CS30S
  • Week 2: students continued to work on their review of CS30S material
  • Week 3: students continued to work on their review of CS30S material
  • Week 4: we began our next unit: Recursion with a lecture, example, and class discussion – as well, students began work on a recursion programming problem
  • Week 5: we started our look at sequential files in Java, and the students worked on catching up on work
  • Week 6: due to some delays, and some student requests, we had a few work catch up classes this week, and continued to look at sequential files in Java
  • Week 7: continuing with the same delays and student requests, we continued to look at sequential files in Java
  • Week 8: we completed our look at sequential files in Java and then planned ahead for our next unit
  • Week 9: we started a look at the Linked List ADT in Java with a large class example
  • Week 10: we continued our look at the Linked List through an in class example
  • Week 11: students worked on their final projects through the week
  • Week 12: we began an in-class demo on grid images (2D JLabel array), timers, and sounds to prepare students for their final projects
  • Week 13: we completed our demo on timers in Java
  • Week 14: we started a large, optional gaming example to demonstrate programming concepts students have requested for their final projects
  • Week 15: students worked on their final projects through the week with classes 20 – 15 remaining
  • Week 16: students worked on their final projects through the week with classes 15 – 10 remaining
  • Week 17: students worked on their final projects through the week with classes 10 – 5 remaining
  • Week 18: students worked on their final projects through the week with classes 5 – 1 remaining

Assessments:

  1. Review of CS30S
  2. Recursion: Programming problem
  3. Sequential Files: Programming problem
  4. Programming Extras (sounds and timers): Programming demo
  5. Preparation work on final projects
  6. Game theory – example
  7. Final Project preparation – example
  8. Final Project – Computer Science 40S

2013-2014: CS40S – Semester 1:

  • Week 1: After getting the course outline, and a course survey, students began a review of the CS30S course materials
  • Week 2: students worked through the week on a review of CS30S through various programming problems
  • Week 3: students continued there review of CS30S and we started our first unit on recursion with a presentation, example, and the unit’s assignment
  • Week 4: students worked on recursion problems through the week and we had a Java review quiz, and a recursion unit test
  • Week 5: we started our unit on sequential files and students started working on the unit programming problems
  • Week 6: due to some delays, and some student requests, we had a few work catch up classes this week, and continued to look at sequential files in Java
  • Week 7: we continued working on sequential files in Java and started our next unit on searching and sorting algorithms
  • Week 8: we continued looking at searching and sorting algorithms through the week
  • Week 9: we continued looking at searching and sorting algorithms through the week
  • Week 10: we completed our unit on searching and sorting with the unit test and then started our next unit on linked lists with the first presentation
  • Week 11: Mr. Wachs was ill 2 days this week and the students had work time to catch up or work on current materials, but we continued our look at Linked Lists in Java
  • Week 12: we completed our large Linked List example and students began working on a Linked List assignment
  • Week 13: students worked through the week on the Linked List assignment and we began the discussion around the final project
  • Week 14: Mr. Wachs was away at a conference for 3 days, so students worked on catching up on past work or getting a start on their final projects
  • Week 15: We worked through the week on various programming extras demonstrations to help the students with any unanswered questions before we begin their final projects, as well students could use some of this week’s time on catching up on past work or getting a start on their final projects
  • Week 16: Students started the dedicated time on their final projects with 3 weeks remaining to complete it and any outstanding assignments or redone assignments
  • Week 17: we worked on our final projects with class 10 – 5 (out of the 15 classes left in the course to complete it)
  • Week 18: students worked on their final projects through the week with classes 5 – 1 remaining
  • Week 19: students worked through the week to complete the course

Assessments:

  1. Review of CS30S
  2. CS30S review quiz
  3. Recursion programming problem(s)
  4. Recursion unit test
  5. Sequential files programming problems(s)
  6. Searching and sorting (in class example)
  7. Searching and sorting unit test
  8. Linked Lists programming problem
  9. CS40S – Final Project

2013-2014: CS40S – Semester 2:

  • Week 1: After getting the course outline, and a course survey, students began a review of the CS30S course materials
  • Week 2: students continued working on their review of CS30S materials all week
  • Week 3: due to students not yet handing in a lot of work, we continued our review of CS30S materials this week
  • Week 4: students completed the review of CS30S with a review quiz, then wee started our next unit on recursion with a presentation and example
  • Week 5: students worked through the week on recursion problems and we had the recursion quiz
  • Week 6: we began our next unit with several presentations and an example of sequential file handling in java
  • Week 7: the students had a work week working on sequential file programming problems (or any programming problems from past units)
  • Week 8: we began the week with the sequential files unit quiz, and then started the searching and sorting unit with some presentations and examples. The students could then begin a new set of programming problems
  • Week 9: after spring break I was away on a field trip for two days and the students had work catch up time. When I returned, we continued looking at our searching and sorting unit with presentations, examples and new programming problems.
  • Week 10: we continued looking at our searching and sorting unit, completing the presentations, examples and students worked on the new programming problems.
  • Week 11: we continued looking at our searching and sorting unit and students worked on the programming problems.
  • Week 12: we completed our searching and sorting unit and had the unit quiz. As well, we started the Linked List unit with a large example
  • Week 13: we continued working on our large Linked List example
  • Week 14: we completed our large Linked List example. Students who wanted to, could participate in an optional demonstration of a gaming example to help cover some student requested programming extras.
  • Week 15: students worked on their final projects, and we continued our optional demonstration of a gaming example to help cover some student requested programming extras
  • Week 16: students worked on their final projects
  • Week 17: students worked on their final projects
  • Week 18: in our final week of classes together, students worked on their final projects and then handed them in

Assessments:

  1. Review of CS30S
  2. CS30S – Review quiz
  3. Recursion – programming problems
  4. Recursion – Unit quiz
  5. Sequential files – programming problems
  6. Sequential files – Unit quiz
  7. Searching and sorting – programming problems
  8. Linked List – programming example
  9. Final Project – CS40S

2014-2015: CS40S – Semester 1:

  • Week 1: After getting the course outline and a course survey, students started the review of CS30S.
  • Week 2: students continued working on the review of CS30S
  • Week 3: we started our next unit with a presentation and examples of recursion, and then students worked on the recursion programming problems
  • Week 4: students worked through the week on the recursion programming problems, and we completed the week with the recursion unit quiz
  • Week 5: students began our next unit in sequential files with a presentation and example
  • Week 6: Students worked through the week on sequential files programming problems
  • Week 7: Students worked through the week on sequential files programming problems
  • Week 8: we completed our sequential files unit with the unit quiz and begun presentations on our new unit: Linked Lists
  • Week 9: we continued our look at Linked Lists with examples and presentations
  • Week 10: we completed our look at Linked Lists with the large example
  • Week 11: we started our look at the searching and sorting unit with some examples and presentations
  • Week 12: we continued our look at searching and sorting through lecture and examples
  • Week 13: we completed the searching and sorting unit large example and started planning a extra unit before the final project
  • Week 14: we started a class case study example based on student request using a checkers simulator
  • Week 15: we continued our large class example working together
  • Week 16: students began dedicated work time on their final projects
  • Week 17: students continued work time on their final projects
  • Week 18: students continued work on their final projects
  • Week 19: students completed the course and the final projects

Assessments:

  1. Course survey (not for marks)
  2. Review of CS30S
  3. Recursion – programming problems
  4. Recursion – unit quiz
  5. Sequential files – programming problems
  6. Sequential files – unit quiz
  7. Linked List – class example
  8. Searching and Sorting – class example
  9. Extras Programming: Case study – student requested (checkers simulator)
  10. CS40S – Final Project

2014-2015: CS40S – Semester 2:

  • Week 1: After getting the course outline and a course survey, students started the review of CS30S
  • Week 2: Students continued working on the review of CS30S
  • Week 3: We started our next unit – Recursion with a presentation and examples. Students then worked during the week on recursion programming problems.
  • Week 4: students worked through the week on the recursion programming problems, and we completed the week with the recursion unit quiz
  • Week 5: This week we started a new unit on Linked Lists with a presentation and a large example
  • Week 6: This week we continued our large example and discussion on Linked Lists
  • Week 7: This week we continued our large example and discussion on Linked Lists
  • Week 8: This week we continued our large example and discussion on Linked Lists
  • Spring Break!
  • Week 9: This week we completed our large example and discussion on Linked Lists
  • Week 10: We started a discussion and examples of searching and sorting algorithms and algorithm efficiency (including the linear search and the bubble sort)
  • Week 11: This week we continued our discussion and examples of searching and sorting algorithms and algorithm efficiency (including the selection sort, shell sort, insertion sort, and the binary search)
  • Week 12: This week we completed our look at searching and sorting algorithms (including binary search recursively, and the quick sort) and began a look at ADTs with the Stack and Queue (using generics)
  • Week 13: We completed our look at Stacks and Queues and then spent the week working on some competition programming problems and the final projects
  • Week 14: We spent the week working on some competition programming problems and the final projects
  • Week 15: students began dedicated work on their final projects
  • Week 16: Students worked through the week on the final project
  • Week 17: On our final full week, students worked on the final project
  • Week 18: Students completed and handed in the final project (and any other work towards the final grade)

Assessments:

  1. Unit 1: Course survey (not for marks)
  2. Unit 1: Computer Science 30S (grade 11) – Review
  3. Unit 2: Recursion – programming problems
  4. Unit 2: Recursion – unit quiz
  5. Unit 3: Linked Lists – programming example(s)
  6. Unit 4: Searching and Sorting – programming example(s)
  7. Unit 5: ADTs: Stack, Queue, Binary Trees – programming example(s)
  8. Computer Science 40S – Final Project

2014-2015: CS40S – Semester 2:

  • Week 1: I introduced the course and went over the course outline
  • Week 2: Students started a review assignment covering CS30S
  • Week 3: Students continued working on the CS30S review assignment, and then we finished the week by starting our next unit (recursion) with a lecture and example
  • Week 4: Students completed work time (dedicated time) on recursion and completed the recursion quiz
  • Week 5: We started our next unit looking at advanced classes with a presentation, discussion and a few examples
  • Week 6: We continued our next unit looking at advanced classes with presentations, discussions and a few examples
  • Week 7: We continued our next unit looking at advanced classes with presentations, discussions and a few examples
  • Week 8: We continued our next unit looking at advanced classes with presentations, discussions and a few examples
  • Week 9: This week we completed our look at advanced classes and started our next unit – Collections. As well, students started working on a group creative project for Friday, Monday and Tuesday (of next week) as Mr. Wachs was away on a school field trip.
  • Week 10: This was a short week with Remembrance day, an inservice day, and Mr. Wachs was away for 2 days on a field trip to New York. The students had work time on current unit assignments.
  • Week 11:  This week we continued to work on our large example of a linked list in the collections unit
  • Week 12: This week we continued to work on our large example of a linked list in the collections unit
  • Week 13: This week we completed our large example of a linked list in the collections unit
  • Week 14: This week we started our next unit on permanent storage (file handling) with a large example and presentation
  • Week 15: This week we continued our look at permanent storage with our large example and presentation
  • Week 16: This week we continued our look at permanent storage with our large example and presentation. As well, we discussed and worked on the final project
  • Week 17: This week was course work time and one-on-one help from Mr. Wachs as students worked through the week on the final project or any outstanding work from prior units
  • Week 18: This week students worked on their final projects and/or any missing course work to finalize the course grade. Mr. Wachs circulated and helped students one-on-one.
  • Week 19: Students completed and handed in the final project or any outstanding work

Assessments:

  1. Unit 1: Course survey (not for marks)
  2. Unit 1: Computer Science 30S (grade 11) – Review
  3. Unit 2: Recursion – programming problems
  4. Unit 2: Recursion – unit quiz
  5. Unit 3: Advanced Classes – structured example
  6. Unit 3: Advanced Classes – group creative project
  7. Unit 4: Collections – structured example
  8. Unit 4: Collections – tested example code
  9. Unit 5: Permanent storage – structured example
  10. Computer Science 40S – Final Project

2015-2016: CS40S – Semester 2:

  • Week 1: I introduced the course and went over the course outline, then students started a review assignment covering CS30S
  • Week 2: Students worked through the week on the CS30S review, but by the end of the week we did an example and had a discussion/presentation on the concept of recursion.
  • Week 3: This week we completed our example of recursion and students worked through the week on recursion programming problems (or any still to complete from the review unit)
  • Week 4: This week we started our next unit Advanced Classes with a presentation and a large example. Students worked through the week on any incomplete work from previous units or programming in the new unit.
  • Week 5: This week we continued our unit Advanced Classes with our large example. Students worked through the week on any incomplete work from previous units or programming in the new unit.
  • Week 6: This week we continued our unit Advanced Classes with our large example. Students worked through the week on any incomplete work from previous units or programming in the new unit.
  • Week 7: On the week before spring break, we continued our unit Advanced Classes with our large example. Students worked through the week on any incomplete work from previous units or programming in the new unit.
  • Week 8: This week we continued our unit Advanced Classes with our large example. Students worked through the week on any incomplete work from previous units, programming in advanced classes, or working on their final projects.
  • Week 9: This week we continued our unit Advanced Classes with our large example. Students worked through the week on any incomplete work from previous units, programming in advanced classes, or working on their final projects.
  • Week 10: This week we completed our Advanced Classes unit and had the unit quiz (after a unit review)
  • Week 11: This week we started working on the next unit:collections with a large example
  • Week 12: This week we continued working on the collections unit and continued the large example
  • Week 13: This week we continued working on the collections unit and continued the large example, and started planning towards the final project
  • Week 14: This week we completed the collections unit large example
  • Week 15: This week we discussed the final project and began an optional demo of student requested programming extras
  • Week 16: This week was course work time and one-on-one help from Mr. Wachs as students worked through the week on the final project or any outstanding work from prior units
  • Week 17: This week was course work time and one-on-one help from Mr. Wachs as students worked through the week on the final project or any outstanding work from prior units
  • Week 18: In our final week of classes, student worked and completed the final projects, or any outstanding work from prior units and handed everything in on or before Friday (the last day)

Assessments:

  1. Unit 1: Course survey (not for marks)
  2. Unit 1: Computer Science 30S (grade 11) – Review
  3. Unit 2: Recursion – programming problems
  4. Unit 2: Recursion – programming problems
  5. Unit 2: Recursion – unit quiz
  6. Unit 3: Advanced Classes – structured example
  7. Unit 3: Advanced Classes – group creative project
  8. Unit 3: Advanced Classes – unit quiz
  9. Unit 4: Collections – structured example
  10. Unit 4: Collections – tested example code
  11. Computer Science 40S – Final Project

2016-2017: CS40S – Semester 1:

  • Week 1: I introduced the course and went over the course outline
  • Week 2: Students worked through the week on a review of the Computer Science 30S course work
  • Week 3: Students worked through the week on the CS30S review, but by the end of the week we did an example and had a discussion/presentation on the concept of recursion.
  • Week 4: Students worked through the week on recursion programming problems (or any still to complete from the review unit)
  • Week 5: Students continued to work through the week on recursion programming problems (or any still to complete from the review unit) and we had a quiz on recursion
  • Week 6: This week we started our next unit Advanced Classes with a presentation and a large example. Students worked through the week on any incomplete work from previous units or programming in the new unit.
  • Week 7: This week we continued our unit Advanced Classes with our large example. Students worked through the week on any incomplete work from previous units or programming in the new unit.
  • Week 8: This week we continued our unit Advanced Classes with our large example. Students worked through the week on any incomplete work from previous units or programming in the new unit.
  • Week 9: This week we completed our Advanced Classes large example
  • Week 10: A short, three day week, we reviewed advanced classes and had the unit test. Then, we started our next unit: collections with a presentation and large example.
  • Week 11: We continued our look at Collections with our large example. Students worked through the week on any incomplete work from previous units or programming in the new unit.
  • Week 12: This week (a shorter 4 day week), we continued our look at Collections with our large example. Students worked through the week on any incomplete work from previous units or programming in the new unit.
  • Week 13: This week, we continued our look at Collections with our large example. Students worked through the week on any incomplete work from previous units or programming in the new unit.
  • Week 14: This week, we continued our look at Collections with our large example. Students worked through the week on any incomplete work from previous units or programming in the new unit.
  • Week 15: This week, we started our next unit on Permanent storage with a presentation and large example. The class decided as a group not to do an assessment quiz from the Collections unit.
  • Week 16: The week before the winter break, we continued our look at permanent storage with a large example.
  • Week 17: This week was time dedicated to working on the final projects. Mr. Wachs was available all week for individual help, class questions/demonstrations, or otherwise to assist with the final projects. Students can also use this time to work on completing any outstanding course work they want counted on their upcoming final course grade.
  • Week 18: This week was time dedicated to working on the final projects. Mr. Wachs was available all week for individual help, class questions/demonstrations, or otherwise to assist with the final projects. Students can also use this time to work on completing any outstanding course work they want counted on their upcoming final course grade.
  • Week 19: In our final week of classes, student worked and completed the final projects, or any outstanding work from prior units and handed everything in on or before Thursday at 3:30 (the last day)

Assessments:

  1. Unit 1: Course survey (not for marks)
  2. Unit 1: Computer Science 30S (grade 11) – Review
  3. Unit 2: Recursion – structured example
  4. Unit 2: Recursion – programming problems
  5. Unit 2: Recursion – unit quiz
  6. Unit 3: Advanced Classes – structured example
  7. Unit 3: Advanced Classes – creative project
  8. Unit 3: Advanced Classes – unit quiz
  9. Unit 4: Collections – structured example
  10. Unit 5: Permanent storage – structured example
  11. Final Project for Computer Science 40S

2016-2017: CS40S – Semester 2:

  • Week 1: I introduced the course and went over the course outline. Students then worked through the week on a review of the Computer Science 30S course work
  • Week 2: Students worked through the week on the Computer Science 30S review (see the unit marking sheet), but by the end of the week we did an example and had a presentation (see video) on the concept of recursion.
  • Week 3: This week (a shorter week due to Louis Riel day), students worked through the week on recursion programming problems (see example, presentation, and video)
  • Week 4: This week students worked on programming problems for recursion (see example, presentation, and video), we reviewed recursion (using a review sheet) and had the recursion quiz (see unit marking sheet). We then started the next unit Advanced classes (see presentation, example, and video for part one)
  • Week 5: This week we continued our look at Advanced classes (see presentation, example, and videos for parts two and three)
  • Week 6: This week (a four day week due to an in-service day), we continued our look at Advanced classes (see presentation, example, and videos for parts four and five)
  • Week 7: The week before spring break, we continued our look at Advanced classes
  • SPRING BREAK
  • Week 8: This week, we continued our look at Advanced classes (see video for part five) and students started looking and planning for the final project
  • Week 9: This week (a short week due to good Friday) we completed our look at Advanced classes (see videos for part six, seven, and eight), reviewed the unit (see review sheet), and had the unit quiz. We then started our next unit: Collections (see presentation, example, and video for part one and two)
  • Week 10: This week Mr. Wachs was away for two days for personal commitments and students had work classes on the current unit and future major assessments. As well, we continued our Collections unit (see presentation, example, and video for parts three and four).  Also, Friday was an in-service day.
  • Week 11: We continued our Collections unit (see presentation, example, and videos for parts five, six, seven, eight and nine). 
  • Week 12: We continued our Collections unit (see presentation, example, and videos for parts ten and eleven). 
  • Week 13: We completed our Collections unit (see presentation, example, and video for part twelve). 
  • Week 14: We started a unit on Permanent Storage (file handling) and more advanced user interface design paradigms (see presentation, example, programming problems, review sheet, and videos)
  • Week 15: We completed our look at Permanent Storage (see previous week) and started work on the final project (see description)
  • Week 16: This week students continued work on their final projects (see description and marking sheet) and Mr. Wachs was available for help and consultation
  • Week 17: This week students continued work on their final projects (see description and marking sheet) and Mr. Wachs was available for help and consultation
  • Week 18: This week students continued work on their final projects (see description and marking sheet) and Mr. Wachs was available for help and consultation
  • Week 19: This one day week had students complete work on their final projects and hand in all work (see description and marking sheet) and Mr. Wachs was available for help and consultation

Assessments:

  1. Unit 1: Course survey (not for marks)
  2. Unit 1: Computer Science 30S (grade 11) – review assignment
  3. Unit 2: Recursion – structured example
  4. Unit 2: Recursion – programming problems
  5. Unit 3: Advanced Classes – structured example
  6. Unit 3: Advanced Classes – creative project
  7. Unit 4: Collections – structured example
  8. Unit 5: Permanent Storage – structured example
  9. Final Project for Computer Science 40S assessment