Skip to main content

Algorithmic Thinking: Programming Logic Fundamentals

Algorithms and data structures are the essential building blocks for solving almost any computer engineering problem. You need a fundamental grasp of these techniques to help you understand how computers and programming languages work. This course lets you delve into topics such as recursion, stacks, searching, sorting, lists, binary trees, parsing and more. Learn to think like a computer scientist and take an engineering approach to solving complex problems.  The course is programming language-agnostic and assignments can be in any language, such as Java, C# or Python. 

Who It’s For

This class is for incoming ninth to 12th graders. To register, you must have at least three to six months of programming experience in any language and feel comfortable and confident in that language. Be prepared to work at a fast pace. 


Sabet Vallejo has been an engineer for more than 20 years. She’s excited about the power of engineering to create simple solutions to complex problems. Over her career, she’s solved many engineering problems through the use of software development tools. She’s also used programming tools to assist with structural seismic and wind analysis on many projects, including T-Mobile Park and Escala, an award‐winning high‐rise in downtown Seattle. Sabet earned a B.S. in civil engineering from the University of California, Irvine, and a M.S.  in engineering construction from the University of Washington.

More Information

This remote course will use a learning management system like Canvas and Zoom video conferencing. To participate, students should have access to a computer with speakers and a microphone and an internet connection. A headset and a webcam is also highly recommended.

See the Policies section for details about registration policies and more.


Aug 3–Aug 14, 2020

1 p.m.–4 p.m.
Refund Deadline
June 10 (100%)