New Fall Hours • COVID-19 Update
The Silicon Valley Campus is open 4–9:30 p.m. on Monday–Friday and 8 a.m.–5 p.m. on Saturday.
Data Structures and Algorithms Using C++ | CMPR.X406
Most engineers know computer languages, as well as some data structures and algorithms. This may not be enough to write code for a real product. This course covers the use of efficient algorithms with powerful data structures in object-oriented code using the C++ programming language. The course begins with a quick review of C++, moving on to the analysis of complexity of algorithms. Emphasis is placed on common problems, implementation details, examples, and testing throughout the course. Each class session will include lecture and discussion of code. This course prepares students to achieve the skill level of practicing engineers in the software industries. Students write and test approximately 5000 lines of C++ code. Upon completion of this course, students are prepared to improve data structures and algorithms in existing code, as well as write industry standard code for a new product.
Learning Outcomes:At the conclusion of the course, you should be able to:
- Describe a solution to a real world problem using efficient data structures and algorithms
- Discuss the need of rewriting or modifying the existing code
- Identify and explain the problems with the existing implementation and suggest an efficient solution
- A quick review of C++
- The importance of algorithms
- Introduction to the complexity of algorithms
- Dynamic array and stack
- Linked lists
- Searching and sorting
- Hash tables
- Heap and binary tree
- Graph algorithms using C++ templates
Skills Needed: Working knowledge of C++ is required.
Have a question about this course?
- Save your seat and help us confirm course scheduling. Enroll at least seven days before your course starts.
- ACCESSING CANVAS—Learn more about accessing your course on Canvas in our FAQ section.
This course is related to the following programs:
Course Availability Notification
Please use this form to be notified when this course is open for enrollment.