Monday, August 10, 2015

Ways to deal with the growing number of CS majors.

(Univ of MD at College Park is looking to hire a Comp Sci Lecturer.  Here is the link: HERE)

Univ of MD at College Park will have 2100 students in the CS program next year. Thats... a lot! CS is up across the country which is mostly a good thing but does raise some logistical questions. How are your schools handling the increase in the number of CS students?  Here are some options I've heard people use:

1) Hiring adjuncts who come in, teach a course, and leave is good economically (they don't get paid much) but bad for the long term.  Better to have people that are integrated into the dept (lectures are, see next point). Also, CS is a changing field so you can't just give someone some notes and slides and say TEACH THIS. For Calculus you probably can, and they can even do a good job. Calculus doesn't change as fast, or maybe even at all. I envy my friends in math departments who can count
on a stable first year course that everyone in the dept can teach. They envy CS profs who have the freedom to have diff versions of CS1 in diff schools. Even in diff semesters!

2) Hiring lecturers who are full time and have a high teaching load is good in terms of them being  fully integrated into the dept and being involved with course syllabus changes. Also, if they stay  long term there is stability. If the first year courses are only taught by lecturers this may be  bad abstractly as profs should be in touch with all levels of the dept. I once tried to make this
point over lunch at a Dagstuhl meeting and before I could even finish my point they shouted me down  and asked if I wanted to teach Intro Programming.  I do not, so I'll just shut up now.

3) Don't let profs buy out. I've heard of this at some schools as a way to at least have the profs  that are there teaching. Alternatively only let profs buy out of grad courses. I don't know if either  is a good idea.  For one thing, the money use to buy out can be used to hire someone else.  But that  goes back to point 1- not really good to have part timers.  If other profs teach overloads with the  money that sounds okay. If half of the profs are paying the other half to teach for them, that sounds odd, but I'm not sure its bad. Also, it would never get that extreme.

4) Postdocs sometimes teach a course for extra money. This is good for them for teaching experience  and resume, and if they are teaching a course with someone else this can work well. However, if a  postdocs point is to get more research done, this will of course cut into that.

5) Grad students sometimes teach a course. I knew a grad student in math who was teachng the  junior-course in number theory. I asked her if this was an honor or exploitation. She just said YES.

6) Increase class size. Going from lecturing to 80 to lecturing to 300 might be okay, though (a) you NEED to use powerpoint or similar and have resources on the web, maybe also Piazza, and (b) you NEED to have LOTS of recitations so they at least are small and (c) you NEED to havehigh quality TAs for the recitations. In some schools its even a problem getting ROOMS of that size!

7) HIRE MORE PROFS! Profs have lower teaching loads than lecturers and in CS its harder to teach outside of your area then in (say) Math. (How is it for other fields? If you know, please comment.) Should you hire based on research needs or teaching needs? If a recursive model theorists can teach graphics, that might be a real win if you NEED research in recursive model theory but also
NEED someone to teach graphics.

8) Not a suggestion but a thought- IF many of the new majors aren't very good then many might flunk out of the major in the first year so this is not a problem for Sophmore, Junior, Senior courses. At least at UMPC this does NOT seem to be the case. To rephrase: many of the new majors are good and do not flunk out. I call that good news! But what about at your school?

9) What does your school do? Does it work?


  1. The downside of hiring a lecturer instead of a prof is that a lecturer is unlikely to have a cutting-edge view of the field. This means that a lecturer is also unlikely to introduce new topics to the curriculum if they are not covered by the existing textbooks. So if the goal is just to cover textbook material then a lecturer might be better than a prof, whose time might be too expensive for this. However, if the goal is to develop a new curriculum then a lecturer is probably not enough. Top students are likely to be happier to have a professor teaching while bottom students might be better off with a textbook/lecturer.

    1. The downside of this way of thinking is that it helps bolster the idea that professors are better in the classroom by definition.

  2. Increasing class size from 80 to 300 also puts a far higher burden on the person teaching the class. Hiring teaching assistants is an illusion of reducing load since now the faculty member has to coordinate all of those people as well. Good students will still do fine. Students in the middle will more likely fall. Students at the low end of motivation will either fail or cheat. If you double the size of the student population in a CS department you should be doubling the size of the faculty responsible for educating them.


    1. That only makes sense if faculty are responsible for teaching them. As this post demonstrates, typically, faculty at large research public universities (for good reasons) do not see teaching as their primary duty, and apparently not many want to teach the introductory courses. These courses are really essential in attracting a diverse population to CS, but that will need a shift from the mentality evident in the blog-post itself, that always seeks to wean people away from CS if they are "not good enough", focusing only on the ones who are "good enough".