Students will learn to design and analyze software algorithms. Various data structures, such as arrays, trees and dictionaries, are introduced. The foundational principles of software engineering are introduced, in order to create maintainable software solutions. Prerequisite: grade of C or higher in 110.

An in-depth study of web development and design, emphasizing the creation of interactive and responsive web applications with visually appealing user interfaces. Event-driven programming is studied as well as advanced JavaScript topics such as DOM manipulation and asynchronous programming. Prerequisite: grade of C or higher in 110.