Computer science students, frustrated with the department’s lack of practical classes, are asking faculty to create coursework that better prepares them for their careers.
UCLA’s chapter of Association for Computing Machinery, a student-run organization, Upsilon Pi Epsilon and the UCLA computer science department are holding a computer science town hall Feb. 20 to discuss students’ concerns about a lack of practicality in the department’s courses.
Yvonne Chen, a third-year computer science student and president of UCLA ACM, said in a Facebook post promoting the event she thinks the town hall will give students an opportunity to provide input on how to improve the major.
“We have an easy opportunity to change UCLA computer science for the better,” Chen said in the post.
Chen said current courses are mostly focused on the theories underlying computer programming, such as algorithm analysis and design features of programming languages. She said they are often not directly applicable to most recent developments in programming.
ACM sends out an annual survey to computer science students to gauge their satisfaction with the courses offered. Responses from more than 200 undergraduates who study computer science showed that students want more thorough and hands-on projects in courses such as computer vision, machine learning and human-machine interaction, Chen said.
Kevin Tan, a third-year computer science student and president of UCLA ACM Hack, a subsidiary of UCLA ACM, said he also wants to change the department’s curriculum.
“We have a rich theoretical curriculum,” Tan said. “(But) there is nowhere in our curriculum where you can learn practical web development or mobile development.”
This quarter, Tan wanted to teach a class on how to design iPhone apps using iOS software as part of the Undergraduate Student Initiated Education program, through which students can teach seminars to their peers.
However, when he tried to get his faculty advisor’s consent to teach the course, he was told the topic was too practical. Tan and his advisor agreed to offer a more theory-based iOS app design class instead.
Tan said he thinks more practical classes would give students the experience to work on real-world projects, such as app development, that would look better to future employers.
He also said computer science courses often require students to follow the projects’ instructions word-for-word and rarely leave room for creativity.
“Computer science students are not often given a chance to design things of their own,” Tan said. “Hopefully I can give people the perspective of how to design the specification in the first place.”
Richard Korf, the vice chair of undergraduate studies in the computer science department, said he regularly attends the annual computer science town hall. He said he thinks faculty are responsible for keeping the courses up-to-date and that instructors rely on student feedback for course content design.
Korf said faculty is doing their best to include practical courses, but it is difficult to make sure the courses are kept up-to-date with the constantly evolving field of computer science. He said while most of the courses offered are more theory-based, it is important to teach computer science students fundamental concepts to prepare them for the workforce.
“Given that we have four years to teach people to be productive professionals for 40 years, we have to focus on really basic things,” he said.
He added since languages and platforms that are considered more efficient gain and lose popularity quickly, students would benefit more from learning fundamental concepts that are unlikely to change.
Korf said the department teaches students how to think and trains them to be problem solvers.
Chen and Tan said they agree having a theoretical foundation is important, but they think practical and applicable courses are important in preparing students for programming careers.
“It’s all about balance,” Tan said. “It is important to have that foundation, but there should also be encouragements to explore practical skills that are not shoved to student groups.”
Tan said because the computer science department has not offered enough practical classes, many computer science clubs have had to take on the role of providing practical training for students.
He said the computer science department told him the department should not have to make its coursework more practical, since many student organizations already provide opportunities for practical training.
Tan added although students can learn from each other through these clubs, they would benefit more from departmental support.