As many people inside and outside the academic community are aware, there is a steep decline in computer science enrollments in post-secondary institutions. For many in the computer science field, including software companies such as Google, Sun and IBM this is a troubling trend. If there are no CS students graduating, who will develop the next generation of software? Is there anything that can be done in order to see this trend be reversed?
How to increase CS enrollments and interest
There are several approaches that can be taken to attempt to address the decline in computer science students. Attempting to attract students to the field in high school and even elementary school is one approach. By involving and interesting students early, it is possible to form a more positive image of what is involved in computer science and teach and show them why pursuing a degree in the field is worthwhile.
Other bloggers have also examined the issue of how interest high school students. Cay Horstman has a look at declining CS enrollments and suggests perhaps that we should look at enhancing high school courses or offering advanced placement (AP) courses to students. Sonya Barry suggests involving industry professionals to act as volunteers in order to support and enrich high school programs. She also examines the issue of how to target and teach high school students in Once we have a room full of kids, what should we teach them?.
Restructuring CS degrees
Another approach which might attract some more students to computer science is to modify how CS degrees and courses are currently structured.
There are several CS specializations or different CS related degrees that can be offered to students. Some of the most common of these variations include software engineering, computer engineering and information systems. Typically these specializations require a core set of CS courses along with several courses in the chosen area of the field. By expanding these specialization options to areas such as HCI, bioinformatics or animation some students which were previously disinterested in a general core CS degree might become interested.
Some colleges and universities are taking this approach a step further and tailoring the core set of CS courses based on the wanted specialization. Georgia Tech for example has introduced a threads approach in which students pick two out of eight threads to follow. These threads include options such as Computer Modeling, Computers and People and Computers and Media. The student’s prerequisite core CS courses will then be determined based on the threads selected by the student. In the words of Georgia Tech, this model eliminates the “one size fits all” CS curriculum.
Other universities are restructuring how they teach CS to ensure that courses concentrate on core CS fundamentals such as problem solving, data structures and algorithms as opposed to struggling to programming language syntax and other non fundamental issues.
Will the students come back?
There is no doubt that reversing declining computer science enrollments is a difficult task. There are several additional factors which are not directly under control such as macroeconomic factors such as the job market, the valuation and hence accompanying salaries and prospects of CS graduates. Despite tons of efforts in recruitment and attractions, if there are no stable well paying jobs for graduates, except for the hardcore passionate computer geek, students will simply not enroll. There are signs however that things might be turning around.