Upper School

Learning, No Boundaries
Course of Study: Computer Science
Advanced Placement Computer Science AB (with permission) (full year) (course number 504)
This course prepares students for the Advanced Placement exam in Computer Science AB. It covers all of the required subsets of Java: Programming Basics, OOP, Data and Information Processing, Software Development, Graphical User Interfaces and Event-Driven Programming, and Web Basics. This is a college-level class that is run as though it were being offered to college students. There is a strong emphasis on developing the requisite analytical and problem-solving skills.
Advanced Programming (with permission) (full year) (course number 518)
This course explores advanced topics in Computer Science and is designed for highly motivated Computer Science students. The course includes a semester each of advanced C++ and advanced Java programming with an emphasis on understanding complex data structures and the operations that can be performed in these environments. Stand-alone projects and programming related cases will be developed as part of the course structure.
Game Development (semester elective) (course number 508)
For the first time, gaming has driven the development of the latest microchips, taking over from Defense. The game industry is a multi trillion dollar business. This course is a single semester introduction to game development. Basic ideas like graphics, audio formats, storage, design and development are reviewed. Students create 2D and 3D games using concepts and creativity; they program using “point and click” tools. Logical programming and object oriented programming concepts are emphasized.
Honors Programming (full year) (offered to students who have completed Programming I) (course number 503)
This course explores suitably advanced topics in Computer Science (which may in part overlap the AP Computer Science A curriculum, but typically goes beyond that curriculum). This course is designed for highly motivated Computer Science students. VB.NET is the medium of instruction, with in-depth discussion of programming concepts and techniques. In addition, there are several out of text logical constructs, algorithms, and real-world applications.
Introduction to Programming (semester elective) (course number 527)
This course serves as an introduction to computer programming using Alice 2.0. Alice 2.0 is designed for students at the high school or college level. Alice introduces object-oriented programming in a modern programming environment. Students learn fundamental programming concepts such as developing software methods, programming with logical structures, and creating event-driven software while creating 3D animated worlds. This course is a prerequisite to Programming I.
Programming I (full year) (offered to students who have completed Introduction to Programming) (course number 521)
This course is a continuation of computer programming. Students explore advanced topics in Alice 2.0 including lists, list processing, arrays, and recursive algorithms. Students then use this foundation to further their object-oriented programming and problem solving skills using C++ and Java.
Simulations (semester elective) (course number 510)
Computation is used in a wide array of contexts to simulate the real world and thereby derive insight into real world problems. This course introduces students to various software packages that simulate some aspect of the world. Current software packages include: Capitalism II, which simulates the business world; Real Lives, which models the lives of people from different parts of the world; Zoo Tycoon, which challenges the students to design, build, and manage a zoo including animal behavior; and SimCity 3000, which offers a realistic 3-D environment with businesses and other facilities to control. The text, Entrepreneurship, teaches business topics in a more traditional way, and is intended to support Capitalism II.
Technology Concepts (semester elective) (course number 524)
This course is a single semester introduction to the fundamental ideas of computers. It covers the components of a computer system, application software, input, output, and storage devices, as well as operating systems. Additionally, students gain a basic knowledge of the electronics of a computer system. All of this is accomplished using the textbook, interactive CDs, classroom discussions and demonstrations, and a hands-on circuitry kit.
Technology for the 21st Century (REQUIRED semester elective) (course number 523)
Today's students are digital learners. This class is designed to prepare students for 21st century learning. They will explore the role of technology in a global society as well as what it takes to be information, media, and computer literate locally and globally in the 21st century. Students will also examine how to use applications/tools unfamiliar to them, Web tools, online help, as well as gain an understanding of current computer terminology. This course is required for graduation unless students have taken Computer Concepts or Programming I prior to the 2009-10 school year
2D Graphics (semester elective) (course number 509)
Computer graphics are employed everywhere in our world today. Movies, games, the Internet, and scientific modeling are a few such arenas. This course first introduces Adobe Creative Suite 2, a unified, industry-strength design environment with the ability to produce the next level of integration in creative software. It is used to design, create, and edit graphics, publications, and web pages. The suite consists of Adobe Illustrator CS2, used for creating illustrations, Photoshop CS2, used for photo editing, InDesign CS2, a page layout program, GoLive CS2, a publishing program to publish and manage websites, and Acrobat 7.0, a tool used for reading PDF files.
3D Animation (semester elective) (course number 525)
3-D Computer animation is employed everywhere in our world today. Movies, games, and the Internet are a few such arenas. This course introduces 3D animation. Students learn the basic properties of 3D computer objects. Subsequently, they proceed to character creation and animation. The software package for this course is Animation Master, an industry-strength animation tool.
3D Architecture 1 (semester elective) (course number 526)
3-D computer architectural modeling is employed everywhere in our world today. Movies, games, the Internet, and scientific modeling are a few such arenas. This course introduces 3D architectural design and modeling. Students learn the basic properties of 3D computer objects. Subsequently, they proceed to CAD (computer-aided design). The software package for this course is Chief Architect, a powerful industrial software package used for architectural modeling.
3D Architecture 2 (semester elective) (offered to students who have completed 3D Architecture 1) (course number 528)
This course is offered as a continuation of 3D Architecture. Students use Chief Architect and continue to learn some tools not previously covered; however, the course is mainly project-based. Students are given different scenario criteria in a client-designer relationship environment from which they build their sturctures. In addition to enhancing their CAD skills, students obtain real-world business experience as they input actual prices into their materials list. Students have requirement rubrics which are used for assessment.
