About the content
Complete your introductory knowledge of computer science with this final course on objects and algorithms. Now that you've learned about complex control structures and data structures, learn to develop programs that more intuitively leverage your natural understanding of problems through object-oriented programming. Then, learn to analyze the complexity and efficiency of these programs through algorithms. In addition, certify your broader knowledge of Introduction to Computing with a comprehensive exam.
By the end of this course, you'll be able to write programs in Python that leverage your more natural understanding of data structures by creating objects to represent the structures you work with most often. For example, if you were creating a class roster application, you'll learn how to create an object representing a student's name, ID number, and attendance record. Then, you'll be able to create applications that leverage sorting and searching algorithms to sort that roster alphabetically, search for a particular student, and evaluate the efficiency of both those operations.
Structurally, the course is comprised of several parts. Instruction is delivered via a series of short (2-3 minute) videos. In between those videos, you'll complete both multiple choice questions and coding problems to demonstrate your knowledge of the material that was just covered. These exercises count for 20% of your grade. Then, after each major chapter, you'll complete a problem set of collected, more challenging problems. These count for 40% of your grade. Finally, you'll complete a final course exam, which counts for the remaining 40% of your grade.
- Working with instances of objects in Python.
- Creating new data structures using object-oriented programming.
- Using objects with earlier control and data structures.
- Writing common search algorithms, like linear and binary search.
- Writing common sorting algorithms, like bubble sort, insertion sort, and merge sort.
- Evaluating the computational complexity of algorithms using Big O notation.
CS1301xIII or equivalent knowledge is required. Certain problems may benefit from experience with algebra, geometry, pre-calculus, and trigonometry, but you can succeed without these.
Chapter 1. Objects. Working with instances of complex data types or defining your own, like creating a class to represent a video game character, a class syllabus, or an item for sale.
Chapter 2. Algorithms. Creating complex code for searching in large lists or sorting lists of data, and analyzing code for its complexity.
Chapter 3. Course Recap. A comprehensive review of the Xseries as a whole, leading into the final exam.
Senior Research Associate at the College of Computing
Georgia Institute of Techology
Harvard University, the Massachusetts Institute of Technology, and the University of California, Berkeley, are just some of the schools that you have at your fingertips with EdX. Through massive open online courses (MOOCs) from the world's best universities, you can develop your knowledge in literature, math, history, food and nutrition, and more. These online classes are taught by highly-regarded experts in the field. If you take a class on computer science through Harvard, you may be taught by David J. Malan, a senior lecturer on computer science at Harvard University for the School of Engineering and Applied Sciences. But there's not just one professor - you have access to the entire teaching staff, allowing you to receive feedback on assignments straight from the experts. Pursue a Verified Certificate to document your achievements and use your coursework for job and school applications, promotions, and more. EdX also works with top universities to conduct research, allowing them to learn more about learning. Using their findings, edX is able to provide students with the best and most effective courses, constantly enhancing the student experience.