Enrollment now open, classes to start Sept. 15
Three members of the Computer Science and Engineering faculty at the University of California, San Diego are the brains behind a new online course series to teach intermediate software development to learners around the world, Java Programming: Object-Oriented Design of Data Structures. The four courses and a Capstone Project make up a Specialization mini-degree program commissioned by Coursera, a leading provider of open online courses with 15 million registered learners worldwide.
Earlier this year, a UC San Diego team of teaching professors consisting of Christine Alvarado, Mia Minnes and Leo Porter (pictured l-r) was awarded the opportunity to work with Coursera to develop the intermediate level Specialization. Google is contributing ideas for real-world projects and the involvement of its engineers as guest lecturers to the Specialization. The company is interested in learning how participants use and experience the courses and may benefit from them. (Coursera is also working with Duke University to develop an introductory level software development Specialization, with similar involvement from Google.)
Alvarado, Minnes and Porter are popular teachers, but they also share a passion for research about computer-science education. Most of that research has focused on learning in the classroom, and the new courses for Coursera give the lecturers an opportunity to adapt what they have learned about education in the classroom to improve how computer science is taught online.
“This Specialization is truly a unique offering for computer science learners,” said Porter. “All the courses feature novel approaches to online-based learning – approaches we have developed by adapting best practices from computer-science education research to this new context.”
When the Specialization launches on Sept. 15, it is expected to draw thousands of self-paced learners each month. The instructors recommend that students should already have a basic familiarity with Java programming, but there is no formal prerequisite. The first course in the series goes beyond coding, with students learning to design and build more complex Java software projects.
“We’ll explore how to divide up a large project into a hierarchy of classes and how to increase the functionality of projects by importing existing libraries,” said Mia Minnes, speaking about the first course in the Specialization. “We’ll also look at some core algorithms for searching for and sorting data. Along the way, learners will develop an exciting, interactive application with a graphical user interface.”
Given their research backgrounds, the instructional team at UC San Diego will be studying the courses’ impact on learners, and their findings will contribute to the still-nascent knowledge base about effective practices in online learning.
Minnes, Porter and Alvarado are sharing the teaching workload, and their topics include object-oriented programming, data structures, and performance analysis. Each course in the series runs approximately four weeks, and projects are an important part of the curriculum.
“We want learners to be inspired to create,” said Alvarado. “They will dive into a course project right away, with each lesson designed around concepts that are directly applicable to extending the project’s functionality.”
According to the instructors, the courses go beyond what existing online computer science courses offer by exploring topics that are often at the core of interviews for programming internships and full-time jobs. Indeed, the fourth course in the sequence hones in on problem-solving and interview skills.
Video modules include lectures with core content as well as testimonials and stories from real-world software engineers (for example, discussing the frontiers of the software development industry), together with help videos to rescue learners who get stuck. The courses also offer recorded conversations between on-campus students who are learning the material (pictured l-r: Jahaziel Aguilera, Julia Kapich and Monica Hung) ew– leveraging the UC San Diego professors’ previous research findings on the value of ‘peer instruction’, particularly when it comes to learning computer science.
There is a growing body of research that peer instruction can play a critical role in improved learning outcomes in computer science education. Students tend to relate better to other students, but it’s also because they are more likely to model their study behaviors to those of learners who appear to have gained a mastery of the subject.
Each course in the Specialization can be taken independently, or they can be taken in sequence, ultimately culminating in a Capstone Project using intermediate programming and software design skills. Learners who pay for the Specialization and complete the four courses are then invited to undertake the Capstone Project.