Learn the advanced programming topics in the C++ programming language, including pointers, dynamic storage, recursion, searching, and sorting. This is the 3rd course in the intermediate, undergraduate-level offering that makes up the larger Programming and Data Structures MicroBachelors program.
Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.
We recommend taking them in order, unless you have a background in these areas already and feel comfortable skipping ahead.
- Introduction to Programming in C++
- Advanced Programming in C++
- Introduction to Data Structures
- Advanced Data Structures
These topics build upon the learnings that are taught in the introductory-level Computer Science Fundamentals MicroBachelors program, offered by the same instructor.
This is a self-paced course that continues in the development of C++ programming skills. Among the topics covered is the development of more advanced command-line programs that utilize Pointers, Dynamic Storage, Recursion, Searching, Sorting to solve problems. Students learn how to use and program these data structures through the lectures and the labs. C++ programming material is presented over eight weeks of interactive lectures with quizzes to assess your understanding of the material Students will experience hands-on practice writing C++ programs through fourteen lab challenges.
Students will not only learn to use data structures to organize, manage, and storage in formats that enable efficient access and modification. A data structure is a collection of data values, the relationships among them, and the functions or operations that can be applied to the data.
This course is part of the Programming & Data Structures MicroBachelors Program.
What you'll learn
- Demonstrate a basic understanding of object-oriented programming by using structures and classes in software projects.
- Use object-oriented programming techniques to develop executable programs that include elements such as inheritance and polymorphism.
- Apply basic searching and sorting algorithms in software design.
- Apply single-and multi-dimensional arrays in software.
- Demonstrate a basic understanding of programming methodologies, including object oriented, structured, and procedural programming.
- Design and develop programs that recursion to solve problems that can be expressed with recurrence.
Syllabus
Wk 1 - Pointers
- Dynamic Arrays
- Pointer Arithmetic
Wk 2 - Pointers Labs
Wk 3 - Recursions
- Mathematical Induction
- Recursion
Wk 4 - Recursion Labs
Week 5 - Searching
- Sorted-Search
- Linear vs. Logarithmic
Wk 6 - Searching Labs
Wk 7 - Sorting
- Sorting Algorithms
- Runtime Analysis
Wk 8 - Sorting Labs
Week 9 - Object Oriented Programming
- Encapsulation
- Accessors and Mutators
- Constructors
- Operator Overloading
- Inheritance
- Polymorphism
Wk 10 - OO Labs
Wk 11 - Final Exam