
Data Structures and Algorithms Using Python | CMPR.X425
Deep knowledge of how to organize data and data structures, in addition to performing operations that result in meaningful algorithm answers, is essential in science and engineering.
In this course, students will use Python, a widely-used, general-purpose, high-level programming language, to learn a variety of data structures including array, list, stack, queue, heap, hash, binary trees, disjoint sets, and graphs. Python, which has a design philosophy that emphasizes code readability, has a syntax that allows programmers to express concepts in fewer lines of code than would be possible in languages such as C++ or Java. It is considerably easier to learn.
Students explore algorithm techniques like brute force, greedy, dynamic programming, and backtracking, and implement algorithms using those techniques. Both time and space complexities will be analyzed for all the code written in class.
By the end of the course, you will have experience with many data structures and algorithms and be able to implement them easily using Python. Mastering fundamental data structures and algorithms will help you confidently succeed in software engineering interviews at FAANG and other companies.
Learning Outcomes
At the conclusion of the course, the student should be able to
- Describe and use abstract data types including stacks, queues, lists, tree, hash, and graphs.
- Implement different algorithmic techniques such as divide and conquer, greedy algorithms, dynamic programming, and backtracking.
- Explain the asymptotic performance of the algorithms studied in this course and understand the practical implications.
- Analyze complex Python programs written by another author.
Prerequisite(s):
A course on C/C++/Java/Python.
- Save Your Seat
Help us confirm course scheduling. Enroll at least seven days before your course starts. - Accessing Canvas
Learn more about gaining access to your course on Canvas in our FAQ section. -
Accessibility and Accommodation
For accessibility questions or to request an accommodation, please visit Access for Students with Disabilities or email the Extension registrar. -
Finance Your Education
Here are ways to pay for your education.
Sections Open for Enrollment:
Schedule
Date: | Start Time: | End Time: | Meeting Type: | Location: |
---|---|---|---|---|
Sat, 09-27-2025 | 9:00 a.m. | 12:00 p.m. | Flexible | SANTA CLARA / REMOTE |
Sat, 10-04-2025 | 9:00 a.m. | 12:00 p.m. | Flexible | SANTA CLARA / REMOTE |
Sat, 10-11-2025 | 9:00 a.m. | 12:00 p.m. | Flexible | SANTA CLARA / REMOTE |
Sat, 10-18-2025 | 9:00 a.m. | 3:30 p.m. | Flexible | SANTA CLARA / REMOTE |
Sat, 10-25-2025 | 9:00 a.m. | 12:00 p.m. | Flexible | SANTA CLARA / REMOTE |