Computer Science

Trinity-Pawling’s Computer Science courses help students develop fundamental programming skills and technical aptitudes, while allowing them to gain a deeper understanding of the real-world application of computer science. Our hands-on and interactive classes connect students with the ideas, skills, and opportunities to shape the ever-changing, digital world in which we live.

Computer Science Courses

Applied Technology

Applied Technology is a class for students in grades 7 and 8. It meets two times per week for one term to teach computer application skills from the Google Education Suite. The goal of this course is to provide a basic understanding of how computers work and prepare students to effectively use technology in other classes. After a review of word processing, students learn about spreadsheets, creating charts and graphs, and using formulas for calculations with relative and absolute references. Slideshow presentations are also covered, emphasizing presentation skills and using Google Slides. Additional topics include editing sound and video files and an introduction to programming. Students develop individual and collaborative skills while learning the appropriate use of technology for home, school, and beyond. 

Year-long course

Introduction To Programming With Alice and App Inventor

Alice is a graphical-based programming environment developed by Randy Pauch at Carnegie Mellon University to make learning programming more accessible for students of all ages. App Inventor was developed at MIT and Google with similar goals, using drag and drop programming to develop apps for smartphones. This course uses Alice as the starting point to learn the basic constructs of computer programming including objects, variables, flow control, and methods. In the second half of the term, App Inventor is used to further strengthen these skills while developing small assignments, followed by larger project-based smartphone and tablet apps. There are no prerequisites required for this course.

Offered in the fall term

Multimedia Programming with Java

The goal of this course is to introduce students to programming in Java while learning how to manipulate multimedia files. Starting with digital pictures, this class introduces how pictures are stored and then teaches students how to change the pictures by writing programs that manipulate pixels. Sound media and video files are also covered. Video files are created by programmatically creating individual frames and then combining them together to create a movie. In the process of creating these effects, students develop programming skills including writing code, debugging, and testing, while solidifying their understanding of variables, arrays, loops, conditionals, and methods. This course is typically taken after completing the Introduction to Programming in Alice and App Inventor course.

Offered in the winter term

Intermediate Programming With Unity

Building on the concepts learned in Multimedia Programming with Java, this course allows students to further their programming skills while learning how to develop simple games using the Unity Game development environment. After learning the basics of Unity, students learn event-driven programming and how to use data structures to store moves and the state of a game. The course also introduces the basics of game theory and how to properly program a computer to play a game. Further topics include learning to program interactive and video-based games with an emphasis on large program development and programming in groups. Prerequisite: Introduction to Programming with Alice and App Inventor, Multimedia Programming with Java, or approval from the Academic Technology Coordinator, Van Metcalf.

Offered in the spring term

Advanced Placement Computer Science A

Following a rigorous AP Computer Science A curriculum, this class prepares a student for future studies in engineering, science, math, and computer science. The course focuses on the fundamentals of programming while exploring programming projects from a variety of fields. Students are expected to become fluent programmers in an object-oriented paradigm and well-versed in designing and implementing algorithms using Java classes (from the AP Java subset). Students are also expected to become accomplished in designing and implementing their own classes to work with complex data. Finally, students gain awareness of the social implications of computer use, understanding privacy, intellectual property, and the responsible use of computers. Prerequisite: Introduction to Programming with Alice and App Inventor, Multimedia Programming with Java, or approval from the Academic Technology Coordinator.

Year-long course

Advanced App DevelopmentĀ 

Advanced App Development is an opportunity for students who have completed AP Computer Science to learn modern development technologies while writing applications for smartphones and tablets. This year-long course is divided into three parts. The first term is dedicated to learning how to develop iOS apps in Swift for Apple devices. The second term is dedicated to Programming Android devices using Java as the programming language with Android Studio.  The third term is dedicated to developing large-scale projects, both individually or as a team.  Throughout the year, students learn the complexities of an integrated development environment (IDE) and how to manage the design aspects (buttons, text boxes, and images), as well as the code to make the app work. Prerequisite: AP Computer Science A

Year-long course

Meet the Computer Science Department

Van Metcalf

Academic Technology Coordinator

Coding is an important skill to learn. But equally important are the logical and procedural thinking skills I teach. Computational Thinking is one component of my programming class and is key to what students learn to do — and teamwork is critical for taking their skills into the world beyond Trinity-Pawling.

Van Metcalf, Academic Technology Coordinator