![]()
Southeast Region Invitational NSF Workshop on
“Integrative Computing Education and Research (ICER):
Preparing IT Graduates for 2010 and Beyond”
![]()
1. Preparing undergraduates for computing careers: What are the challenges that we face in our role (as an educator, employer, administrator, leader, other)
INCOMING STUDENTS
The diversity of backgrounds and goals among incoming students is a particular challenge. Students come to us unprepared for the rigors of a university education (including mathematics, writing, thinking skills) and with unrealistic expectations of what the computing field encompasses. Their computing experiences in high school may be limited or non-existent (so they don’t know what to expect), or may be such a narrow viewpoint of computer science that they do not want to pursue it as a career. Women, in particular, are turned off by the ‘office training, game-playing, hacking, vendor-specific training’ mentality that is often portrayed as computer science.
Beginning courses need to educate and engage a wide variety of students. Keeping students interested (and not dropping out of our discipline) when they have a range of programming/computer experience from considerable to none, is a daunting task. A related problem is the influx of community college students two years later who have a wide variety of backgrounds – and expectations that a community college curriculum is equivalent to the content of a university computing curriculum.
CURRICULUM
Increasing amounts of material that must be covered: As Moore’s law reminds us, the complexity of the hardware doubles about every 18 months. This has been extrapolated by computer science teachers to be interpreted to mean that the complexity of what must be taught doubles in a similar manner. While this is a bit of an exaggeration, there is some truth to this. We need to look at more established liberal arts programs and see how they have managed to incorporate centuries of ideas and material. While their content is not changing as rapidly, it has existed for a longer time and much filtering has had to occur. In History and Philosophy, the goal is to identify the questions at each period. In computer science we need to identify the core material – realize that it is not really static – and put it into a formal curriculum. Emerging technologies can be handled in project classes and special topic classes until such time as they are viewed as core material.
If the approach to teaching is that we teach students some very basic, fundamental realities and then teach them to learn new technologies, (1) they will be prepared for a lifetime in a rapidly changing discipline and (2) the size of the core will be manageable and (3) the student will be ready to learn in a work environment.
Curriculum evolves as material moves down from the graduate level and up from the undergraduate level: In computer science, material tends to move rapidly from being research topics to being core material. Material also goes the other way. Compilers, for instance, were considered to be a necessary core topic in the 80’s and 90’s. Now they have been relegated to the ranks of graduate course work. While networking and distributed computing were originally part of graduate research, they are now considered to be essential to the undergraduate program. The role of the computing education professional then becomes one of discerning what material needs to be taught at what level and under what conditions material needs to be codified and moved to a different level.
Closing the Gap: The computing curricula taught in our academic programs tends to concentrate on the traditional CS knowledge base. While this education generally provides excellent background for the students to enter the profession, they are at a disadvantage in applying their knowledge to real applications. Often they are called upon to solve problems in business, medicine, science and technology applications for which they lack the depth of knowledge. It may also be necessary for them to function in multinational companies. While it is impossible to impart education in all application areas, some practical solutions can be pursued, such as preparing them for:
Some of this preparation can be addressed easily in seminars, while others can be accomplished by projects taught by teams of faculty and industrial partners working together. Industry colleagues can assist in this endeavor tremendously and will find it an excellent investment.
Exciting applications of Computing: At the outset, this may appear as a formidable challenge. Some of these applications, such as games, visualization, multimedia, immersion, real-time issues, ubiquitous computing, RFID technology, sensor systems, and service-oriented computing, are hard to introduce into an undergraduate curriculum. However, some of the faculty in CS and other departments may be working in these research areas. Therefore, we should take advantage of this rather than see it as a problem. Courses could be broken up into smaller modules. Faculty would then be able to teach their areas “in the small.” These class experiences could then be followed by a ‘research internship’ in which students would be allowed to go into the faculty’s laboratory and participate in the work. We can also depend on industrial internships as well as Research Experiences for Undergraduates (REU) as a mechanism to foster participation of students in such applications. Many industrial organizations would be willing to provide the hardware and software needed for such projects free of cost (or at a modest cost).
Conveying the excitement of new computing developments: Computing research is progressing rapidly, with streams of new applications and developments emerging from both universities and industry. Recent developments, such as portable video, music, cell phones, and game players, have captured the imagination of students and become “required” possessions. Computing departments are being challenged in how to convey the excitement associated with the new developments and the sense of accomplishment in constructing one of these applications, while teaching the more mundane fundamentals of the discipline. The exciting capabilities readily available and the fascinating and important problems are being obscured by the low-level aspects of curricula that have not changed in several years. Moreover, there are many critical application areas that require computing, for example healthcare, education, entertainment, transportation scheduling, security versus privacy issues, the environment, and defense. These areas are typically not addressed well within most curricula.
Using research to stimulate excitement: The new developments in computing represent an opportunity as well as a challenge. They can provide a motivation for students to learn the fundamentals. The needs of the new research areas and of industry can help to focus and direct the learning of more difficult topics. But, researchers must continually work to translate the advanced concepts of their projects into assignments that their undergraduates can tackle, thus engendering a feeling of contributing to current problems. This translation needs to bring the research concepts to the lowest levels of the curriculum, rather than having students wait until the end of their program before they get to do the new and inspiring things. Educators need to take advantage of the students’ interests and strengths to motivate and engage them throughout their academic experience.
GRADUATES
One of the challenges in preparing undergraduates for computing careers is identifying what we want our graduating students to be able to do. The problem is that our students are going in different directions upon graduation. Most will be seeking immediate employment, while some will be going on to graduate school.
For those going on to graduate school, our task is not so daunting. A solid grounding in the fundamentals of computing, together with the skills to engage in advanced learning and research will serve these students.
Those seeking immediate employment present the biggest challenge, as it is envisioned they will find a wide range of different jobs. For these students the curriculum will need to incorporate a multitude of disciplines. We will no longer be able to teach the computing sciences independent of developments in areas such as health care, education, business, and criminal justice. The challenge will be to provide an environment wherein students can integrate the fundamentals of computing in the solution of application area problems. If we can succeed in this task, we may have taken a step toward addressing the problem of attracting students to the computing sciences, as students today are not interested in technology for its own sake. They are interested in what they can do with the technology.
STAKEHOLDERS
Designing strategies to catalyze the transformation of university computing education will require the active participation of a number of different stakeholders. The faculty must continue to grapple with the definition of a curriculum that will meet the needs of our students and their future employers. Today’s students can be an invaluable source of information on how best to present the curriculum, in order to capture and hold the attention of students. Our alumni can provide information on the demands of industry, telling us how well their education prepared them for their jobs, which courses were most useful, and what kinds of courses they wish they might have had. Government, both state and federal, as well as other granting organizations, will need to provide funding to support our efforts to transform the curriculum and the educational environment. Funding will be needed to underwrite efforts to develop new models for teaching and curriculum and to create an infrastructure that will support new and emerging technologies.