Curriculum Detail

Discover Our Curriculum

Computer Science

Computer Science courses aim to engage students in the creative use of computing technology.
  • DESIGN THINKING/Fa

    Design Thinking is a STEAM-infused introduction to Computer Science. Students learn about coding, 3D design/printing, 2D vector graphics, and data analysis by building interdisciplinary projects in Science, Math, Architecture, Engineering, and (Info) Graphic Design. The Design Thinking problem solving process asks students to focus on conversation, storyboarding, iterative design, and the social context of design solutions. Students create a collection of engaging projects, developing prototypes and gathering feedback as a way to understand how people interact with their creations. Each project is interdisciplinary, so students acquaint themselves with a collection of useful software applications while they develop a strong foundation in key Computer Science concepts.

    Design Thinking satisfies the prerequisite to Computer Science I by introducing students to a wide variety of digital tools as they explore fundamental concepts in programming and computing. Design Thinking provides students a relaxed introduction to the computational thinking, data analysis, spatial reasoning, virtual modeling, communication, and planning skills that are important for developing a fluency and intuition in modern STEAM-related applications of computing.

    This course will be offered in the fall only (1/2 credit). Design Thinking is a project-based course (no tests or quizzes) that may be taken as a 6th or 7th non-Academic course option.

    4 periods per cycle
  • COMPUTER SCIENCE I/Fa

    An accessible and engaging intermediate course in coding which asks students to think programmatically to create colorful and interactive creative coding projects. Students focus on the deliberate translation of creative ideas into a precise, well-ordered language that both humans and machines can understand by building a portfolio of interdisciplinary projects. Computer Science I uses P5.js, HTML, and CSS to reinforce student knowledge of variables, arithmetic, functions, if statements and loops, while introducing arrays, string processing, file input/output, and object-oriented design. Computer Science I is an academic, graded elective that includes both projects and paper-and-pencil assessments.

    Prerequisite: Design Thinking or Digital Storytelling or permission of Department Head. 

    5 class meetings per cycle.
  • ADV. COMPUTER SCIENCE I/Fa

    With a more rigorous mathematical grounding than prior courses, Advanced Computer Science I asks students to problem solve with Python through a series of games and puzzles. Beginning with an exploration of binary, bitwise operators, and data types, students move up the “abstraction stack” to understand how machines can be programmed to automate computation. The course explores a variety of sophisticated algorithm strategies, and includes an introduction to empirical and mathematical methods for algorithm analysis. Additional topics include sets, dictionaries, searching/sorting, recursion, and unit testing. Advanced Computer Science I is an academic, graded elective that includes both projects and paper-and-pencil assessments. 

    Prerequisite: Computer Science II, or permission of Department Head. 

    5 class meetings per cycle.

  • ADV. TOPICS IN COMPUTER SCIENCE/Fa

    Students study current patterns in software development--the skills beyond fluency in a particular language that are necessary for developing and maintaining large, reliable, and scalable software applications. An emphasis is placed upon the development of cloud-hosted applications that employ third-party API’s, databases, and mobile development frameworks. Students work in groups and employ the use of version control software to collaborate as a team as they develop significant software applications with coordinated mobile and desktop versions.

    This is a project-based Academic course with high expectations for coding output. Students should expect to spend a significant amount of time programming outside of scheduled class meetings. Additionally, there is a required Public Service component to this course. Students should have a strong interest in technology and significant prior experience with programming.

    Prerequisites: Advanced Computer Science II, or Permission of the Department Head required.

    5 periods per cycle
  • DIGITAL STORYTELLING/Sp

    Technology has given artists of all disciplines new tools for creative expression. Digital Storytelling introduces students to a collection of popular digital storytelling tools used by photographers, interactive designers, writers, and videographers. Students investigate how new technologies have allowed artists to easily integrate interactivity, non-linear narrative structures, repetition, automation, special effects, and randomness into their creative output. Students are guided to create of a collection of digital art projects while scripting an online portfolio to showcase their artwork. At the same time, students develop a strong foundation in key Computer Science concepts.

    Digital Storytelling satisfies the prerequisite to Computer Science I by introducing students to a wide variety of digital tools as they explore fundamental concepts in programming and computing. Digital Storytelling provides students a relaxed, arts-focused introduction to the storytelling, imaging, animation, video, and media computation skills that are important for creating and manipulating a wide range of digital media.

    This course will be offered in the spring only (1/2 credit). Digital Storytelling is a project-based course (no tests or quizzes) that may be taken as a 6th or 7th non-Academic course option. This course satisfies one of the three Arts requirements.

    4 periods per cycle
  • COMPUTER SCIENCE II/Sp

    Computer Science II is the second semester of a year-long course sequence that helps students build essential design and engineering skills while reinforcing concepts from Computer Science I.  Students spend the semester designing, prototyping, and building one large project that connects software with hardware. The largely hands-on project combines P5.js, HTML, and CSS with Arduino microcontrollers, electronics, and 3D printing. An emphasis is placed on creating accessible software and hardware designs so that humans with a wide range of physical and cognitive abilities can access the project. Computer Science II is an academic, graded elective that includes both projects and paper-and-pencil assessments. 

    Prerequisite: Computer Science I, or permission of Department Head. 

    5 class meetings per cycle.

  • ADV. COMPUTER SCIENCE II/Sp

    Advanced Computer Science II is the second semester in a year-long sequence. Students level-up their design and engineering skills through planning, prototyping, and building several data-driven client-server web applications using Python, Javascript, HTML, and CSS. Technical topics include data types, base conversion,  Boolean algebra, pixel-based image analysis, HTTP, API’s, data analysis, client-server programming. Human-focused topics include data journalism, ethical infographic design, and issues surrounding algorithmic bias.  Advanced Computer Science II is an academic, graded elective that includes both projects and paper-and-pencil assessments. 

    Prerequisite: Advanced Computer Science I, or permission of Department Head. 

    5 class meetings per cycle.

  • ADV. TOPICS IN COMPUTER SCIENCE/Sp

    Students study current patterns in software development--the skills beyond fluency in a particular language that are necessary for developing and maintaining large, reliable, and scalable software applications. An emphasis is placed upon the development of cloud-hosted applications that employ third-party API’s, databases, and mobile development frameworks. Students work in groups and employ the use of version control software to collaborate as a team as they develop significant software applications with coordinated mobile and desktop versions.

    This is a project-based Academic course with high expectations for coding output. Students should expect to spend a significant amount of time programming outside of scheduled class meetings. Additionally, there is a required Public Service component to this course. Students should have a strong interest in technology and significant prior experience with programming.

    Prerequisites: Advanced Computer Science II, or Permission of the Department Head required.

    5 periods per cycle
Located on the Upper West Side of New York City, Trinity School is a college preparatory, coeducational independent school for grades K-12. Since 1709, Trinity has provided a world-class education to its students with rigorous academics and outstanding programs in athletics, the arts, peer leadership, and global travel.