Hacker News new | ask | show | jobs
by tom_b 2956 days ago
Yes. I have taught introductory courses to undergraduate and graduate students with only a MS in CS. I think you would probably be able to teach upper-level courses if you could demonstrate expertise in the subject matter.

Workload varies. I preferred project-based assignments and tried to give students freedom to choose projects in a personal area of interest to increase their commitment, but it makes grading terribly time-consuming. I found that even with a well-defined rubric, individual projects cost me somewhere between 30-60 minutes of grading time per student.

I have taught using a provided syllabus and created my own. I was vastly happier when I created my own, but it adds time. With a provided syllabus, I probably spent 3-4 hours reviewing material and slides per lecture. That included reading the course textbook materials and working through most of the textbook problems. Maybe double that time when working from the syllabus I created, making new slides, and prepping for in-class programming work.

Grading sucks. If you teach a required course, you will also have to deal with some number (hopefully small) of unmotivated students. One of my courses was an elective course and I found the students .... happier?

And no matter how much I emphasized not waiting to start programming projects (including by having graded check points), a significant number of students wait until the day before projects are due to start. And then flame out.

Don't teach a course as project-only if it is a programming-oriented course. A meaningful number of my students submitted rather well-done programming projects, but were unable to write a for loop on an open-book exam. I also had students who were suspiciously unable to even use a required editor to demo small programs in one-on-one meetings.

Otherwise, teaching was fun and it's definitely worthwhile. All the warnings you hear about adjunct pay being low are also true.