As 2023 wraps up, I figured it was time I finally reflected on my teaching. I know it’s been a while.
Table of Contents
A Quick Overview
This year I’m breaking with the tradition of the usual semesterly reflection because it’s been a very rough year. Back in March, my mom passed away from lung cancer, which had naturally caused some challenges in my day-to-day life. And perhaps more obviously, it caused me to miss a reflection on my 9th semester of teaching.
Now, traditionally, these articles take a very long time to write. Part of that is because I like to share a lot of stats around what students are saying about my teaching. However, as you may know, I created a dashboard to share all of the statistics since I started teaching in Autumn 2018. As a result, I won’t be dumping a bunch of graphs here. Instead, I’ll be focusing on the qualitative highlights.
To start, I figured I’d give you a quick overview of what I taught in the last year.
In Spring 2023, I taught two sections of Software 1 (CSE 2221), which is a software design course from a client perspective. In other words, we teach students how to use an API, while also introducing them to basic data structures like maps, queues, sets, and stacks.
About halfway through that semester, I got the news that my mom was no longer getting benefits from chemo, so she elected to stop treatment. At that point, I started traveling back and forth to spend time with here before ultimately getting my classes covered for a couple of weeks. You can read more about that experience here and here. I’m planning to write a big reflection on her life for her birthday in February as well.
As you can imagine, this derailed my teaching quite a bit, but it also derailed my research. At the time, I was conducting my dissertation study in another class, which ultimately got deferred to the summer. Then, in the summer, I started my study over again and began training to teach Software 2 (CSE 2231).
All at the same time, I was asked to interview to become a lecturer, not just a Graduate Teaching Associate (GTA). Therefore, I ended up going through the interview process, which led me to become a lecturer.
Then, this past Autumn, I started teaching three sections of Software 2 for the first time. The difference this time being that students focus on software component design from the perspective of the implementer (i.e., the people making the APIs). In the next section, I’ll detail these differences more clearly.
As is tradition in these types of articles, I like to share some information about the courses I’m teaching. Previously, I’ve shared details about Software 1, but as a refresher, here are all the assessments students are expected to complete:
- 22 written homework assignments for 6% of their grade
- 11 coding projects for 30% of their grade
- 3 exams for 60% of their grade
And if you’re wondering where that last 4% goes, it’s participation, which is a grade I can give at my discretion.
Software 2 is very similar in assessment breakdown, with one major change. Students are required to complete projects in teams of two. Regardless, the breakdown of assessments is as follows:
- 37 written homework assignments for 6% of their grade
- 10 coding projects for 30% of their grade
- 3 exams for 60% of their grade
And again, the final 4% goes to participation.
In both courses, students also complete a variety of labs which occur twice a week in rotation with two lectures. Software 2 is a bit different in that there are 3 graded activities, which are just active learning tasks that differ from labs.
At this point, I would usually share the grade breakdown, but that has become a bit cumbersome with 3 classes. As a result, you can check out my grade history in the dashboard I linked previously. Keep in mind that I have not updated the dashboard yet to include my new class.
Now, let’s talk about how these two semesters went. Usually, I would share a good, bad, and ugly framework, but I find that it’s weighted too negatively. After all, I love my job, and I’ve had an overwhelmingly positive experience since I’ve started teaching. As a result, I’m going to keep this section a bit more free form to allow my to just dump my thoughts. Apologies ahead of time if this section is unreadable. Also, apologies for the lack of Spring 2023 reflection. It feels so far away that I hardly remember it at all.
To start, as a new lecturer, I picked up a few new responsibilities. For example, I am now in charge of approving my graders hours. This is a relatively painless task but a new task nonetheless. Basically, at the beginning of every week, I have to log into an HR portal and physically click and approve hours button. Luckily, I get an email reminder every week, which brings me to the approval page with a single click.
Another new responsibility is that I have to write my own exams. This is a part of the job I actually hate. I’ve expressed probably a million times, but I just don’t believe exams are an effective tool for assessment, especially high stakes exams. As a result, I spend more time than I would like preparing students for the exact concepts that they would be expected to know to pass the exam, which takes away from the actual learning and natural curiosity that should be happening in the classroom.
However, for whatever reason, exams are the norm. They seem to be used to determine who the best students are, but we give so few of them that I don’t really buy into that notion. If STEM folks were serious about binning students into “good” and “bad”, they would need a significantly larger number of assessments. Three exams does not meet any standard of sample size.
Of course, I don’t really buy into the premise that quantitative assessments are the only way to bin students, or that we should even be binning students. “Bad” students generally just need more support and time than “good” students, and it’s a wonder that institutions can pat themselves on the back for the success of their graduates when those students were going to succeed anyway. Just look at the Ivy League schools. Those students are going to succeed regardless of the education provided. Therefore, the education shouldn’t be targeted at them. But don’t take it from me!
All of the data is about economic value added by attending particular colleges. I presume it would look the same for high schools, there’s nothing about educational value added. I’ve spent three years looking at data on this stuff, and there’s really no effort to measure whether one school is teaching any better than another.Evan Mandery, 2022
By the way, as someone very interested in ideologies, the piece I linked above has some wonderful quotes about meritocracy. The topic just seems to find me.
On a side note, I was expecting to make a lot more money with the lecturer job, but I ended up being fairly disappointed. As a GTA, I made $20,000 a year, which was closer to $30,000 since I was teaching two classes. In addition, I often worked summers which increased my annual pay to probably around $40,000. When I picked up the lecturer job, the only real change I imagined would be the extra class, but since I’m teaching the same class repeatedly, I figured it wouldn’t be a major change. Therefore, when I get a contract reading $50,000 + $10,000 for working overtime (i.e., 12 credits instead of 10), I got really excited.
You probably have a guess at why I’m a fairly disappointed. When I got my first check, it was almost exactly the same amount as when I wasn’t a GTA because of the significant number of fees taken out (i.e., health, dental, and vision insurance as well as retirement). Specifically, the teaching retirement system unconditionally pulls out 14% of your paycheck. Therefore, my monthly take home is about $3,000, which is essentially the same as before.
This was a major, major problem because I imagined that I’d be going from $20,000 to $60,000, which is a three times increase in pay. This enabled my wife to quit her job that she absolutely hated, and I could support both of us on our income. You can imagine both of our surprises when we moved into a house to start our family, and my first check was exactly the same as before. Needless to say, we’re quite literally living paycheck to paycheck now. Hell, half my paycheck goes to rent now. It’s not sustainable.
In general, despite some of my frustrations, teaching has been an overwhelming positive. That said, I did run into a couple issues this semester that surprised me.
First, I had some pretty obvious cheating issues pop up. Normally, I don’t really engage with cheating because it’s so rampant as a result of a variety of systemic issues in education. Instead, I offer opportunities for students to have more flexible schedules and get chances to redo assignments. As a result, cheating ends up being quite rare in my classes.
However, one student out of 120 students very, very blatantly cheated on one of my exams. Of course, we’re not allowed to call students out on it, as the institution is supposed to handle it. Typically, I’ll just make a big announcement about cheating when I see it, which involves reminding students of alternatives like asking for extensions and whatnot. That tends to solve the problem. In this case, it was on an exam, and I straight up added comments stating that their code looked very familiar. They didn’t cheat on another exam after that.
Second, I had some disruptive students in one of my classes. In the past, I’ve had students who were chatty, which is fine. In fact, I run my classes almost entirely through discussion. However, in the few instance where I am trying to share valuable information with the students, it’s somewhat hard to ignore when folks are talking over you. Usually, going silent a few times is enough for them to get the hint. However, in this class, the chatty students were in the front row, constantly using the space to talk about assignments for other classes. It was a bit frustrating, but I never really addressed it. That class ultimately did worse than my other two sections, and I somewhat attribute my lack of control over the space as the cause.
Pilot Portfolio Project
On the plus side, I tried something new this semester and gave students a new project. It was totally voluntary, but I told students that if they complete it, they could replace the lower of their two exam grades.
The premise of this project was that we go through all the effort of teaching students how to make a software component, but we never ask them to do it from scratch. As a result, they get fairly knowledgeable about the different pieces of the design process, but they never really figure out how it all comes together. As a result, I tasked them with making a software component from scratch, and I even let them brainstorm their own components.
By the end of the semester, my students came up with so many cool ideas:
- A Spotify-style playlist
- An artificial neuron
- A sports statistics tracker
- A cyclical data structure
- A perfect number generator
- A photo gallery
- A game state saving utility
- A fashion utility
- And many, many more
Overall, I was really proud of my students and the depth of their creativity. As many students said in my reviews, this project really helped them understand the whole API ecosystem so much better. As this was only a pilot, many students were not able to get all the way through the development process. That said, I saw so many interesting solutions that I hope they add to their own portfolios.
Typically, I like to brainstorm a list of changes I want to make for the upcoming semester. To improve transparency, I’m actually going out of my way to create a patch notes file to track all of my changes to courses over the years. That will probably end up in the educator dashboard at some point.
In the meantime, however, I’ll share what I plan to do heading into Spring 2024. To start, I am toying with the idea of making a monorepo for VSCode, so students can migrate away from Eclipse. There’s nothing really wrong with Eclipse, but students get a lot more joy out of using more modern tools. So, I’ll do just about anything to keep their passion alive. Also, this allows me to more easily pivot from SVN to git, which I have more familiarity with.
Also, I’m planning to make slides for next semester. This was the only piece of negative feedback I got on my evaluations, so I figured I might as well address it going into the Spring. The slides should be pretty easy to make since I already have my discussions setup. That said, I think having the slides as a way of sharing key points will help a lot of students.
Other than that, I don’t think I have a ton of time to do anything else.
Now that I’m a lecturer, my life has stabilized a bit. I don’t really need to worry about getting a job like most All-But-Dissertation (ABD) PhD students. However, being a lecturer has slowed down my dissertation progress. I was hoping to be done this spring, but we’re looking at Autumn 2024. Wish me luck!
I also just filled out the teaching preferences form for my department, which includes interests in teaching Python courses. I would absolutely love to teach a Python course. Maybe the department will let me do that someday.
With all that said, I got to go help my wife finish up the Christmas cookies and whatnot, so I’m going to call it here. Thanks for reading through my rambling reflection. As always, if you want to see more like it, check some of these out:
- Make TODO Lists More Meaningful By Reflecting on Your Values
- There Has to Be a Better Way: Reflecting on My Automation Catchphrase
- Have You Reflected on Some of Your Tech Beliefs?
Once again, take care and enjoy the New Year!
Happy 30th to me! In honor of the big day, I figured I'd drop a list of some of my favorite video games of all time. As usual, don't expect any sort of objectivity. This is my list after all.
Looking back at some of my fondest memories of my mom.