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 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 – 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.
Java Programming: Object-Oriented Design of Data Structures is among more than 35 new business, computer science and data science Specializations starting September 15 on Coursera. In a separate announcement, the company noted that “over half of Coursera’s learners come to our platform specifically to build practical career skills – especially in high-demand business and technology fields. That’s why the Coursera team and our university partners have come together to bring learners hundreds of new courses.”
The Coursera platform allows anyone around the world to access these courses. With such tremendous reach comes the huge potential to impact a wide and diverse group of learners The participants in the courses are expected to include working professionals looking to update their skills or change to a different job, current college students looking to enhance their on-campus education, and many others. Learners who take computer science courses on Coursera typically come from many international locations, with nearly three quarters of registered students based outside the United States.
This Specialization is an initiative under the UC San Diego Office for Online and Technology Enhanced Education, which coordinates campus education efforts in the online arena. The office, part of the Teaching and Learning Commons, is closely aligned with the Commons’ goals of supporting both instructors and students.
Java Programming: Object-Oriented Design of Data Structures is the third Specialization offered by UC San Diego faculty members on the Coursera platform, and all three were developed by CSE professors. The other Specializations include Interaction Design (developed by CSE and Cognitive Science Prof. Scott Klemmer) and Bioinformatics (by CSE Prof. Pavel Pevzner and former postdoctoral researcher Phillip Compeau).
Coursera provides universal access to the world's best education by partnering with top universities and organizations worldwide to offer courses online. Coursera's education platform combines mastery-based learning principles with video lectures, interactive content, and a global community of peers, offering students from around the world a unique online learning experience.