High School Students Get a Taste of Studying Computer Science at UC San Diego
San Diego, Calif., July 14, 2017 -- Many of the students studying and living on campus this month look decidedly younger than usual for the University of California San Diego, primarily because they are younger. One group of 205 high school students moved into dorms this week to attend the 2017 California State Summer School for Mathematics and Science (COSMOS), a month-long residential program that also exists on three other University of California campuses (Davis, Irvine and Santa Cruz).
|First day of class for students in the Computers in Everyday Life cluster.|
Designed for 8th to 12th graders, COSMOS at UC San Diego divides the students into 10 ‘clusters’ to delve into different fields ranging from biodiesel from renewable sources to tissue engineering and regenerative medicine, earthquake engineering and global climate change. One such cluster immerses students in learning about computers and programming, and computer science is a big component of two other clusters – so much so that students are expected to have prior programming experience.
Computers in Everyday Life
Paradoxically, there is no programming prerequisite for students who want to take the popular "Computers in Everyday Life” (Cluster 1) at UC San Diego. It was the first choice of all 20 enrolled students, including 13 female and 7 male students. “We’re really happy to have this ratio given that the national average for women in computer science majors is hovering around 18 percent,” said comptuer science teaching professor Leo Porter, who is co-teaching the cluster this summer with lead instructor Curt Schurgers, a Qualcomm Institute engineer who also teaches in the computer science Summer Program for Incoming Students (SPIS).
|High school students will spend a lot of their month on campus, based in CSE's Embedded Systems Lab, where they're working on assignments and final projects as part of the COSMOS UCSD program.|
While there have been nationwide efforts to improve the number of students who have access to programming courses in high school, not all high schools have such courses yet. “After six summers teaching this cluster, we noticed a growing number of students who were exposed to computer science in high school,” said Schurgers, who will become a teaching professor this fall in the Department of Electrical and Computer Engineering. “At the same time, we saw some students who did not have those opportunities, and the gap was growing. So we made the decision last year to direct the computing cluster toward students who had no prior computer science exposure.”
Instead, the only pre-requisite for entry into the cluster was that applicants must have taken Algebra II or Integrated Math (hence most of the students are juniors and seniors).
The focus of Cluster 1 is on embedded computers that control everyday devices, analyze signals and collect data. The course aims to make embedded computing accessible – primarily by exposing the students to real-world, hands-on projects.
|High school students in Cluster 1 are mentored by graduate teaching assistants (standing)|
“Students learn programming languages while working on projects that we’ve taken time to construct in a way that makes them accessible to computing novices,” said Porter. “Ultimately, they are driven to learn new programming skills because they want to add GPS to their Android app, for instance, or to super-impose themselves into a scene from their favorite movie.”
As the students settled into their classroom (CSE 4140) for lectures, they also moved into the Embedded Systems Lab (CSE 3219), where they will do most of their assignments and programming projects. The curriculum began with students learning how to use AppInventor to create Android apps. Later they will learn just enough about programming languages to complete specific projects. In week two, Schurgers and Porter have added a new focus on image manipulation using the embedded Raspberry Pi processor (with students learning to process images on Pi in the Python programming language). Week three will have students doing Arduino programming in C/C++. Students will spend most of their final week on campus working on their final projects.
“We’re not trying to make them expert Python or C++ programmers in four weeks,” explained Porter. “Our goal for these students is for them to realize that the barrier to creating amazing things with computing is much lower than they might have thought, and to set them up for success when they explore computing more in the future."
New Robotics Cluster
While Cluster 1 now assumes no prior experience with programming, the COSMOS program at UC San Diego also decided to offer a cluster designed for students who did have prior experience. “We decided to create a completely new cluster for students with prior computer-science exposure and an interest in embedded systems and robotics,” said Schurgers, who is also co-teaching the summer program on Robot Inventors (Cluster 10) with electrical engineering professor Michael Yip. “In Cluster 10 we build on their programming and show them electronics and mechanical engineering in a very interdisciplinary way.”
|In Cluster 1, young women make up 65% of the students enrolled in the computing and coding program this summer.|
Both Schurgers and Yip are affiliated with the new Contextual Robotics Institute (led by computer science professor Henrik Christensen).
Music and Technology
There is one other cluster that has a computing pre-requisite. Called Music and Technology, Cluster 9 recommends that entering students have "basic" computer programming experience if they want to get the most out of the computer music-related program. The cluster is co-taught by Mechanical and Aerospace Engineering professor Mauricio de Oliveira and Music professor Shlomo Dubnov, who is a faculty-affiliate in CSE.
After learning how instruments affect the perception of sound, students are asked to build simple electronic circuits that can transform audio signals, such as amplifiers, filters and effect generators. They also learn how to program computers to analyze, modify, create and even improvise music. Two of Dubnov's Computer Music Ph.D. students -- Colin Zyskowski and Kevin Haywood – are also teaching some of the content of the cluster, including spatial audio, phone apps for music, and embedded electronics with Raspberry Pi and Pure Data. Dubnov will also teach COSMOS students about "algorithmic music".
The UC San Diego COSMOS program is administered through the Jacobs School of Engineering, which added technology and engineering to the original focus on math and science. Students are organized in clusters to participate in hands-on labs, field activities, lectures, discussions and final projects, with clusters centered on important fields of potential interest to high school students contemplating college.
“Each year we get amazing feedback from COSMOS students and parents,” noted Schurgers. “One story from last year sticks with me. A father told me his daughter was creative and had always been more interested in fashion and art, and never even considered science. It was through COSMOS that she came to realize how amazingly creative engineering can be, and she got totally swept up in it. She has since been accepted to a top-ranked university and is going to study engineering there."
To accommodate the new robotics cluster, enrollment in the overall COSMOS program at UC San Diego jumped roughly 10 percent this summer from the level in 2016 – pushing enrollment above 200 students for the first time.