The buzz among lots of undergraduate students these days is a course in the Department of Computer Science that attracts hundreds of students yearly. And many who take Computer Science 101, or Computer Science I, probably are not thinking about working for Microsoft, Sun or IBM.
This fall, 100 out of 180 students enrolled in CS 101G are not majoring in computer science or computer engineering -- that's 56 percent non-majors. Students from all five undergraduate divisions enroll in the course. The popularity of the course, said Kenneth J. Goldman, Ph.D., professor of computer science, lies in students' inherent curiosity about software, their immersion in personal computers and their realization of the importance of technical background in today's job market, regardless of their primary disciplines of study.
A major attraction to CS 101, which Goldman has taught since 1993, is that it not only teaches a new way of thinking, but also opens a new creative outlet -- the ability to create software.
"Students today have grown up using computer software written by others, but this class suddenly opens the door to their ability to create software themselves," Goldman said. "As a loose analogy, let's say all of your life you knew how to read, but then someone comes along and shows you how to write. You can get a great sense of satisfaction from creating software. You think of an idea, write a description of it and have it instantly come to life for you on the screen."
Goldman has spent a good deal of time and effort molding the course and making it more accessible to a broader range of students by creating a series of challenging programming projects that incorporate a lot of computer graphics.
"It's not only fun to see something happening on the screen, but seeing an image of what's happening can also make it easier to figure out how to change your program to make the computer do what you really intended," he said. "Software is intangible, which is one of the things that can make computer science so difficult. If you look at a page of program text, an error may not jump out at you, but if you incorporate graphics, the software becomes more physical, more tangible. You see the results and can correct mistakes more easily."
While students have fun and find satisfaction in developing software, the course is very demanding, in both time and intellect. Students attend a weekly 90-minute laboratory and four lectures per week. Add the programming projects to the class time and students can easily put in 12 hours a week.
This semester, 16 undergraduate teaching assistants (TAs) help students in the seven lab sections, which are further subdivided into two or three groups per section. TAs also have evening and weekend hours to assist students.
Bob Amar, a junior chemistry major in Arts and Sciences, is head teaching assistant for CS 101. He's seeking a computer science minor and has hopes of getting a master's in computer science as well, all within four years. Amar has been a CS 101 TA for three semesters and paraphrases Goldman to describe the joy he finds in his role.
"I get a charge out of seeing that light bulb go on in students' heads when they understand something that baffled them before," said Amar. "I've been planning for some time to go on and become a college professor myself, and the experience I'm getting working with a lot of students is exquisite."
Goldman said his main goal in teaching CS 101 is to help students develop a new way of thinking.
"The course teaches you to think about problem-solving in a different way," he said. "A big part of this is learning how to reflect on your own thought processes. In order to describe to the computer how to do something automatically, you have to be able to articulate how you would go about doing it yourself manually. Students also learn how to break down a problem or solution into natural pieces and then learn how to describe each piece so that the computer can follow their instructions. When students develop their thinking skills to the point that they can start with an imagined idea and transform it into a running program, it opens up a whole new world for them."