About This Course
This page is for the summer 2026 offering only. For future offerings, see Software Algorithms & Data Structures.
Algorithms and data structures are the essential frameworks for solving almost any computer engineering problem. You need a fundamental grasp of these tools to understand how computers and programming languages work. What's more, expertise in algorithms and data structures helps you evaluate their relative strengths and weaknesses and decide on the best solutions.
In this course, you’ll examine, create, compare and test the major types of algorithms and data structures. You’ll learn how to conduct a Big-O analysis to assess the complexity and runtime of your code, and how to understand the tradeoffs of using different algorithms and data structures. You’ll learn to identify different problem-solving approaches and how to forge solutions for optimal performance and efficiency.
Because this course is for experienced programmers, it doesn’t teach any programming. It is language-agnostic, but coursework is in Python or C#.
▸ Related Article: How to Become a Software Developer
Designed For
Those with experience coding in a common programming language — like Python, C#, C++, Java — and who are looking to move into computer science or software development.
Admission Requirements
To apply, you must have ONE of the following:
Completed Foundations of Python Programming
Combination of:
Basic programming knowledge: Understanding of fundamental programming concepts and syntax in at least one programming language (e.g., Python, Java, C++, C#).
Problem-solving skills: Ability to break down complex problems into manageable tasks.
Familiarity with development tools: Experience with integrated development environments (IDEs), version control systems (e.g., Git), and basic debugging tools.
Basic understanding of the software development lifecycle (SDLC): Awareness of the phases of software development, from requirements gathering to deployment.
Mathematical foundations: Solid grasp of basic mathematics, particularly in areas relevant to programming and algorithm design such as logic, algebra and potentially discrete math.
Time Commitment
Including time in class, you should expect to spend about six to 10 hours each week on coursework.
English Proficiency
If English is not your native language, you should have at least intermediate English skills to enroll. To see if you qualify, make sure you are at the B2 level on the CEFR self-assessment grid. To learn more, see English Language Proficiency Requirements – Noncredit Programs.
International Students
Because this offering is 100% online, no visa is required and international students are welcome to apply. For more information, see Admission Requirements for International Students.
Technology Requirements
Access to a computer with:
Recent operating system (Windows 10 or later/Mac OS X 10.7.4 or later) and web browser
Administrator privileges to install software
High-speed internet connection
Headset and webcam (recommended)
Completing the Course
To successfully complete this course, you must fulfill the requirements outlined by your instructor.
▸ Explore More: Want to get started in coding? Check out our Foundations of Python Programming course — or find the right programming language for you.
What You'll Learn
How to understand number base systems and recursion
Approaches for sorting algorithms and Big-O analysis
Techniques for using arrays, lists, stacks, queues, binary trees and binary search trees, hash tables, binary heaps and priority queues, and graphs
Get Hands-On Experience
Build data structures from scratch
Create and implement algorithms from scratch
Practice common job interview problems that involve algorithms
Apply by June 23
Application Deadline
Applications are open until Tuesday, June 23, 2026, at 11:59 p.m. Pacific Time, or until the course fills, whichever comes first.
Application Steps
This course has an automatic acceptance process. Once you complete the application and pay the application fee, you’re in. See the steps below for more details.
You’ll apply to the course on MyContinuum, our new application system. MyContinuum helps you seamlessly manage the enrollment process and more.
Step 1: Review Requirements
Before you apply, carefully read the admission requirements in the Designed For section above. In the application, you’ll be asked to confirm that you meet these requirements.
If you have any questions, or want to make sure this course is right for you, reach out to Enrollment Services at enroll@pce.uw.edu or 800-506-1325.
Step 2: Apply
Complete the online application on MyContinuum. You’ll need to create an account first. If you already have a UW NetID, choose that option. Otherwise, sign in with a Google or Apple account.
Step 3: Pay the Application Fee
Next, pay the $50 nonrefundable application fee through MyContinuum. Your application is not complete until you pay this fee.
After Applying
Once you’re accepted, we’ll ask you to complete a questionnaire on MyContinuum to help us learn more about you. Then you’ll get details about how to register for your course and pay your course fee.
To ensure your spot in class, we recommend that you register by the priority registration deadline, which is four weeks before class begins. After that time, we may release your seat to another student. The final registration deadline is two days before the course starts.
Related Resources
Courses
Jul 7 - Sep 29, 2026 | Noncredit | Online | Tue | 6 - 9 p.m. Pacific Time | 12 Weeks | $1,545
Instructor
Sanjeev Qazi
Noncredit Course
You'll earn 3.6 continuing education units (CEUs) for successfully completing this course. Learn more about noncredit options.
Career Stats
16%
Projected growth in U.S. demand for data structures skills (2025–27)
23%
Projected growth in U.S. demand for algorithms skills (2025-27)
Earn a Certificate
Combine this course with the Foundations of Python Programming and Software Design Patterns & System Design to earn the Certificate in Software Development Essentials.
Earn a Digital Badge
After successfully completing this course, you can claim a digital achievement badge that can be shared on LinkedIn and other social media sites. Learn more about digital badges.
This program is intended for professional development and is not designed to meet educational requirements for professional licensure or certification.
Course Details
- Location: Online
- Duration: 11 - 12 weeks
- Times: Evenings
- Cost: $1,545