The Strengths and Weaknesses of Individual Colleges
In the last article I discussed the three general purposes of higher education: academics, training, and gatekeeping. Here's what these purposes mean to computing specifically.
Academics, in computing, means advancing the study of computer science, the creation of algorithms that do new things, or old things better, the limits of computation, the development of artificial intelligence, more secure transmission and storage of data, and myriad other things. A college that is strong in academics prepares the student to help the field progress--onwards to graduate school, research, teaching, and so on.
Training, in computing, is mostly about training for software development. Programming is a big part of this, but also the broader software development process, using ideas from general project management, and understanding databases, networks, and other things with which software interacts.
There's some overlap in these two areas, but they are quite different overall. Think of academics as comprehensive study of computing in order to help create a better future, and training as the development of skills to make the best software we can right now. Of course, to understand anything about computer science you have to know how to program, and to be a good programmer you have to know a little bit about most areas in computing. But you can become very knowledgeable about computer science without having the practical programming knowledge to do much useful development, and you can be a very useful programmer in many areas without deep understanding of computing as a science.
Finally, there's gatekeeping. That is, a degree is a stated requirement for some jobs. Beyond that, the perceived quality of the degree (that is, what college awarded the degree) may affect future employer's decisions as regards hiring and promotion. This is part of gatekeeping as well.
In order to receive a lasting benefit from attending college, it's important that you match your goals to the purposes of the school and program. Your first thought here might be just to go to a school that's really strong in all three purposes. That would be a great idea, except there aren't really any schools that are strong in all purposes.
Why not? One issue is time. Once you subtract all the courses given to core academics and start dividing the number of courses that are left among the various subjects in computing, there's no way to cover everything. Just to cover the academic function in its totality is impossible--take a look again at the list of possible elective subjects in the ACM recommendations linked in part 7. The more training you include, the more academics you leave out, and vice-versa.
Let's look at some samples to show the kinds of trade-offs that are involved. I want to stress that these are not pseudonyms for actual schools--I'm not here to point anyone to, or away from, a specific college. These just show common situations.
BIG STATE U is a land-grant institution with a total enrollment of 25,000 students, offering BS and MS degrees in computer science and computer engineering. The graduate programs are strong, with most graduate students, and many undergraduate students, working alongside professors in grant-derived projects. The undergraduate program's primary goal, then, is preparing students for graduate study.
This school gets high marks for academics. However, it may be lacking in training with all the focus on preparation for the graduate program. Another problem is that, like many schools with extensive graduate programs, many of the early undergraduate courses aren't taught by professors at all, but by graduate students. This isn't to say that graduate students can't be good teachers, but more often they are inexperienced and ill-prepared to help the neediest students. I was a teaching assistant as a graduate student, and though I consider myself an excellent teacher now, I assure you, I was not an excellent teacher then. Another problem is that even in the courses taught by professors, the professors haven't necessarily been recruited and retained on the basis of their teaching ability, but rather on the basis of their research abilities, and, not to put too fine a point on it, their ability to lure in grant money. Again, from a pure academic point of view, this is not always a problem. If you are primarily interested in research, the benefit of doing high-quality hands-on research may outweigh any deficiencies in the classroom. But if you are more interested in the training purpose, you may be in trouble.
This university probably gets a good grade in gatekeeping, regardless of the destination, academics or industry. In particular, successful undergraduate students can easily progress to the graduate program.
Finally, the school has a "medium" cost of attendence. There are lower-cost alternatives, but it is far from the most expensive.
OAK-LINED COLLEGE is a highly-regarded smaller school with an emphasis on the liberal arts, which nonetheless has programs in computing. There are fewer degree choices in computing, but the school tries to compensate with a decent selection of electives and some interesting interdisciplinary degrees. The core educational requirements are large enough that fewer credits remain for the courses in the major. The college has few graduate programs, and none in computing. This means there are considerably fewer opportunities for undergraduate students to engage in real research; it also means that professors are more likely to be hired and retained on the basis of their teaching ability, and almost every course should be taught by an actual professor.
This school does well in academics, but not as well as Big State U. With fewer courses, and without the graduate program or ongoing serious research to interact with, the student will only progress so far through that list of ACM recommended subjects. On the plus side, having even the earliest courses taught by career academics means that what the student does learn, he or she will likely learn well.
The program will perform decently in training, but given the liberal-arts focus of the overall college, it's unlikely that many of the courses focus on nuts-and-bolts practicalities.
Gatekeeping is excellent, both in academics or industry.
This is the most expensive of the three sample schools.
ONLINE TECH is a distance education school whose existence is shown only by an elaborate web site. They offer a surprisingly wide variety of degrees in computing, including standbys like computer science, but also in narrow categories, like web design or database development. The graduate offerings are sparser, and it's implied that few of the undergraduate students migrate to the graduate program. Rather, the graduate program is aimed at the student who earned an undergraduate degree long ago, and now needs to go back for a master's degree while still working full time.
This school probably has high marks in training. It's not so much worried about preparing students for the future of computing, but rather, for getting them gainful employment as soon as possible. The instructors are more likely to be from the industry, rather than career academics. The marks are lower for academics, though. The students who pass through have less patience for material that doesn't directly apply to daily work, and most of the students aren't intending to add graduate degrees.
The school does okay in gatekeeping for industry, where many prospective employers will just look at the names of the courses, and not care too much about where they were taken. The school gets poor marks in gatekeeping for academics, though. Traditional brick-and-mortar schools, even those that offer some courses online, are reluctant to accept credits from Online Tech for transfer, and traditional graduate programs are less likely to be impressed.
This is the least expensive of the three sample schools.
Again, these are not three actual schools, just typical examples. And there are plenty of schools that don't fit these patterns at all. There are all types of schools at all types of price ranges, many with surprising strengths and weaknesses. My point here is to demonstrate the kinds of trade-offs a student of programming will face when choosing a school. More on that in the next article ...