Skip to:

Courses

Computer Science

Artificial Intelligence
Artificial Intelligence has been a goal of computer science ever since the dawn of computing. This course will explore some of the modern computational techniques used to engineer machines capable of rational decision making, perception, and learning. Topics will include knowledge representation, logic, search algorithms, constraint-satisfaction problems, and machine learning. Students will have hands-on programming assignments to implement many of the algorithms introduced in the course. Note: Due to the very high number of students applying to this course, we recommend applicants apply to additional courses among Summer Institutes offerings.

Session 1

June 25 - July 14

Prerequisite(s)

This course assumes a previous course or extensive experience in computer programming, as well as mathematics through pre-calculus.

Age and grade requirements:

1. 10th - 11th grade at the time of application.
2. age 15 - 17 on the first day of the session.
Computer Simulations and Interactive Media
This course will introduce students to the challenges of expressing ideas through simulations and interactive media. Students will be exposed to tools and techniques for designing games (both digital and analog), writing interactive fiction, and making simple computational models. Students will complete a group project, with an emphasis on prototyping, peer feedback and iterative design

Session 1 & 2

June 25 - July 14
July 17 - August 05

Age and grade requirements:

1. 9th - 10th grade at the time of application.
2. age 14 - 16 on the first day of the session.
Programming for Mobile Technology
This course will introduce students to mobile technologies and give them a look into the world of programming for iOS and Android. Students will learn the development environments for both xCode for iOS and Android Studio for Android. Students will code one simple app in each language: Java for Android and Swift for iOS. Students will work with the instructor to develop each application as a group in class and be required to utilize this code to produce their own applications with individualized aesthetics, a location function, a storage function and a hardware function.

Session 1

June 25 - July 14

Prerequisite(s)

Some programming experience is recommended.

Age and grade requirements:

1. 9th - 11th grade at the time of application.
2. age 14 - 17 on the first day of the session.
Artificial Intelligence for Robots
Robots are everywhere, from Google Cars to unmanned drones to many robots used in manufacturing automation. However, robot programming remains a rather specialized and exclusive academic discipline. Robot programming is both intuitive and extremely challenging: Intuitive in the sense that you are trying to make the robot do things that we human can do (rather easily), and challenging in the sense that it involves many aspects of computer science, from AI to multi-process event-driven programming. This is an intensive introductory course on robot programming that covers a wide range of relevant topics, including event-driven programming, finite state machine, motion planning, and various other AI topics. The objective: to make your personal robot pet 'Hamster' smart.

Session 2

July 17 - August 05

Prerequisite(s)

Proficient in programming (1 year of high school computer science or equivalent). Good understanding of Object Oriented Programming (OOP).

Age and grade requirements:

1. 10th - 11th grade at the time of application.
2. age 15 - 17 on the first day of the session.
Introduction to Programming with Robotics
This course is a general introduction to computer science and programming with a robotics component. The course will introduce one or more programming languages that allow students to gain experience that can be applied across a variety of programming contexts.

Session 1 & 2

June 25 - July 14
July 17 - August 05

Prerequisite(s)

Completion of an algebra course. This is an introductory course; no prior experience in programming is assumed. Students with significant programming experience are encouraged to apply to other courses.

Age and grade requirements:

1. 8th - 9th grade at the time of application.
2. age 13 - 15 on the first day of the session.
Design as Discovery: Peace Technology and Design Thinking
In the last ten years, emerging technologies such as social media, wearable devices and mobile phones have transformed how people behave and interact with each other at scale. Most notably, some of these persuasive technologies have been transformed into peace technologies by democracy activists, governments and individuals to positively change the way people relate to each other and to their governments. This hands on course will examine the mechanics and dynamics of behavior design, persuasive technology and the application of behavioral psychology to explore the concepts of peace innovation and design thinking. The class will include guest speakers from the fields of innovation, design thinking, behavior design, persuasive technology and conflict resolution. Students will identify conflict issues in their communities that can be positively affected through a scalable behavior change app or technology. Students will learn and apply behavioral psychology, opportunity mapping, behavior design, persuasive technology, rapid prototyping, and data analytics in the development of their peace tech applications. Students will complete a group project, with an emphasis on prototyping, peer feedback and iterative design.

Session 2

July 17 - August 05

Prerequisite(s)

Previous courses or experience in computer programming, psychology, game design or any of the other disciplines that intersect are helpful but not required.

Age and grade requirements:

1. 9th - 11th grade at the time of application.
2. age 14 - 17 on the first day of the session.
Web Technologies
This course will introduce the students to the fundamentals of Web technologies and help them gain experience in creating Web applications. The course will provide a general overview of markup languages, scripting languages, network protocols, event-driven programming, and databases, and see how they all work together to deliver exciting applications. Students will work in teams to develop a project which they would present in class via a live demo.

Session 1 & 2

June 25 - July 14
July 17 - August 05

Prerequisite(s)

This course is geared towards students with no prior programming experience. Students with programming experience are encouraged to apply to other courses.

Age and grade requirements:

1. 10th - 11th grade at the time of application.
2. age 15 - 17 on the first day of the session.