
Yale Computer Science Dept overworked, understaffed - sethbannon
http://yaledailynews.com/blog/2013/01/29/computer-science-dept-overworked-understaffed/
======
simonsarris
Ugh this sounds familiar.

Back in 2008-2010 I was one of two sitting students on the Computer Science
curriculum committee at Rensselaer Polytechnic University (RPI).

Three topics were always present:

1\. What do we do about kids who come in knowing inadequate math and how does
this keep happening?

2\. Should we consider switching out C/C++ as the default for Java as the
default. (The answer to this was almost always no, but many professors at RPI
accepted assignments in multiple languages, usually whatever the TAs were
familiar with. I used a lot of python later in the year instead of C/C++/Java)

3\. _God damn it_ we are understaffed.

I hate to say it but #3 was always brought up near the end of every meeting
and was _visibly_ discouraging to all the teachers involved. RPI at the time
was on the war-path of cutting professors in every single field who did not
participate in research (so called "clinical faculty") which included letting
one of the best CS professors go.

That teacher for you RPI alum was Dave Hollinger. They let him go(?) at the
end of '08 but he taught a single class in '09 before leaving for good.
Everyone loved him.
<http://www.ratemyprofessors.com/ShowRatings.jsp?tid=100535>

~~~
DeepDuh
Maybe part of the problem is the misnomer of the whole field itself. CS is
_not_ really science, it's math. It's about tools that every professional and
scientist will later need. And as such, I'd argue that teaching is actually
more important than research.

Of course, these tools need to be researched and developed as well, but more
importantly do we need very capable teachers in order for people to build
their foundation. IMO every Master of Science should have a good overview of
which tools in math and "CS" there are available, and they should be
proficient in at least two of each.

~~~
timtadh
No we do science too. Math is a fundamental part of lots of CS branches but we
also do straight up science (with the whole research question, hypothesis,
experiment, evaluate cycle).

~~~
troymc
I'm willing to be convinced either way, but it seems to me that there's
nothing in computer science you can't figure out by thinking or using pen and
paper (maybe a _lot_ of pen and paper). You don't have to "ask nature" as
Feynman would say. Contrast that with figuring out the Gravitational constant,
say. The only way to estimate its value is by doing some careful measurements
(i.e. asking nature). Sure there may be some calculations, but without the
measurements, they're a waste of time.

------
Mahh
I'm a CS student at the University of Washington.

We do something [that I consider] interesting here to staff TAs for courses,
which is hire undergraduate teaching assistants. Generally, a course will have
one head TA who is a grad student, and multiple undergraduate TAs. I've TA'd
for a while as an undergraduate, and it's been a really great experience for
my career.

Especially in the intro courses and lower level courses, I don't think that
it's necessary to hire computer science gurus -- it's actually easier to find
undergraduates who are capable and passionate for teaching than it is to find
graduate students (partly because there are more undergraduates).

Some documents produced by one of the lecturers who I work for as a TA.

[http://www.cs.washington.edu/public_files/publications/msb/h...](http://www.cs.washington.edu/public_files/publications/msb/html/21.1/reges.html)

ftp://ftp.awl.com/cseng/authors/roberts/cs1-c/documents/ugradtas.txt

~~~
rotskoff
The University of Chicago has begun to do this, as well. It's uncommon for
UofC to fall into technological trends.

~~~
dfeltey
This is sort of interesting because the Math department at UChicago has had
undergraduate TAs for a long time for at least the first year courses, and I
believe a couple of the second year courses, but it seems only recently has
the CS department done the same for its first year courses.

------
gklitt
I'm a CS major at Yale right now.

In my opinion, this whole issue has arisen because there is confusion about
what "computer science" should be at a university. Theoretical computer
science that professors do is a world away from the casual HTML/CSS
development that many non-CS-majors want to dabble in after watching The
Social Network. I think an excellent university should have instruction in
both, and enough professors to strongly support the latter.

The Yale CS department, with good reason, does not want Yale to become a "Java
school". (good background on the topic:
[http://www.joelonsoftware.com/articles/ThePerilsofJavaSchool...](http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html)).
They want to focus on CS fundamentals, algorithms, and UNIX skills, which are
timeless skills that can serve as a foundation for a career in computer
science. This especially makes sense given the strength of the theoretical
component of Yale's CS department, both now and historically.
(<http://en.wikipedia.org/wiki/Alan_Perlis>)
(<http://www.macfound.org/fellows/877/>)

But the university also needs to realize that having a more casual computer
science class for non-majors, like Harvard's CS50, is an essential part of
offering a liberal arts education in the modern world. There's a lot of
student spirit and initiative here, such as awesome student-taught web dev
courses (<http://hackyale.com/>) and student-organized talks and hackathons,
but the university itself seems to be playing catch-up.

~~~
SqMafia
Yale CS alum here (DC 04). Yale unfortunately tends to be on the extreme side
of theories and fundamentals. Having some more practical experience helps
those theories and fundamentals sink in. For example, I didn't appreciate
closures until I started programming professionally. It was a curiosity before
that. The professors there sort of expect you to get that sort of experience
on your own, which some students do get but it's really uneven.

~~~
kkwok
Davenport!

------
learc83
This will probably blow over once the impact of _The Social Network_ has
faded. Enrollment will go back down to near what it was before.

I'm finishing my CS degree at Georgia State (after a 6 year hiatus) and all of
the lower level classes the last 2 semesters have been filled to the brim with
people who had no idea what they were getting into.

When you select CS as your major, there should be a popup box that asks if
you're aware CS involves math.

~~~
javert
_When you select CS as your major, there should be a popup box that asks if
you're aware CS involves math._

I disagree that this is good advice to give someone considering a CS major.

Math is not fundamental to CS. CS is fundamental to CS.

Most of a high school/college math curriculum is not that closely related to
most of what happens in CS.

In general, there is some "mathiness" to CS, but it is of such a different
flavor to "the math you learn in school" that I don't think making a
comparison is useful (it certainly would not have been in my case).

I have bachelor's and master's degrees in CS and am pursuing a PhD in CS.

~~~
troymc
The foundations of CS are things like sets, logic, formal languages, Turing
machines, computability... all math.

Maybe you didn't learn that stuff in "math class" but that doesn't mean it's
not math.

~~~
javert
I would say that logic is fudamental to math and cs. I disagree with
mathematicians that claim that math is prior to logic.

Formal languages, turing machines, and computability are computing science,
which we call computer science. Computing science may be part of math, but
math is not fundamental to it. In other words, you need logic as a basis for
those examples, but otherwise, they are not dependent on other mathematical
knowledge.

I don't think sets are all that important in cs (but I disagree with
mathematicians who try to base everything on set theory).

~~~
learc83
You're correct that most of computer science (except for the explicit mat
classes you're required to take) doesn't inherently rely on existing math
knowledge.

However, they way computer science is taught does assume prior math knowledge.
Thinking back to the very first example algorithms in my intro class--we had
to impliment addition, multiplication, then heron's square root method.

Very basic math, but that was around the time many students dropped the class.

------
cmbaus
This might be a concerning trend if you are a working programmer. Currently
labor is tight, but it seems in a few years the schools will be cranking out
huge numbers of CS majors. If past cycles are an indication, this might
coincide with decreased demand. Look what has happened in the legal field.
There is a glut of lawyers currently on the market.

~~~
jacques_chester
Law has transformed into the liberal arts degree of the current age. Almost
nobody actually goes on to law; they go on to management or other
analysis/talk careers.

Edit:

It occurs to me that I've caused downvotable confusion because law degrees in
the USA are quite different from law degrees in Australia (where I studied
law).

In the USA law is a postgraduate degree.

Here it is an undergraduate degree. Australian citizens receive very generous
loans and until recently, places for each degree at any given university were
fixed by Commonwealth quotas. Students with high year 12 scores and no idea of
what to do next studied law or medicine because, in a quota placement scheme,
those courses had the highest entry scores. Basically a status thing.

You're "smart"? Do law! (Which is how I wound up doing it).

Hence my remark that it's replaced the Arts degree as something that can be
used to step into a higher entry rung in a large company or government
department.

~~~
cmbaus
That might be becoming the case as jobs in the field dry up, but I know plenty
of lawyers who went to law school to become lawyers. It is hard to justify the
cost of a law degree for general education.

~~~
jacques_chester
See my edit. Australians and Americans have quite different causes leading to
attendance at law school.

------
nn2
But they've been increasing tuition like crazy too right?

~4-6% every 3 years according to <http://oir.yale.edu/node/108/attachment>

Apparently that gets spent on all kinds of things, just not the actual
education the students need. At >30k a year you could really expect that they
would hire enough real teachers.

~~~
wmf
The lack of professors may also be caused by the whole "world-class
researcher" fetish. You don't need ninja rockstars to teach intro CS.

~~~
fusiongyro
It seems strange to me that schools can have folks with titles like "Dean of
Community Outreach" but they feel compelled to wring cutting-edge research
_and_ excellent teaching out of the same people. I'd like to see the proof
that world-class teachers and world-class researchers are the exact same set.

------
turing
I was in the the AI class mentioned in the article, and I can say the results
were somewhat disastrous. The early problem sets were trivially easy to
facilitate quick grading (e.g., creating truth tables for propositional logic
statements, filling in two variable names in pseudo-code for a search
algorithm), while later problem sets had enough errors to make completing them
difficult or impossible. Incorrect and conflicting information was regularly
given out at office hours, assignments and tests were graded incredibly slowly
and rarely returned, and the professor and T.A. were almost never on the same
page. I understand the difficulty of the situation for the professor and T.A.,
but as a student I often felt I was wasting my time.

------
MojoJolo
I bet it's a misunderstanding of what Computer Science really is. In my
opinion, many youngsters or people that's not in the tech world think Computer
Science as just programming, or developing a website. I have an experience on
this because my parents are forcing me to develop a website in which I don't
like and they reacted with _"what is your education for?"_

But what they don't realized is that Computer Science is more than developing
a website or programming. CS deals with math, algorithms, and such words that
they haven't heard before. Automata, discrete math, pumping lemma. Computer
Science is much harder than they thought. With this, many students in my
university shift to another course because they can't handle CS. Too many
students are enrolling CS becase they think it is the trend. They think it is
the right course to learn how to develop website, how to create something like
Facebook, how to develop an app, how to develop something like Instagram, or
even how to create a game ([http://blog.jpbalb.in/post/16048908922/game-
programming-anyo...](http://blog.jpbalb.in/post/16048908922/game-programming-
anyone))! Yes they can learn them through CS, but if that's just what they
want, they can just go to the internet and do a Google search. Because again,
CS is more than just that.

Finally, I think it's not the lack of staff, but the lot of students. Give
those students few years in Computer Science, and I'm pretty sure those "lot"
will be "few".

~~~
argonaut
Our of curiosity, why are your parents forcing you to develop a website? (And,
tangentially, is there a reason you can't say no?)

EDIT (reply to below): You said "my parents are forcing me to develop a
website," which makes me think your parents are still forcing you to make a
website, right now. That was what was confusing to me...

~~~
MojoJolo
I'm always saying no. But they are always asking because they think it's the
right job for me. It's because of their misconception of being a Computer
Science == Website Developer (Wordpress, HTML, CSS)

------
randomwalker
CS enrollment numbers are way up in every school. Yale is complaining about
200... at Princeton our intro course has over 500. At Stanford almost every
undergrad takes a CS course at some point.

We have a good number of lecturers in addition to tenure-track faculty members
(at Princeton CS). They are extremely good and greatly decrease our load, so
we haven't faced burnout so far. That said, enrollment was up so sharply this
semester that we had to hire lecturers on a month's notice, which is kind of
insane. Also, we have a new industrial Master's program which lets us increase
our number of TAs.

In spite of having adapted in all these ways and money not being a problem, we
know that this won't continue to scale because enrollment growth shows no
signs of slowing down. We're not sure what the long-term solution is going to
be. Online education is part of it (and we're on Coursera), but so far we're
not using it in a way that decreases our teaching staff requirements.

Strange times.

~~~
avsbst
Stanford's enrollment was over 700 for fall quarter. Over 1500 students took
the course during the entire year. A typical class has around 1650-1800
students for perspective.

[http://www.stanforddaily.com/2012/10/04/cs106a-enrollment-
re...](http://www.stanforddaily.com/2012/10/04/cs106a-enrollment-reaches-
record-high/newcs106a04/)

------
zenazn
Harvard is seeing a very similar trend. Our intro to CS course, CS 50 [1], had
an enrollment of over 600 this Fall (up about 20%), making it one of the
largest classes at the College [2]. Even its teaching staff, which numbers
over 100, is bigger than most classes (and most of them are undergraduates)
[3].

The data isn't in for this term yet, but pre-term planning data suggests that
enrollment in CS 51 (our second-term CS course) will go up by about 40% (it
experienced similar growth last year), and CS 181, a machine learning class,
might nearly triple in size since it was last offered [4].

For smaller departments like Harvard's (and Yale's, which is even smaller
still), there just aren't enough professors to go around, and with the
enormous influx of students, I think the quality and variety of the courses
offered has suffered. Many courses are only offered sporadically--especially
systems courses--since there simply aren't enough professors to teach them
all.

And that's to say nothing of the (undergraduate) teaching assistants, which
bear much of the brunt of this trend. I TFed Harvard's algorithms course
(which doubled in size over the two years I taught it), and am TFing our
operating systems class this term (which if today's turnout was any guide
looks like it might nearly triple in size). The workload was considerable, and
I'm sorry to say that the feedback and individual attention I was able to
provide students has gotten worse and more tardy because of this.

I don't think Harvard (and Yale, etc.) can cope with this sort of explosive
growth for too much longer.

[1]: <https://www.cs50.net>

[2]: [http://www.thecrimson.com/article/2012/4/13/cs-greatest-
grow...](http://www.thecrimson.com/article/2012/4/13/cs-greatest-growth-seas/)

[3]: <https://www.cs50.net/staff/>

[4]: [http://www.thecrimson.com/article/2012/12/17/ptp-data-
obtain...](http://www.thecrimson.com/article/2012/12/17/ptp-data-obtained-
trends/)

------
gchpaco
When I was TAing I remember the office staff glancing at my "classes I would
like to TA" list and thanking me for putting all upper division courses;
apparently most of the TAs competed for lower division course slots where the
problems were easier and so presumably the workload was lessened. I always
went for upper division because I hated dealing with entitlement complexes and
don't like trying to teach shallow material. We never really had enough
resources, but it wasn't quite that bad.

------
earllee
Interesting thing to note: The Yale CS department has been hiring peer tutors
and undergraduate course graders, which should definitely help alleviate
things.

The idea that Scaz is working with 25 students on projects is a bit
concerning. How can you give the necessary attention to any student, your own
work, and any classes you teach when spreading yourself that thin?

------
sethbannon
If anyone wants to email Yale's incoming President Peter Salovey to let him
know why this is not OK, his email is Peter.Salovey@yale.edu

~~~
pseut
It's a virtual certainty that email to that address goes to an administrative
assistant and not directly to the president. Guess why?

------
kombinatorics
ugh, seems like everyone is doing a cs major now a days. kind of diminishes
the value of the degree, sort of like a business degree aha.

