Wednesday, April 07, 2010

Finally... increasing enrollments of CS majors!

Since the "Y2K" bubble burst starting around 2001, there has been a dramatic decline of students at colleges and universities nationwide declaring CS as their major. Well, apparently (and thankfully), that trend has changed. I'm sure part of the change is simply because there are now more jobs available than after the bubble burst. Some big names in industry are spending more time working with the big CS schools to assist in encouraging students to enroll in CS.

We also are working hard to to adapt our initial presentation of our programs to be relevant for today's student entering college. A student entering college today has a very different perception of what computer science entails than a student of 10-15 years ago. This has been a struggle for educators! Too many students come in wanting to be game developers! Some of us are now trying to use more of a media and graphical approach to learning foundational concepts early on. (For example, see the Alice framework.) This seems to lock in students interest earlier.

We are learning to be flexible with students coming in that are better equipped from high school programs. There are more students coming in with experience in programming than ever before. This should be no surprise. I hear of many high schools now offering multiple elective courses in computer programming, which I think is excellent. But, this makes it a little more difficult to try and level the expected prerequisites during those early courses. Providing alternative paths to allow students to "test out" of early courses in the major helps them not get bored early.

Looking at the data from the study tells another sobering story -- there is a significant decrease in PhD graduates in Computer Science. However, this should not be much of a surprise. PhDs graduating now would have most likely received their BS around 3-4 years ago, which means they likely started their undergrad work a couple years after the substantial downturn in CS majors. This should be of great concern for institutions and companies needing to hire CS PhDs over the next couple of years (though it bodes well for those that already have our doctorate that might be looking for a new position.) I think this is a temporary downturn, perhaps lasting for another 2-3 years or so. We will need a little more time for the increase in undergrads we are seeing now to carry over to an observed increase in graduate students, especially at the PhD level.  At least, that is my hope. I have not spent any time studying graduate student enrollments, so I have nothing to go by right now.

Overall, this is really good news for those of us that have been fretting about decreased enrollments in CS for many years now. We need to keep working hard and being creative to keep these trends going in the right direction. (Mobile application development.... now there is an obvious place where some interesting work can be done at the undergrad level that students would find fascinating. Between iPhone and Android-based phones, doesn't that represent the majority of CS students today? It is good to get them developing on non-desktop platforms for a change. And, how about stressing parallel programming at the advanced undergrad level? Multicore processors are ubiquitous! Anyway... more ideas another time.) Exciting times, indeed!

BRK

1 comment:

haider said...

Hello sir!! It was nice reading your articles especially the ones titled "Whatever happened to programming? The Reinvigorated Programmer","increasing enrollments of CS majors!"
and "Confessions of an Engineering Washout"
Im from India and here,the enrollments for CS are always leading the charts. However,students from most colleges (except the elite ones like IITs,NITs and IIIT and BITS) dont know the purpose of what they are learning. Its just the degree which matters and eventually they do get some job or the other.
I am also pursuing my Bachelor's degree in Computer Science & Engg.(from a non-elite college) but Im very confused these days regarding which one to go for- science or engineering, in the long run. I dont want to take teaching as my profession(plz dont take it as an offence :)
I do believe that teaching is the most revered of all professions, but I want to do something new in the field of computer science.

However,I also want a decent pay for whatever i do.It would be very helpful to me if you could tell me what options will I have if i go for computer science instead of Engineering.
Following facts may be decisive:
1. I am more interested in the science part of my degree.
2. I wont mind pursuing MS or even a PhD. in the future.
3. I want to keep a part of my daily life for my family(so too much devotion into research isn't feasible for me.

-A 2nd yr Comp Sci & Engg student.