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 course is for incoming 9th to 12th graders. To register, you must have at least three to six months of programming experience in any language and be highly comfortable and confident in that language. Be prepared to work at a fast pace. 


Sabet Vallejo has been an engineer for more than 30 years and a technology instructor for 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. 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 uses the Canvas learning management system and Zoom video conferencing. Classes meet in real time and are not recorded. The instructor uses a blend of whole group discussion, small group/partner work and individual work time.

To participate, you should have access to a computer with a high-speed internet connection and a headset and webcam.

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


Aug 2–Aug 13, 2021

1 p.m.–4 p.m.
Refund Deadline
Jun 21, 2021