I am currently teaching the CS2 course at UIUC called CS 128. I am working hard to teach the course and continually improve it with my co-instructor. Below is my end goal of what I would like the course to look like (note these are my thoughts, not necessarily the thoughts of my co-instructor). Feel free to leave a comment!
Background: The course has around 600 students in the fall semester and 1,000 in the spring. This is the second computer science course the students have taken but the first time many of them have seen C++. The goal of the course is to improve student's ability to approach and solve problems using code. The way the course does this is through teaching C++ concepts from variables to iterators.
Learning a Concept Roadmap:
Students will watch videos and read material on a new topic. This will start with motivation and bigger picture ideas. Then it will cover the details in C++.
Students will have optional practice problems to complete on the website. These will be range from fairy straightforward to more complex. I will include a video walkthrough of me solving one of these problems.
Students will have to complete graded multiple choice questions and a graded programming problem on the topic. These will generally challenge the students but they are given unlimited attempts as well as feedback from an autograder.
Students will come to an in-person weekly discussion section that covers the topics of that week. These 75 min sessions will involve students getting into small groups and working through a worksheet together. They turn in these worksheet for completion and attendance credit.
The staff leading these session will have had training on how to facilitate such a section.
Students will have a chance to apply topics in bigger 2-week coding assignments. At the one week mark there will be an extra credit opportunity for students to submit part of the coding assignment. This is used to encourage students to start the project early.
Students will take a check-in (Quiz) every two weeks. These will be low-stake assessments to help the student and the instructors get a sense of how well they have learned the material. These are done in the proctored testing center on campus. The format is through an online interface (PrarieLearn) with restricted access to other websites. All questions are autograded.
Resources for Help
Office hours - Students have a chance to ask questions on the assignments and overall topics. There would be in-person and remote options for up to 6 hours a day.
Online discussion forum - A place where students can post questions on the material.
In-person extra practice sessions - This is 2-hour weekly class that students can opt into. A professor will run this section and help students review and get practice with topics. A small part will be lecture style while the other part will be a group worksheet (different from discussions section).
Catch-up grading - If students score better on a check-in (quiz) then the previous one it improve the score of the previous quiz.
Example material coming soon!