Skip to content

Software Algorithms & Data Structures Summer 2026

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.

Requirements

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

How to Apply Information

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

Course Details

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)

Source: Lightcast. Learn about career stats data.

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