back
130 comments
Here are some things I tell young professors:

1. The students are not like you. For you, the topic is fascinating, and something you've pondered for much of your adult life. For the average student, the topic is moderately interesting, and likely quite confusing, in the first exposure that is this class.

2. Teach to the middle of the class. Be aware that the weakest students will be perplexed much of the time, and the strongest will be bored. This range is hard for you to comprehend, given your path. Note that the range is not something you can alter. It is established by the university Registrar, not by you and also not by the students.

3. Expose the students to your enthusiasm for the material. Be direct, and be personal. "The next topic is" will not motivate students as much as "Now we ready for the exciting part" or "This next bit is what I like best about this topic", etc.

4. Make the decision to enjoy your time with the students.

> Now we ready for the exciting part" or "This next bit is what I like best about this topic", etc.

Personal excitement for the material is one piece, but it’s not enough. The most important thing a teacher should do is help the students internalize *why* they’re learning the material. What they can do with it.

Baking shows don’t start off telling the history of the maillard reaction, they show you the delicious cake you’re going to make. Then you make the cake. Then (if it’s a class and not the food network) you learn the important details.

Teaching is storytelling. The main character is the student. What challenge will they overcome? How will they grow as a result? If the teacher makes them hungry to know the answer, then students will not just tolerate the information, they’ll seek it out, challenge it, and ask for more.

> 2. Teach to the middle of the class. Be aware that the weakest students will be perplexed much of the time, and the strongest will be bored.

True for the weakest students, but it's always possible to give harder material/exercises to the strongest students. And it doesn't even take much time for the teacher because these students are more autonomous. I only taught CS and maths, but it's very easy to keep the good students busy.

I personally like teaching CS lab classes. The key is to design projects with gradual difficulty. Even the weakest students should manage to complete a few tasks.

But overall, I think that heterogeneity makes teaching much more complicated that what it could be, especially when basic pre-requisites aren't met. It's a bit heartbreaking when you get students which are obviously losing their time and money.

> Expose the students to your enthusiasm for the material.

This makes a huge difference to me. There were subjects that were exceedingly boring and difficult to me at first but I managed to find joy in them because teachers were so enthusiastic about them it was like they were filled with childlike wonder and it inspired me to give it a chance instead of just going through the motions.

I've had teachers who seemed to be there just for the paycheck and it made me be there just for the grades too, thoroughly depressing.

My student life has been an awful boring existence because of number 2. There was nothing more frustrating than going to school. A few sentences were enough for me to understand concepts that were explained during several weeks.
This is good advice - it is good to keep all of these things in mind.

I would add: Let them see you sweat a bit. When they see you are working hard to make a great class for them, they too put in more work.

I used to work as a teacher in a kind of bootcamp. Over the years my my view on teaching has changed massively. I think there are only two generic things and the rest is situation dependent.

- There is just no way around the struggle. The students have to struggle. Your job is not to take the struggle away but to show them why it is worth struggling and instil the belief that they can do it.

- The most important teaching skill is to level with them. Talk about how difficult it was for you to understand it, what helped you. Never put yourself above them. I honestly believe this is where most people fundamentally fail. Respect them. Don’t treat them like babies. Forced attendance is imo the worst symptom of this.

> Forced attendance is imo the worst symptom of this

I taught in an inner city title one school. While it would have made teaching those who showed up easier, I'd bet that over half the students would not show up without forced attendance. We had under 2% of students who would go on to graduate a four year college and something like an 80% transitory rate (meaning 20% would complete all four years at the school - this might have been up to 95% transitory, it has been a while since I was there). Gangs, violence, and poverty and no examples of school helping anyone in their lives.

What do you do with kids in that kind of situation?

Although there is no way around the struggle, there is a way around how the struggle is perceived and experienced. A good teacher shows the struggle is worth it, but I believe a great teacher makes the struggle something you enjoy doing, and not something you have to put up with so you can enjoy the compensation at some point in the future.
Seconded. On this, I think the book "A Mind for Numbers" by Barbara Oakley summed up the lessons when it comes to learning the best. The effort/struggle to learn a topic is a signal to the brain that this particular information is salient and worth remembering; like some sort of feedback/anchor. People more should reframe and be thinking on how should they approach a subject to make getting to "the click" and understanding faster (not necessarily easier).
> The students have to struggle

Perhaps it's just the wording, but I really disagree here.

Yes, there's a natural stress process we go through while learning where our boundaries are expanded, but to struggle... it's often a sign of bad teaching.

I say this as a best selling Udemy instructor and having been a university CS tutor. Your job IS to take away the struggle. You do this by being the student, leading them to confusing situations and then overcoming that situation with them in a series of steps that are built up over time, and then having them apply that knowledge to build skill.

The thing is, that teaching a subject well takes a lot of time and effort. There are very few really great teachers out there.

Your first point is the truth, although I've found that there are very few takers for this truth :)

In HN itself, I've argued with people numerous times on how challenge is a necessity for advancing in learning, but I've met with stiff resistance to this point often.

So just want to say, glad to see a practicing teacher state the obvious (to practicing teachers) in HN.

Thoughts on teaching students:

1. Nobody wants to admit they don’t know. Not in front of you, certainly not in front of their peers. Related, almost nobody that needs to goes to office hours.

2. Teaching the right way to do something is the minimum. Teaching how to avoid all traps; the appealing and intuitive but incorrect or inefficient ways to do something is better. Students will amaze you with all the ways there are to fail to solve a problem.

3. There may be steps you are not articulating, because you're not aware you're doing them. If one student gets it wrong, it's probably them, if most of them get it wrong, it’s probably you. As a new teacher, you will learn as much from their struggles as they do.

4. Related, there are steps you have mastered, like a tightrope walker, than can not be immediately emulated, despite the apparent simplicity of the instructions.

5. You chose this material, they may not have.

6. Related, you want to share the material and your enthusiasm with them, which is good, but they may only want to get the minimum they need to get by.

7. As a teacher, despite the lack of respect you may feel, they see you as an authority figure. You are the institution. You are not one of them, even if you are. They don't want to see you in the hall or at the grocery store; it does not matter your respective ages.

Let me respond to a couple of your points, although overall I loved your comment.

1. This is absolutely true. But you can cultivate an environment where students feel safe enough to admit they don’t know. It takes time and effort. It requires you to be honest when you don’t know something. But it can be done. That said, I suspect that is going to be more difficult in a college environment just because you have class less often. I see my (high school) kids more often, so I can establish that safe environment in, say, a month or so. And then I have them for the rest of the year.

2. “Students will amaze you with all the ways there are to fail to solve a problem.” This is so true! And they will also amaze you with all the ways they misunderstand instructions or directions. You’ll receive back an answer that you just don’t even understand how they came to it and when you talk to them, you realize they read your instructions a certain way. Then you realize that you could write your instructions more clearly than you did. So I’d add to this: don’t assume that a bizarre answer that you receive is because the student is dumb or high or something. Ask how they came up with it. Listen to their thought process. And be open to the possibility that you could modify your instructions (or content teaching) to avoid a similar misunderstanding in the future.

3. Yes! Again, yes!!

6. I would only add this: enthusiasm is never a bad thing to express towards your material. (I mean, I’m a history teacher, so it’s going to look different when I’m teaching, like, the Industrial Revolution than when I’m on the Holocaust, but yeah.) Just realize that there will be plenty of students who do not share your enthusiasm and never will, and don’t be hurt or offended by it. But don’t be afraid to be enthusiastic!

7. This is one that I sort of just disagree with, but it could be because I teach high school, not college. Students always run up to me if they see me out and about. I’m not saying they all love me. But they do tend to take special pleasure in seeing you around. It’s almost like they’re surprised that you actually exist outside of the school building. (I’ll stop with that, although there’s a much larger discussion to be had around high school teachers being involved in community activities. If you want to maximize your impact, teaching in high school is so much more than just delivering content.)

Like I said though, great comment!

I am not sure why people are not adopting Khan Academy's reasonings and methods for teaching at almost all levels where the study material doesn't change and has been static for years.

Why are professors made to teach the same subject each year? Why not create a set of lectures by the best in the field or even setup a committee of professors on how best to craft a particular lecture and create a video, freeze it and distribute it. So many professors spend time in writing an equation on the board, hey why not latex it? I believe each university should hire a powerpoint / slideshow person who can translate professors material into modern format to avoid repeating of work.

Once the foundational material is out in the open, the real fun can begin with discussions and other storytelling activities which incorporates philosophy, history and how the topic came about to be and future open-ended problems.

> Why not create a set of lectures by the best in the field or even setup a committee of professors on how best to craft a particular lecture and create a video...

A few things:

- Professors, even best in the field, may disagree. In the first lecture for my AI course I talk about how cognitive scientists still can't agree on a definition for what intelligence IS. Extend that to other domains and I'm willing to bet there'd be similar opinions in deciding "best"

- Not every domain can be distilled into a lecture. While I can (and have) recorded videos for martial art techniques, they still need to attend class to drill technique.

- This builds on the above point, but 'time on task' is still one of our most identifying features for determining student mastery. This doesn't mean we should revert to drilling endless worksheets, but rather 'learning' takes time to occur and can't be achieved via watching videos

- Building on the prior point, Mickie Chi's ICAP framework labels "watching lectures" as a passive activity. While learning can happen, more learning gains can be made with more engaging activities (drilling [active], self-explanation [constructive], and revising drafts [interactive]).

- I don't mean for this point to make me sound like a miser, but the majority of students just won't read or watch the material. Again, not an attack on 'the youths', none of us read TOS and user agreements. Even in flipped classrooms, if not well designed then you'll have students that need to review the material and miss out of the in-class discussion.

- "I believe each university should hire a powerpoint / slideshow person who can translate professors material into modern format to avoid repeating of work". That's sort of what some professors do with textbooks

I do agree that once you establish a student's foundational knowledge, then you can "play" (as I've described it). The issue is that establishing that foundation is hard and how do you do it in less motivated students? One option is to say they need more self-regulated learning, but how do you build THAT up?

I hate being forced to attend college classes in person, where I sit for 4 hours, hearing a person talk about something that I don't care about, and even if I cared, I could learn it myself in half the time by myself at home.

I'm a firm believer that lectures should never be necessary, give me the recorded lecture which I'll watch if I want to, I'll read the content myself, and I'll ask the teacher questions over the time where lectures would usually be given, and it will be easier since not everyone has to be there at once.

Because that's not how teaching/learning works. At best it could theoretically work for highly motivated self-regulated learners, but most of learners are not such ones. Yes, even in higher education levels. But even then learning is a process that almost always needs reflection to avoid fixation of misconceptions etc.
One minor note: From my experience when studying, if a lecturer used a powerpoint I immediately knew the lecture would be less engaging compared to if they were writing directly on a chalkboard/white. Powerpoints are just... Bad.

But yeah I think the idea of preparing quality content (and potentially reusable content) and using the class time to instead get interactive feedback is the flipped classroom idea, which is popular.

I agree with having a set of lectures as a foundational in some aspect because we are repeating the same things and be redundant. On the other hand, people learn in different ways and it is great that there are "teachers everywhere" with different strategies. YouTube and other services has show that, many people could learn easier matching with the right teacher(s).
This really resonated with me. I taught computer science to middle/high school aged kids for several years, and had similar dilemmas on how to keep everyone engaged. There would always be a wide range of student aptitude, and it was always a bit discouraging to see how many students aren't ready to learn. But it's pretty awesome nowadays to get messages out of the blue from my former students entering the workforce and thanking me for the course.

I am sure one of your students will build something amazing with Rust some day, because they worked on a practical application and had the resources to "level up" on this very useful skill. Hopefully they send you a message about it :)

Engagement is also very environmental, I think, when you’re teaching in middle/high school. Like, is there a schoolwide culture of students engaging in work? Is there an expectation that when you walk into the building you are a student, or is it just a place that you have to be because everybody says so? (Note: kids pick up lightning-quickly on whether teachers themselves give a shit. If half your teachers don’t, you have a problem in your building.)

Kids that age are still trying to figure out how to be their own selves. It’s very new. I mean we all try to figure that out throughout our lives, but middle school and high school are when you first start to emerge as your own person. And a lot of figuring that out is done in response to your environment.

I went back to uni after a 15 year career writing software. I attended the all the office hours for all my classes. Instructors went from shocked to excited, and I learned so much!
I think 18-24 is just way too young for most people to study at a university (at least math/physics-based ones). I don't have a better solution, but only about 6-7 years after graduating I realized I would then have enjoyed these classes and learned from them much much more.
What I've learned is that trying to teach others something will help you better understand what you are teaching. Not only you have to analyze different aspects you never considered, but you have to reply to questions you would never ask. You also have to put things in order before explaining to seome and chances are you will never do it otherwise because you are convinced you know it well enough.
The author has the makings of an excellent teacher if they keep at it. I say so more because of the form of this reflection than the content: seeing things from your students point of view really is the core skill that makes everything else possible.
The author writes about himself:

> Hi! I'm a PhD student studying computer science at Rice University.

This means that we are on the same career path (I am currently an assistant professor in theoretical CS in Europe). I wish you of course best of luck!

Here is the harshest truth about teaching I learned during my PhD:

If you are focusing on teaching too much, you are setting yourself up for failure.

This sounds cruel, and in fact I am much like you, I love teaching and I love self-improvement and it is quite easy for me to invest time into my teaching prep, presentation, and more and see measurable results in class quality and usually also student feedback.

However, at least in my neck of the woods (i.e. Europe), almost all gates and gatekeepers for you as a PhD student, and later postdoc, are checking your research. At some places they really do expect you to have K publications in the top 3 CS conferences or you will not be considered at all -- and it seems these thresholds are only getting higher. Here I mean for example invitation-only workshops, postdoc positions with top advisors, and later also permanent positions.

On the other hand, if you are a talented scientist, they usually only care that your teaching skills are at the bare minimum -- have you taught something? Yes? Great.

Now orator/presentation skills are critical and presenting a coherent lecture plan might be useful for a final presentation at an interview for a permanent position. But even there, it is more about you knowing what you want to teach and how it complements the department than about your past achievements (i.e., how much you have put in a course previously).

My PhD advisor usually said that he likes to dig into teaching when research is not going well. I agree with that -- teaching really is fulfilling to me and I love to improve my class and see people happy with it, and research is all about global ranking (which is tough on anyone's psyche) and generating progress which is the fun part but sometimes takes a long time. However, at your stage of your career, the research really can't go slow.

---

PS: If the author reads this, since it is a self-post, your class sounds really nice and it is actually one I would have loved to attend. My research is in online algorithms -- a field which you can rephrase as seeing some theoretical problems as two player games between a solver and an adversary -- and among other things I would like to consider utilizing all the techniques of chess solvers (which cannot evaluate the game fully, but "almost") and transfer it to other areas of online algorithms.

Just as a counterpoint: this very much depends. I probably spent at least a year (probably more) of my PhD (in Europe) just teaching a class I built up from the ground up myself. I barely got any research done the first year I gave that class, and every subsequent year it still took a large chunk of my time. It's part of the reason I spent a total of 7 years doing a PhD (which is long, considering I already had an MSc), during 5 of which I taught my class, and grew it from 10 students in the first year to 200 in my last. But I don't consider that time wasted. I had a blast and found that teaching helped me understand the fundamentals of my fields at an extremely deep level that I'd never reached otherwise. It didn't improve my research output, but I feel that the soft skills and understanding of fundamentals was a real advantage. My future career also didn't suffer, I'm now working as researcher at a FAANG AI lab.
> If you are focusing on teaching too much, you are setting yourself up for failure.

This is good advice. And this is true even once you become a professor. All time spent on teaching will go against your career progression. Even if you're tenured and don't care about promotion, you'll feel like an imposter in your department if you're not somewhat competitive research wise.

Generally speaking, there's no recognition in teaching in general, and at university level it's often not even considered as a job by itself.

Maybe it's different in Asia, but that was my experience in the western countries where I worked.

> However, at least in my neck of the woods (i.e. Europe), almost all gates and gatekeepers for you as a PhD student, and later postdoc, are checking your research.

While I'm also in Europe, my bet is that this is universal and won't change in the foreseeable future.

The reason is that teaching is practically impossible to evaluate. How do you quantitatively measure which professors provide high-quality teaching? By grades? No, easiest course wins. By employability? No, it depends a lot on the field, a philosophy professor can be amazing but that won't create jobs in philosophy. Student polls? Correlation with actual quality is really weak, and I say this as someone who has good polls - there is a strong influence of difficulty as well as the subject itself (a CS student will almost always prefer programming to physics, and it's not the physics professor's fault), apart from gender bias.

In my country they try to give an equal weight to teaching equally with respect to research in applications for positiosn and tenure, but since there is no realistic metric, the bulk of the score ends up being about "years teaching" or "number of hours taught" which is the only objective number that they can come up with. So it becomes basically a seniority factor and since your seniority is what it is and preparing high-quality lectures won't give you more hours or years, the outcome is still that focusing too much on teaching is bad for your career.

Bret Deveraux[0] did a really good blogpost on the difference between the tenure track and the teaching track for postgrad students.

[0] https://acoup.blog/2023/04/28/collections-academic-ranks-exp...

/me not an academic at all. I had no idea it was such a struggle.

There are different types of universities. While R1 institutions are more focused on research than teaching, there are smaller liberal arts universities which revolve around the undergraduate student experience. These universities still have research expectations as part of tenure and promotion, but faculty aren’t required to crank out research publications. Teaching is hugely important at these schools, both during the hiring process and when evaluating candidates for tenure and promotion.

I have been fortunate enough to work at such a university for the past 20 years. We have a deep endowment, small class sizes, and extensive support for our faculty research projects. Undergraduates at our school are often engaged in research projects as well.

For me, this is like an academic utopia: a blend of teaching and research with a primary focus on teaching. There are many other universities like mine.

Keep it up, OP. This is a wonderful post!

Thanks for the kind words!

Yes, I'm fully aware of the fact that teaching isn't really a priority in academia - for that reason, I probably won't be reviving my class in the near future. I really do like teaching, but it doesn't get me much closer to any of my current goals.

> Somehow I need to make assignments which thread the needle between being too hard to solve and too easy

The author is describing precisely what ever video game designer learns to do: build the right scaffolding at every step so people can be in Flow [1]

I've always enjoyed this symmetry between teaching & video game making. They both try to do the same thing in that way. (after all, video games are really just "voluntary work" when you think about it)

[1] See figure 1 https://www.gamedeveloper.com/design/cognitive-flow-the-psyc...

I was lecturing software development for information design students.

Only 6 students signed up.

At least it was an optional class, so the students did it on purpose.

Still, it's hard to teach new people from the ground up. Skills, and motivation are just so different.

Some learn fast and some slow and in the end you need to define what constitutes a good grade.

I did online classes. They had to go through free code camp and every month, I would let them create a small project, to see what they learned. Some students built stuff that was way more than what I expected and some couldn't even do a basic form.

In the end, two of them even got a job as frontend devs, so I guess I did an okay job.

A suggestion: I enjoyed one short online computer course I studied, because we were given other students' submissions to assess. I recall using both my own code and the code of another student to suggest improvements in a third student's code. I am talking mainly about small tasks such as coding a function.

To me this is just formalising what students do anyway: namely, help each other understand and complete tasks in a course. The difference is that the instructor is actively giving students access to other students' code. I found the process motivated me to get stuck into a task, rather than leaving it to the last minute.

I enjoyed this article. A couple of points, if the interactive/handson way is the future, how do we solve the no-TA problem if that's a prerequisite? It's not really feasible to produce them for every class. Will it be chatbots?
> Flipped classrooms are popular these days, so I might try that, but I also feel that pre-recorded lectures are a little soulless. I might try a hybrid approach, integrating lectures with assignments.

My Physics I class in college was a bit of both. First part of class was lecture, then we did practice assignments in class as groups, then there was out-of-class lecture videos and assignments. The out of class lectures weren't very long, I'd say under 20 minutes per lecture day if memory serves. Just long enough to cover a small topic in enough detail.

The thing that breaks my heart is that we have a much better understanding of adult learning. It didn't need to be that painful. That's not the lecturers fault. It takes a while to learn how to teach. It is the fault of our education system which thinks "let's throw seniors into a teaching situation without any grounding or support". We can also, simultaneously, fault the education system for a high school system that does not prepare people for college at all.

Sure glad we spend a lot of money on football coaches, though.

At first, at least, nobody learns as much as the teacher.

"all physical theories, their mathematical expressions apart ought to lend themselves to so simple a description 'that even a child could understand them.'" - Einstein, to deBroglie [in Clark, 1972, p.418]

> I was teaching a blow-off class… only about half of my students were really paying attention at a time, which is pretty bad if you want them to actually learn anything.

I think most teachers would consider half the students paying attention to be a roaring success.

When I would go to my Professor’s office hours they would be swamped but about a half dozen students just trying to get passing grades. I feel like colleges now self-select for laziness. The less work you actually have to do, the less opportunity to fail.
It sounds very lofty, but also on a path to disappointment and burnout. You can't meet the needs of all students. Fortunately, your class is small, but even there you find that you can't please them all (let alone a class of 300). And I write "please", because that's what you appear to be aiming at.

First, a course is there to convey knowledge and skills, not to please students. I'm not fond of hard rules in education, but some are simply right. Rule number one is: set the levels in advance: determine prerequisites and end goals. You may accept students outside the range, but it's their risk to take a class that's too easy or too hard, not your responsibility to overcome. You could always split it into multiple classes (basics and advanced), but that's already setting yourself up for more work.

Second: try to use literature, books or articles, for material that takes too much time in class. It's better that they come with questions than that they leave with questions. However, I'm aware this doesn't work well, since students don't read before class.

Third, I'm not teaching anymore, but my former colleagues and friends who teach and even direct programs, tell that the flipped classroom isn't only a nebulous concept, it also doesn't work. Covid has shown that. Developing a technically complex class that actually works is going to be very, very time consuming, and not rewarding at all. Cynically: when the department finds out you're not actually physically teaching, they'll assign you to something else. Or give your class to someone else.

Fourth, try to be interactive in class: explain, then give short, direct assignments. Your topic is unfortunately too complex to do anything meaningful during class, but perhaps you can ask them to look at some code and write down what it does, compare two different position evaluators, find out why a certain move can't be returned by a certain algorithm, etc. The trick is to get them to actually work out and write down answers (and it can be wrong; there should be no scoring for these exercises), not wait for someone else to tell them, whether it's you or the bright, interested student who's going to pass anyway. Everyone should apply their full attention to the problem for a short time.

Another cynical remark: it seems you're interested in knowledge transfer. You don't get high ratings for that. If your school evaluates teachers based on student feedback, it's a losing game. The only thing left, if you want to stay in that game, is to make it "fun."

Definitely thought this was an interesting article. Recalled some of my own thoughts on “struggle” as a way to learn. And am somehow interested in the subject of pedagogy too. Also a software developer. Thanks for the article.
Teaching transcends mere information delivery; it's about igniting curiosity and guiding students through an intellectual journey. The real skill lies in connecting the subject's complexity with the students' inquisitive minds. It's a blend of storytelling and exploration, where the classroom becomes an adventure in discovery. Effective teaching makes each lesson a step towards a larger, more exciting world of knowledge.
I would kill for a class like this at my college! All the seminar classes are very boring (Intro to C++ etc...). I wish they would have super specific and interesting topics like this!
Nice read. What I like about teaching is that your always get a new chance to improve your own teaching: the next period you try better or try a different approach and see what works best. The frustrating part is that students have a veto over what they learn, because "you can lead a horse to the water but if they don't drink, they don't". If they don't show up, you can teach away whatever you want but no one learns anything.
> In my experience, I learn the most when I struggle; if a student can shortcut through all the hard parts on, for example, and assignment, they're not going to learn very much. On the flip side, when most students struggle, they just give up.

This. 100% this. How do you make someone understand that struggling is good? That - more than anything else - is what I want to be able to teach.

Any tips?

What I've learned from teaching is exactly what these comments exhibit, a hundred different solutions. For me the best teaching tool has been being able to read the room. If you can do that, then you can figure out which of the hundred solutions you need to use.