A one year, 6-mod course that provides an introduction to programming for non-ATCS students.  This elective is the prerequisite for AP Computer Science, IB Computer Science, as well as for a number of other electives offered by ATCS.  

Students may schedule the course during mods 1-24 as part of the full year scheduling proceess. Alternatively, students may register for the course as three discrete electives (Foundations of CS 1, Foundations of CS 2, and Foundations of CS 3) during mods 25-27.

Foundations of CS 1  (Trimester 1)
In this course, students are introduced to the Java programming language. Students learn console input and output, conditional expressions, while and for loops, and methods. Students learn the basics of the internal representation of values by the computer. Students practice the skills they acquire in this course by applying them to solve a variety of programming challenges.


Foundations of CS 2  (Trimester 2)

This course introduces to students to more complex structures.  In the first unit, students learn to use arrays to represent lists of data.  Then, students are introduced to object-oriented programming, the design paradigm of nearly all modern software systems.  Students learn to design objects having behaviors, properties, and inheritance.


Foundations of CS 3  (Trimester 3)
In this course, students develop projects in a graphics based Java environment.  They hone their object skills, develop an understanding of arraylists, and develop an understanding of event based programming.