When Leland Beck started at San Diego State University in August 1980, computer science was part of the math department and taught only by a handful of professors. Personal computers were rare and email was just getting started. Cutting-edge research focused on how to run programs efficiently with only 64 kilobytes of memory (about the size of a small image file) and introductory lecture-based classes taught Fortran. Now as Beck is set to retire, he hopes his collaborative effort to update the curriculum and instruction in the Department of Computer Science continues over the next forty years.
“I want to change the stereotype of computer science being about writing code alone in a room. In actuality, you’re almost always working in teams and communication skills are incredibly important,” Beck said.
That’s part of the reason why he reached out to Alexander (sasha) Chizhik, a professor of educational psychology in SDSU’s School of Education. Together, they set out to implement more collaborative learning exercises in the first two classes required for the computer science major, CS 150 and CS 160.
“We’ve thought through specifically what students are going to be doing in groups, about students’ responsibilities in groups,” Chizhik said. “We’ve thought deeply about the problems they’re going to solve and the process of debriefing after.”
One of the primary instructors for these courses, Patty Kraft (‘91), quickly got on board with moving away from the sage-on-the-stage model of lecturing after realizing that just because she was covering material did not mean that students were learning it.
“We want to teach them not how to solve this problem but how to solve problems in general,” Kraft said. “And we also want them to have people skills.”
In pairs and groups, Computer Science students practice programming in Java and gain familiarity with developer tools. The goal is for them to stick with problems, get immediate feedback and take turns asking and explaining questions to each other.
These instructional tweaks have benefitted students, including those from ethnic minority groups, helping them earn higher grades on exams, pass the course and succeed in later courses.
“We were guided by the question ‘If we were hiring an intern, what would we want them to know?’” Kraft said.
The answer to that had implications for the required curriculum beyond just the introductory courses.
The U.S. Bureau of Labor Statistics predicts there will be 667,600 new computer and information technology positions available by 2030, most of which will require a bachelor’s degree.
”Whatever you learn in college now, in 5 years will be obsolete; that’s one of the things that makes the field so interesting,” Beck said.
To prepare students for these positions, SDSU’s Department of Computer Science revised the required courses to better reflect the most in-demand skills and topics in industry.
Some of the changes included adding artificial intelligence and software systems as required courses, offering a team-based capstone project for seniors, and introducing new electives in natural language processing and data science.
These upper division classes match up with the research expertise of new faculty hired in the past couple of years, like Bryan Donyanavard and Hajar Homayouni. And the changes will keep on coming: the department plans to add three new faculty members in the next academic year.
“Technology advances so fast. The reason we update the curriculum is to stay on top of the wave and reflect the latest advances,” said Shangping Ren, the chair of the Department of Computer Science. “With a new generation of faculty members actively doing research, we can expose students early to hands-on experiences with application-oriented projects.”
Widening the Tent
Beck has applied what he learned from revamping courses for computer science majors to CS 100, a general education course designed to introduce non-majors to the field and “widen the tent” of those who see themselves as computer scientists.
“It doesn’t matter if you’re an English or music major, you have to learn something about computers,” Ren said.
In the course, students complete projects, like designing their own video game, using a simplified programming language called ALICE. With help from Beck and their classmates, students debug their code in class rather than when they are alone at home.
The aim is for students from all disciplines to understand concepts in computer science like speech and face recognition, “not just have them seem magical,” Beck said. “Every once in a while, you get someone who switches majors.”
And when they do, thanks to his and the department’s efforts over the years, a slew of updated courses awaits to prepare them for the computer science careers of the future.