Computer Science

There’s more to Computer Science than ones and zeroes. At its heart is creative application of interdisciplinary understandings to solve problems or fill needs. Facebook is programming applied to enhance social connections. Angry Birds is the gamification of real-world physics. Everything in your digital world was programmed using Computer Science concepts. Come learn how to make that world even better.

If none of our Computer Science course offerings work for you, there are alternate ways to study Computer Science:

  • Riverdale has partnered with to offer students independent study for Riverdale credit in front-end web design, iOS, Rails, and Python programming. These options are for students who already have a strong background in technology and are willing to do a six-hour (approximately) commitment a week, on top of one's regular course load.
  • We offer a coding summer program through Project Knowmad.
  • We teach mini-courses on Raspberry Pi, web design, coding, robotics, and artificial intelligence.
  • Our co-curricular offerings include robotics clubs in the Middle and Upper Schools, and a programming club.

Ethics in Computer Science (Abate, fall semester)

Ethics in Computer Science

Technology enables us to do things we never could do before, but are they things that we should do? This semester-long course will examine the ethical issues surrounding the use of computers and technology in the past, today, and in the future. It will investigate the ways in which computer science and technology challenge ethical, social, and governmental boundaries. It will also investigate the extent to which the impact of technology on culture and lifestyle is beneficial.

Note: This course is open to any grade level. No prior CS experience is necessary and there are no prerequisites. However, this course does not qualify students to take a Level II or III Computer Science course.

Natural Language Processing (Kuntz)

Natural Language Processing

Natural Language Processing is a yearlong course that compares and contrasts the ways in which humans and machines interact with languages. It combines students’ ability to analyze language with methods used by technology to do the same thing. We will investigate the ambiguity of language and the challenges that arise in trying to parse sentences, both as humans and through technology (e.g. identifying relevant keywords and themes shared by two passages of text). Furthermore, we will computationally investigate literature through procedures that pull meaning from text (e.g. identifying sarcasm or determining who a particular author was inspired by). And we will look at how language has changed in literature over time. 

Note: This course is open to any grade level. No prior CS experience is necessary and there are no prerequisites. However, this course does not qualify students to take a Level II or III Computer Science course.

Computer Science

Computer Science

This Level I yearlong course is an introduction to Computer Science terms, skills, and understandings, and is a foundation for future work in this discipline. In this class you’ll learn programming methodology, algorithm analysis, data structures, and abstraction to make amazing projects. The first quarter largely utilizes a graphical programming environment such as Scratch to allow for learning of fundamental computer science concepts such as variable and expressions, user interactivity, conditional statements, and looping constructs. In the following quarters, you will learn a text programming language such as Java, Processing, Python, or Swift. Using these languages you will explore concepts of object oriented programming such as classes, constructors, methods, and inheritance. Simple data structures such as arrays are also covered. Each unit will culminate with an application of learned Computer Science concepts.

Computer Science: Game Design

Computer Science: Game Design

This Level 1 yearlong course introduces students to the principles of game design and development as well as fundamentals of programming and Computer Science. Students will have the opportunity to create game content using the Unity Development Platform. Students will learn about elements of game design including user interaction, world and object creation, lighting, game physics, and scripting. Students will also learn to script for their game projects using the C# programming language. Throughout the course, students will design and build several games and projects in Unity in both 2D and 3D. We will also explore producing content for virtual reality platforms.

Visual Coding (Abate and Simon, fall semester)

Visual Coding

The goal of this Level I, semester-long course is to demonstrate some of the principles of visual arts using coding and programming. Many established artists have integrated software into their process. Processing (p5.js) provides the potential of software development within a broad range of the arts. Programming opens the possibility to create not only tools, but systems, environments, and new modes of expression. In Visual Coding will learn about art techniques in the physical medium, and then apply those techniques using programming. Topics include: composition, perspective drawing, working with line, shade, and texture, and color theory. Projects in this course apply the concepts learned in both a physical and digital medium; for instance, students will demonstrate an emotional concept using elements of visual art and coding.

Introduction to Web Design (fall and possibly spring semester)

Introduction to Web Design

Typically, this Level I, one-semester course is preceded by Visual Coding. Students may enroll in just Web Design, but this course alone will not serve as a pre-requisite for Level II courses. This course introduces students to web design using HTML, CSS, and Javascript, the code languages that websites are built on. Learn the fundamentals of planning and designing web sites according to proper design, layout, and accessibility. The course will provide the opportunity to start building your own web projects that run in your browser and build a web portfolio. The course does not require previous programming experience. With sufficient enrollment, Introduction to Web Design will be offered in both semesters.

Advanced Computer Science

Advanced Computer Science

Prerequisite: Computer Science or permission of instructor.

This Level II, yearlong course will cover common ways to organize and store data, why those structures are important, and what projects you can create with those structures. Early in the course, we will cover classes, lists, linked lists, stacks, queues. Through these topics we will discuss algorithm efficiency and introduce Big O notation. We will then cover recursive algorithms and searching by introducing the Tree data structure and Hash Tables. Finally, we will cover sorting algorithms and graphs. After gaining an understanding of these topics, students will have the opportunity to work on projects of their choosing using these fundamentals.

Computer Science Advanced Lab (fall semester, spring semester, or yearlong)

Computer Science Advanced Lab

Prerequisite: This Level II course requires a written topic proposal from the student and successful completion of a Level I Computer Science course.

The Advanced Lab offers students an opportunity to create independent projects that require significant time and mentorship. Students and teachers will work together to determine projects, timetables, necessary resources and learning plans specific to individual students. The year will culminate with a public presentation of student’s work. This course does not necessarily qualify students for a Level III course.

Artificial Intelligence (Kuntz)

AI: Artificial Intelligence

Prerequisite: Advanced Computer Science or  permission from the CS Department.

What does it mean for a machine to think? From IBM’s Jeopardy-winning computer Watson to their amazing chess-playing program Deep Blue, it often seems like machines can be more intelligent than humans. In this Level III, yearlong course, we will learn how to write programs that use Big Data to predict, strategize, reason, plan, and evolve. You may have written amazing programs before, but you’ve never written one that knows more than you do!

Capstone Developer Project (Abate)

Capstone Developer Project

Prerequisite:  Topic proposal from student. Recommended for seniors but may be taken by younger students.

Want to make the next hit game or social media platform? Thinking about pursuing Computer Science in college or beyond? You’ll need to progress to higher levels of Computer Science abilities, become self-sufficient in your own Computer Science learning, and work collaboratively with other developers. This yearlong, Level III course will expand your CS skills and understandings by applying them to real problems in authentic programming scenarios. You will learn how to learn Computer Science with self-direction and self-sufficiency so that you can learn languages and develop programming skills as they become necessary to your projects. You will also learn to be an excellent collaborator and communicator with your teams as you plan and develop projects together. Priority is given to creating meaningful and socially-relevant projects that the students might wish to continue pursuing after graduation from Riverdale. Possible areas of exploration include database and web development, game design, app or application design, virtualizations in 2D or 3D, and many others. You will also have the opportunity to work with area developers, programmers, and experts to help refine your product. The year culminates with a public presentation of the class’ work.


Riverdale Country School

Mind • Character • Community



Lower School
1 Spaulding Lane
Bronx, NY 10471
LS: (718) 549-7780

Middle/Upper School
5250 Fieldston Road
Bronx, NY 10471
MS/US: (718) 549-8810

Contact Us

Quick Links

Riverdale teaches students to become lifelong learners by fostering "growth" mindsets. Go There >

Riverdale encourages students to develop a sense of well-being. Mindfulness activities promote calm, focus, and self-reflection. Go There >

Quick Links

The River Campus offers a spacious, natural setting for our youngest students, inspiring learning and play. Go There >

Riverdale offers "STEAM" (science, technology, engineering, arts, and mathematics) teaching to Lower School students. Go There >

Quick Links

Middle School students explore hands-on learning through the Riverdale Maker program. Go There >

Project Knowmad allows Middle Schoolers to learn in a different way, using NYC as their classroom. Go There >

Quick Links

Riverdale teaches students to make connections through our interdisciplinary programs. Go There >

The club and activity program encourages students to explore their passions and try new things. Go There >

Quick Links

About 80 percent of Upper School students participate in athletics. Go There >

Riverdale's Hill Campus has an indoor pool, football stadium, weight room, and 3 playing fields. Go There >

Quick Links

Riverdale has entry points in Pre-K, Kindergarten, 6th, and 9th Grades. Visit our campus today. Go There >

Approximately 20 percent of Riverdale students receive some level of financial aid. Go There >

Quick Links

Last year's Annual Fund totaled nearly $5 million in gifts from alumni, parents, and friends of the school. Go There >

Have you included Riverdale in your estate plans? Please let us know and join our expanding group of Hackett Planned Giving Society members today. Go There >

powered by finalsite