High School
Departments & Courses, In Brief

High School Courses

Computer Science

In Computer Science, students are given a broad introduction to the field with a variety of Assignments. Students learn programming languages and the use of professional software development tools. In addition to two introductory courses, students may enroll in advanced electives including Data Structures and Algorithms, Relational Databases, Math and Physics Simulations, Web Engineering, Python, and Interface Design. Dalton’s Computer Science Team participates in several road trips a year competing in regional college competitions as well as the American Computer Science League. Over the past decade, Dalton has won or tied for first place at many of these events. Four times a year, juniors and seniors compete in class on theory topics and programming. Additionally, students can compete in national Linguistics competitions.
  • Introduction to Python

    Along with Java, Python is one of the most popular programming languages currently in use, with a wide array of applications ranging from general coding to creating video games and the field of bioinformatics, and is widely used in certain college courses. The language is much closer to the English language than others used in coding, revealing more clearly the logic connections that make up computer science. This semester-long course is intended to give students foundational knowledge in Python, roughly equivalent to the material covered in Computer Science 1 & 2 with a few Python-specific topics, culminating in a final project. As such, this course is recommended only to those who have completed the first two years of Comp Sci (or have equivalent experience approved by the department), and it does not replace any course in the regular Computer Science sequence.

    This course will be offered in the evening.

    Spring semester course, 0.25 credits
    Meets 1x per week, 4:30pm to 6:30pm
  • Computer Science 1

    In this course, students learn to use  computer programming languages (e.g. HTML, CSS, and Javascript) as expressive mediums to make interactive stories, personal websites, digital presents, simulations, and other projects they are excited about. By the end of this class, each student will have a compelling portfolio of programming projects that reflect their tastes, interests, and identities. 

    Full Year Course, 0.50 credits    
  • Computer Science 2

    This course continues to broaden students’ exposure to a variety of coding languages and techniques. The course begins with a foundation in fundamental data types before moving to explore digital graphics, data structures, methods and objects. Each Assignment finishes with a creative project, culminating in a robust student portfolio at the end of the year. 
     
    Prerequisite: Computer Science 1 and/or receive departmental permission
    Full Year Course, 0.50 credits

    Requires Preapproval
  • Adv. Data Structures and Algorithms 'A'

    With so much data in the world, programmers must consider how to organize data so that it can be used effectively later on. This course focuses on how we represent, store, and process data, and the analysis of algorithms. Students will learn techniques such as lists, stacks, trees, linked lists, and algorithms such as sorting, searching, and hashing. This course continues a common collegiate academic trajectory.
     
    Prerequisite: Computer Science 2 and/or receive departmental permission
    Full Year Course, 1.0 credit

    Requires Preapproval
  • Adv. Physics and Math Simulations 'A'

    This course is a transdisciplinary offering that blends physics, mathematics, and computer science using a holistic approach. The skills that this class will teach will be different from what one would expect from the addition of physics, math, and computer science. Student assignments will reflect concepts from all three disciplines to better understand projectiles; orbitals; springs; particles; matrices of several dimensions; and areas under curves. Python and java programming languages will be used and data visualizations will be created as part of the course. Dedicated time outside of the classroom is expected.
     
    Prerequisite: Computer Science 2 and/or receive departmental permission
    Recommended Co-registration:  Physics ‘A’ and ‘A’-level Math
    Full Year Course, 1.0 credit

    Requires Preapproval
  • Adv. Linguistics ‘A’

    This course will explore human natural language and as it is spoken, signed, and written by humans.   Students will uncover patterns and similarities across the thousands of languages used today. This pursuit is informed through building formal grammatical structures (e.g., Universal Grammar), using inclusive alphabets (e.g., International Phonetic Language), and tracing languages to common ancestors (e.g., Proto-Indo-European). This course will enrich students' continued understanding of their studied language using the multiple scientific perspectives of linguistic study (phonology, semantics, syntax, sociolinguistics, language acquisition) as well as enrich their understanding of language through comparison between their studied languages and related languages.
     
    Prerequisite: Level 2 language and Computer Science 2 and/or receive departmental permission
    Full Year Course, 1.0 credit

    Requires Preapproval
  • Web Engineering

    Web sites are of central importance in today's world, and learning the web toolkit is transformative.  This course will focus on the challenges involved in developing software for the web, with a particular focus on quickly prototyping and building. Students will learn to collaboratively construct web applications large and small, exploiting and expanding the skill set of each student in the class.  As a team, students will participate in hackathons, and push themselves to have tools ready to build quickly and iterate. The content of the course will vary per student and be based on experience and strengths.
     
    Prerequisite: Computer Science 2 and/or receive departmental permission
    Full Year Course, 0.50 credits

    Requires Preapproval
  • Web Engineering 'A'

    Web sites are of central importance in today's world, and learning the web toolkit is transformative. This course will focus on the challenges involved in developing software for the web, with a particular focus on quickly prototyping and building. We will learn to collaboratively construct web applications large and small, exploiting and expanding the skill set of each student in the class. As a team we will participate in hackathons, and push ourselves to have tools ready to build quickly and iterate. The content of the course will vary per student and be based on experience and strengths.
     
    Prerequisite: Computer Science 2 and/or receive departmental permission
    Full Year Course, 1.0 credits

    Requires Preapproval
  • Relational Databases

    The major emphasis of the course is advanced programming methodology, algorithms, and database systems. Topics vary each year based on interest and expertise.
     
    Prerequisite: Computer Science 2 and/or receive departmental permission
    Full Year Course, 0.50 credits

    Requires Preapproval
  • Computer Simulations

    The goal of a computer simulation is to approximate the behavior of a real-world or hypothetical system or set of processes. In this course, students will use programming tools to model, simulate, and analyze these systems. This involves choosing an appropriate model, developing algorithms, and then writing suitable and efficient code to implement the model. The curriculum will be segmented into several thematic units, and students will have the opportunity to create simulations that stem from their own curiosities and interests. Sample projects may include: animal behavior, traffic management (e.g., cars, computer networks, pedestrians), ecosystems, games, and economic markets.
     
    Prerequisite: Computer Science 2 and/or receive departmental permission
    Full Year Course, 1.0 credit

    Requires Preapproval
  • Discrete Structures

    This course is an introduction to the fundamental discrete structures and logical thinking that support the formal foundation of computer science. Topics include logic, sets, recursion and induction, relations, graphs, and Boolean algebra. These will be explored through Assignments centered around areas of algorithms, coding theory, cryptography, information theory, quantum computing, symbolic computing, and type theory.

    Prerequisite: Computer Science 2 and/or receive departmental permission
    Full Year Course, 1.0 credit

    Requires Preapproval
  • Virtual Reality

    This is an introductory course in virtual, augmented, and mixed reality systems.  Students will explore modern hardware and the algorithms that produce these experiences, the software and languages to develop these programs, and the cognitive foundations of the immersion for the user.
     
    Prerequisite: Computer Science 2 and/or receive departmental permission
    Full Year Course, 1.0 credit

    Requires Preapproval
  • IS: Computer Science

    Independent studies are opportunities for 10th, 11th, and 12th grade students to pursue ideas and passions not covered by current course work.  

    Students must complete this form to apply for preapproval.

    Requires Preapproval
    Graded Pass/Fail
    Fall or Spring Semester Course, 0.25 credits
  • Advanced Computer Science Research and Applications

    This course seeks to support advanced Computer Science students in developing and implementing novel projects based on research and experimentation with code and computational hardware. Students will meet weekly to develop their ideas, identify resources, and provide project updates. Students in this class will have prioritized access to computational tools such as our in-house Windows workstation and will be supported in access to virtual tools, as well. The course will end with a public presentation of the project on the web. Participation in the course offers an invitation to attend the Open Source Arts Contributor Conference in Denver in April 2024.

    Requires Preapproval
  • Algorithms

    This course will introduce students to the design and analysis of algorithms. Students will learn how to develop algorithms to solve a variety of computational problems, and how to analyze the efficiency and correctness of their solutions. Topics covered in the course will include sorting and searching algorithms and graph algorithms. Throughout the course, students will develop their programming skills in a language such as Python or JavaScript. 

    Prerequisite: Computer Science 2 and/or receive departmental permission
    Requires Preapproval
  • Computer Science I: Computational Thinking

    This course (or its equivalent) is a prerequisite to all Computer Science II classes at GOA. Computational thinking centers on solving problems, designing systems, and understanding human behavior. It has applications not only in computer science, but also myriad other fields of study. This introductory level course focuses on thinking like a computer scientist, especially understanding how computer scientists define and solve problems. Students begin the course by developing an understanding of what computer science is, how it can be used by people who are not programmers, and why it’s a useful skill for all people to cultivate. Within this context, students are exposed to the power and limits of computational thinking. Students are introduced to entry level programming constructs that will help them apply their knowledge of computational thinking in practical ways. They will learn how to read code and pseudocode as well as begin to develop strategies for debugging programs. By developing computational thinking and programming skills, students will have the core knowledge to define and solve problems in future computer science courses. While this course would be beneficial for any student without formal training as a programmer or computer scientist, it is intended for those with no programming experience.

    This course is offered through our partnership with Global Online Academy (GOA).
    One Semester Course, Fall and Spring, 0.50 credits

    Requires Preapproval
  • Computer Science II: Game Design and Development

    In this course, students design and develop games through hands-on practice. Comprised of a series of "game jams," the course asks students to solve problems and create content, developing the design and technical skills necessary to build their own games. The first month of the course is dedicated to understanding game design through game designer Jesse Schell's "lenses": different ways of looking at the same problem and answering questions that provide direction and refinement of a game's theme and structure. During this time, students also learn how to use Unity, a professional game development tool, and become familiar with the methodologies of constructing a game using such assets as graphics, sounds, and effects, and controlling events and behavior within the game using the C# programming language. Throughout the remainder of the course, students will work in teams to brainstorm and develop new games in response to a theme or challenge. Students will develop their skills in communication, project and time management, and creative problem-solving while focusing on different aspects of asset creation, design, and coding.

    Prerequisites: Computer Science I: Computational Thinking or its equivalent.

    Requires Preapproval
  • Computer Science II: Game Design and Development

    In this course, students design and develop games through hands-on practice. Comprised of a series of "game jams," the course asks students to solve problems and create content, developing the design and technical skills necessary to build their own games. The first month of the course is dedicated to understanding game design through game designer Jesse Schell’s “lenses”: different ways of looking at the same problem and answering questions that provide direction and refinement of a game’s theme and structure. During this time, students also learn how to use Unity, a professional game development tool, and become familiar with the methodologies of constructing a game using such assets as graphics, sounds, and effects, and controlling events and behavior within the game using the C# programming language. Throughout the remainder of the course, students will work in teams to brainstorm and develop new games in response to a theme or challenge. Students will develop their skills in communication, project and time management, and creative problem-solving while focusing on different aspects of asset creation, design, and coding. Prerequisites: Computer Science I: Computational Thinking or its equivalent. 

    *Cross-listed in Mathematics and Technology

    This course is offered through our partnership with Global Online Academy (GOA).
    Spring Semester Course, 0.50 credits

    Requires Preapproval
  • Computer Simulations

    The goal of a computer simulation is to approximate the behavior of a real-world or hypothetical system or set of processes. In this course, students will use programming tools to model, simulate, and analyze these systems. This involves choosing an appropriate model, developing algorithms, and then writing suitable and efficient code to implement the model. The curriculum will be segmented into several thematic units, and students will have the opportunity to create simulations that stem from their own curiosities and interests. Sample projects may include: animal behavior, traffic management (e.g., cars, computer networks, pedestrians), ecosystems, games, and economic markets.

    Requires Preapproval
    Prerequisite: Computer Science 2 and/or receive departmental permission
    Fall Semester Course, 0.5 credit
  • Data Structures

    3451 Data Structures
    This course will cover data structures used in computer science, including arrays, linked lists, stacks, queues, trees, and graphs. Students will learn how to implement data structures and analyze their performance characteristics. By the end of the course, students will have a strong understanding of data structures, how to select the appropriate data structure for a given problem, and how to implement it efficiently.

    Prerequisite: Computer Science 2 and/or receive departmental permission
    Requires Preapproval
  • Digital Logic Design

    We’ve all heard that computers run on ones and zeros, but what does that actually mean? Students in this course will learn how a computer functions down to the level of a transistor — the basic building block of all digital circuits. This is a hands-on course, part of which will involve physically constructing circuits with wires and chips on a breadboard. Digital Logic CAD tools will also be employed so that larger circuits can be designed and implemented entirely within software. A final project will involve building a simple adding calculator. Topics will include: number systems, data representation, digital logic/circuit design, and Boolean algebra. This is a great course for anyone interested in math, logic, or who wants to really understand what's going on inside all of our devices.

    Requires Preapproval
    Prerequisite: Computer Science 2 and/or receive departmental permission
    Spring Semester Course, 0.5 credit
  • Discrete Mathematics ‘A’

    Discrete Mathematics is the study of mathematical structures that are distinct, separable, and countable. This is different from Calculus, which is primarily concerned with continuous functions. This course is a survey of topics like logic, combinatorics, set theory, and graph theory, which form part of the foundation of theoretical computer science. Students may take this course for credit in either Math or Computer Science or both and will complete distinct projects to satisfy either requirement.
     
    Prerequisite: Computer Science 2 and/or receive departmental permission
    Full Year Course, 1.0 credit

    Requires Preapproval
  • Interactive Graphics

    In this course we will familiarize ourselves with the fundamental algorithms and data structures that are used in today’s interactive graphics systems. The material we cover are the foundations of scientific visualization, virtual reality, computer games and film animation. We will start with topics such as pixel art, computational geometry, shape representation, transformation and animation, and move to more complex topics such as Image processing and filtering, ray tracing, and human visual perception. We will take time to see how modern game engines such as Unity and Unreal create high fidelity virtual environments. The course will include practical experience of graphical software environments such as OpenGL and GLSL shading language.

    Requires Preapproval
    Prerequisite: Computer Science 2 and/or receive departmental permission
    Full Year Course, 1.0 credit
  • Interactive Graphics

    In this course we will familiarize ourselves with the fundamental algorithms and data structures that are used in today’s interactive graphics systems. The material we cover are the foundations of scientific visualization, virtual reality, computer games and film animation. We will start with topics such as pixel art, computational geometry, shape representation, transformation and animation, and move to more complex topics such as Image processing and filtering, ray tracing, and human visual perception. We will take time to see how modern game engines such as Godot 4 create high fidelity virtual environments. 

    Prerequisite: Computer Science 2 and/or receive departmental permission
    Requires Preapproval
  • iOS App Design

    Learn how to design and build apps for the iPhone and iPad and prepare to publish them in the App Store. Students will work much like a small startup: collaborating as a team, sharing designs, and learning to communicate with each other throughout the course. Students will learn the valuable skills of creativity, collaboration, and communication as they create something amazing, challenging, and worthwhile. Coding experience is NOT required and does not play a significant role in this course. Prerequisite: For this course, it is required that students have access to a computer running the most current Mac or Windows operating system. An iOS device that can run apps (iPod Touch, iPhone, or iPad) is also highly recommended.

    *Cross-listed in Mathematics and Technology

    This course is offered through our partnership with Global Online Academy (GOA).
    Spring Semester Course, 0.50 credits
     
    Requires Preapproval
  • Java for Robotics

    XXXX NEW COURSE Java for Robotics
    This course is designed for advanced students delving deeper into  computer science and robotics and those seeking to develop their skills with Java libraries The course is intended to be exploratory and self-directed, allowing students to pursue topics that align with their interests and expertise. Students will then work on a series of programming projects that will enable them to explore the intersection of Java programming and robotics. Project topics may include robot sensing and actuation, robot kinematics and motion control, and robot perception. In addition to these technical skills, students will learn about robotics and automation's ethical and social implications. They will gain an understanding of the impact of robotics on society and explore topics such as robot ethics, the future of work, and the role of robotics in healthcare.

    Prerequisite: Computer Science 2 and/or receive departmental permission
    Graded Pass/Fail
    Requires Preapproval
  • Linguistics

    This course will explore human natural language and as it is spoken, signed, and written by humans.  Students will uncover patterns and similarities across the thousands of languages used today. This pursuit is informed through building formal grammatical structures (e.g., Universal Grammar), using inclusive alphabets (e.g., International Phonetic Language), and tracing languages to common ancestors (e.g., Proto-Indo-European). This course will enrich students' continued understanding of their studied language using the multiple scientific perspectives of linguistic study (phonology, semantics, syntax, sociolinguistics, language acquisition) as well as enrich their understanding of language through comparison between their studied languages and related languages.

    Prerequisite: Level 2 language
  • Open Source Software Development

    This course will provide an introduction to open source software development and the tools and technologies used in this field. Students will learn about the principles of open source software, the advantages of using open source software, and the process of contributing to open source projects. Students will learn how to set up a development environment, use version control, and contribute to open source projects. Students will gain practical experience by working on real-world open source projects and contributing to existing projects. Participation in the course offers an invitation to the attend the Open Source Arts Contributor Conference in Denver in April 2024. 

    Prerequisite: Computer Science 1+ and/or receive departmental permission
    Requires Preapproval

Faculty

  • Photo of Saber Khan
    Saber Khan
    Computer Science Department Chair
    Kenyon College - B.A.
    San Francisco State University - M.S.
  • Photo of Rebecca Erde
    Rebecca Erde
    Makerspace Coordinator
    Rhode Island School of Design - M.S.
    Washington University in St. Louis - B.S.
  • Photo of Julietta Garbasz
    Julietta Garbasz
    Computer Science and Mathematics Teacher
    Yale University - B.A.
  • Photo of Sheikh Muizz
    Sheikh Muizz
    High School Computer Science Teacher
    Fordham University - B.S.
  • Photo of Danah Screen
    Danah Screen
    Computer Science and Engineering Teacher
    Fordham University - M.S.
    Barnard College, Columbia University - B.A.
  • Photo of Charles Forster Stewert
    Charles Forster Stewert
    High School Assistant Director for Operations
    University of Pennsylvania - B.A.
    French Culinary Institute - Diplome de Boulanger
  • Photo of Christina Tobajas
    Christina Tobajas
    Computer Science Teacher
    Columbia University - B.A.
(Grades K-3) 53 East 91st Street
New York, NY 10128
General: (212) 423-5200 | Admissions: (212) 423-5463
General: info@dalton.org | Admissions: fpadmissions@dalton.org

(Gr. 4 Dalton East & PE Center) 200 East 87th Street
New York, NY 10128
General: (212) 423-5200 | Admissions: (212) 423-5262
General: info@dalton.org | Admissions: admissionsmshs@dalton.org

(Grade 5-12) 108 East 89th Street
New York, NY 10128
General: (212) 423-5200 | Admissions: (212) 423-5262
General: info@dalton.org | Admissions: admissionsmshs@dalton.org