The Plan for the Accelerated Honors Section

This posting describes my plan / course design for the Accelerated Honors section. It provides a bit of rationale for why I am trying to do things the way that I am planning.

This posting is a mix of plan and rationale. I think it important for students to understand why we are doing things the way we will do them.

Warning: this is my plan as of January 18th. I will be upfront that this is an experiment, and I may need to make adjustments if things don’t go as planned.

My goal is to provide students an opportunity to learn graphics in a way that allows them to go beyond what we normally get to cover in the regular class. To do this, we will need to “accelerate” (go faster) through the regular content, to make space for more things. We’ll also adapt the course design to give students a bit more flexibility in what they do to demonstrate their mastery of the material.

I believe this is possible because:

  1. It is a smaller class, so I don’t need to worry about issues of scaling.
  2. Students have “opted in” to a more intensive experience. I can assume everyone intends to be engaged.
  3. I’ve learned more (and thought more) about pedagogy.
  4. AI tools have gotten good enough to do most of the class assignments.

I want to use this to enable students to do more, to learn more, and to be more self-directed in their learning (have more input in what they learn about) - but I want to do this without significantly increasing the student workload. (a little more work is OK)

Accelerating

The idea of the “accelerated honors” class is that we can “accelerate” going through the material in the “regular” class, which will give us time to spend on other things. This brings up two key questions: (1) how will we accelerate the class by a significant amount and (2) what will we do with the newfound time.

The regular class is already pretty fast paced. It feels like a whirlwind that packs a lot into the 14 weeks, with (almost) weekly assignments that build on each other to establish foundations and lead to pretty neat micro-projects along the way. I am quite proud of the class design. It has been refined over the years. Dr. Wu will be using the class design in the regular section.

How to do the same content in significantly less time? Expecting students to work significantly harder is not an option. (good students already devote a lot of time and effort to the “regular” class).

The (experimental) ways to make the class go faster without (a lot) more student effort…

  1. We will trust that students will use the class materials (written and videos of prior lectures) to learn the basic stuff. That way we can focus class time on the challenging parts (that students don’t figure out on their own) and the things that students find interesting and want to go deeper into. Rather than me talking about the basics again (there are already recordings of this), we can spend time on what students want to hear about.
  2. We will change the programming assignments to de-emphasize the small assignments that check that everyone is keeping up. We’ll trust that everyone is trying to keep up (and will ask for help if they are not). We won’t grade the Workbooks - we’ll trust people learn from them, and show that they can apply the ideas in their portfolios.
  3. We will de-emphasize the weekly “micro-projects” and have less frequent, larger “portfolio” exercises that let students do more open-ended and creative things to try out what they have learned.
  4. We will have less “contrived programming tasks that are hard for the sake of being hard” - we’ll let students show off “excellence” by coming up with interesting things and doing them.
  5. We will embrace collaboration (including using AI assistants). AI tools can make programming go a lot faster.

Understanding how the class is changing requires understanding how the “regular” class works (and some of the problems in running the class).

How the “regular” class works

We have developed a set of weekly “workbooks” - these combine reading material (kindof like a textbook), some basic “assignments” (to check that students understand), and a “micro-project” (or several) that gives students a chance to apply what they’ve learned to make something interesting. The micro-projects are well-defined, small programming assignments that provide some opportunities for students to go beyond the basic requirements.

At the same time, the lectures go through the same material (starting with the basics, and building up to the more advanced topics).

Students turn these workbooks in each week, and then move on to the next one. They receive grades a few weeks later (in part because of the practical issues in consistently grading 200 assignments, and in part because of the delays of waiting for late assignments and other issues that arise in large classes).

There are several problems with this scheme (things to improve with the AH section):

  1. The lectures don’t assume the students learned the material from the workbooks, videos, and readings. So, there is more redundancy than is necessary.
  2. The lectures focus on the basics - not what students cannot get from the material, or what they find interesting beyond the basic materials.
  3. Feedback comes too late… if you find out you got the basic stuff wrong, it’s too late to help you figure things out and get it right so that you can build on it.
  4. The micro-projects mean a continual stream of small things, but little opportunity to do something bigger or more complex. In some cases, they are a chance to do something hard for the sake of doing something hard (to give better students a chance to challenge themselves).
  5. Current GenAI tools can do a good job on these small assignments. Especially since example solutions are in the ChatGPT training data.
  6. The workbooks are broken into “week-sized” chunks, which isn’t necessarily the right groupings. Some of the “micro-projects” aren’t as interesting as they could be, because they rely only on things already covered.
  7. The need to have scalable grading means that we have to place bounds on how creative and open the assignments can be. Grading is a series of checklists for each little piece.

What I plan to do instead

We will “sprint” through the regular class material (all the standard topics and workbooks) in 9 weeks (rather than 14). The “9 weeks” is the time before Spring Break (which is late this year). The last 5 weeks of class (the time after Spring Break) will give us time for more student-directed learning (projects, discussions of topics people find interesting, etc.).

The first 9 weeks will use an experimental “flipped-classroom” model to sprint through the material.

Since we will need the first week of class to get things organized, there are really 8 weeks of “real work” before break. We’ll break this into two 4-week segments. One on 2D graphics (yes, you need to understand 2D graphics before moving on to 3D), and the second part on 3D graphics.

In those 4 week segments, there will be 3 “content weeks” and 1 “portfolio week”. In the content weeks, you go through the material, do some small programming things to check that you are understanding it, and start to think about what you want to do with it (getting a headstart on the portfolio week). In the portfolio week, you’ll put together a “portfolio” - some cool demos that show off what you learned.

In the content weeks… We’ll assign the workbooks, readings, and the lecture videos (from prior years).

  • Tuesday will be “content day” - before class, you will have gone through the materials and completed a “content questions survey” (so I know what people want to hear more about). This will allow us to focus class time on the things people want/need to discuss, rather than re-hashing the easy stuff. It also means we can focus on what the students want to hear about, rather than what I want to talk about. (this is much harder for me!)
  • Thursday will be “workshop day” - before class, you will turn in a draft of your workbook (programming assignments), and in class we’ll look at the programming parts. We’ll collaborate to help people get unstuck, review code to learn about style and other tricks, and brainstorm ideas on what we might do with it in the future. Note: that on these days, the “assignments” (the reading survey for Tuesday, the workbook draft for Thursday) there is a strict deadline - the “homework” is essential for you to be prepared for class (and you must get it to us so we can be prepared as well)

AH students won’t be doing the “whole” workbooks. We will tell you which parts to focus on. In particular, doing a lot of the programming activities will be optional (since they are just there as checks). And we won’t grade you on the workbooks - we’ll check that you do them, and give you the opportunity to check (collaboratively) that you got things right (if you don’t get it right, try again - the goal is to understand, not just to get an OK grade and move on).

In portfolio weeks, you will work on assembling a graded “portfolio” of demos that show off that you’ve learned the material. You can use the ideas from the “micro-projects” at the ends of the workbooks, or propose alternatives. You won’t worry about the “nickel-and-dime” grading of the regular class - we’ll expect you to make things that clearly demonstrate the concepts. We’ll ask you to tell us why what you’ve done illustrates the concepts. The idea is that the process of developing the portfolios is collaborative (we help each other) and individual (students do what they find interesting). Class times will be “discussions” to come up with ideas, help each other make improvements, etc.

While the portfolio deadlines (end of the week) can be more flexible than the content week deadlines, we don’t want to be too flexible: we want to move on to the next thing.

Details of the assignment types can be see on the Types of Assignments and Classes page, and a schedule can be see on the Calendar.

If this goes according to plan…

The upsides of this will be:

  • Students will still learn the basic efficiently and thoroughly. Well enough that taking the exams for “regular” 559 should not be a problem.
  • Rather than the prescribed “micro-projects”, students will have more opportunity to be creative and really demonstrate their mastery of the material with their “portfolios”.
  • We can use class time to cover what students want to hear about: reviewing parts that are difficult, and digging deeper into aspects that they are interested in.
  • We will have a few weeks at the end of the semester to do “student directed” mini-projects. This will be a chance for students to dig into something we normally don’t get to do in class.
  • Students will get experience with AI tools and collaboration to work more efficiently. Hopefully, AI can do the boring stuff, so students can focus on the fun and creative parts.