CS246: Object-Oriented Software Development | Fall 2023 | Sessional Lecturer, 2 sections

Course Description

CS 246: Object-Oriented Software Development

Introduction to object-oriented programming and to tools and techniques for software development. Designing, coding, debugging, testing, and documenting medium-sized programs: reading specifications and designing software to implement them; selecting appropriate data structures and control structures; writing reusable code; reusing existing code; basic performance issues; debuggers; test suites.

Student Course Perceptions

Section 001 (8:30 - 9:50 AM)

Explanations of course concepts: 96%

Creating a supportive learning environment: 94%

Stimulating student interest: 94%

Overall instructor effectiveness: 95%

Click here for full data

Section 006 (11:30 AM - 12:50 PM)

Explanations of course concepts: 96%

Creating a supportive learning environment: 94%

Stimulating student interest: 93%

Overall instructor effectiveness: 94%

Click here for full data

My Thoughts

This term has definitely been the smoothest sailing that I’ve had in the Master’s degree so far. I taught CS 247 in the previous term which was a lot of work being the sole instructor. This term, I was in a team of experienced CS246 instructors who were able to provide a lot of support. My responsibilities only consisted of writing one assignment, three tutorial problems, co-writing the midterm with another instructor, marking the midterm/final, and lecturing. Compared to last term where I had to lecture, prepare course note material, and design all the assignments and exams by myself, sharing the work across a team made a big difference.

And, in-part thanks to teaching being easier this term, my research has progressed at a faster pace than it ever has before. Next term I have no teaching on the docket whatsoever, so research and finishing my thesis will be my sole focus.

Student surveys overall went well. Lack of course notes is still the primary complaint. Only one complaint about the midterm being “trivia” this term, which is better than in previous terms. There were complaints about the midterm being too difficult, which is never intended, but often the case with CS 246. I think a lot of this comes from the gap between expectations for first-year courses and second-year courses. Most students are still studying just by reviewing course notes, rather than asking themselves questions at the edge of their knowledge, which is exactly where we target the questions on examinations. I’d like to spend more time in lectures and tutorials talking about how to study for this kind of exam.

We also ran a new format for the course tutorials this term, which I think turned out to be very effective. In previous terms, CS 246 tutorials simply featured an ISA or IA rehashing course concepts again for students who needed extra presentation. The quality varied depending on the instructional ability of those giving the tutorials, and often the examples did not differ significantly from that presented in class, making them unhelpful to students who didn’t understand the concepts in the first place. This term, we instead designed simple problems that could be solved within a tutorial timeslot - i.e, within one hour. Then the ISAs/IA would act as a resource students could consult if they got stuck. Each passed tutorial problem (> 50%) reduced the final exam’s weight slightly, giving students a simple incentive to complete the problems. The problems also gave students a more realistic example of the difficulty of exam problems: tutorial problems are much more akin to exam problems as compared to lengthy assignment problems. This was the first time that tutorials appeared positively in the perceptions.

Meme Friday

In some courses I have worked on, I have posted course-related memes on the Piazza board each Friday. The idea is two-fold: firstly, it helps to foster community and adds a little levity to courses that can be challenging. Secondly, it works as a way to implicitly encourage end-of-the-week review of course content, which is backed up by some actual neuroscience in Dan Wolczuk’s Learning How to Learn series.

See the Meme Friday posts for this term →