Program Overview

SHAPE offers two 3-week sessions; Session 1: June 29 - July 17, 2020 (Monday - Friday) & Session 2: July 20 - August 7, 2020 (Monday - Friday).

Students will choose a subject and participate in one of these introductory college-level engineering courses. The program also features electives, college preparation workshops, utilization of the Makerspace, MechTech Space, support from Columbia students, and access to the dining hall, library, and health services.


Presented in conjunction with Columbia University’s Department of Mechanical Engineering, this course is a hands-on introduction to robotics comprised of both theoretical and lab components. 

The objective of the course is to design and fabricate a toy robot capable of executing a posed task within a pre-determined maze.  Through the design for manufacture process, the students will acquire understanding of fundamental concepts such as engineering design and mechanical design. Further, students will learn principles of solid modeling, sensor technology and locomotion.

The prototype of the robot is supposed to be made from the available kit, manufactured parts (3D printer and laser cutter may be used for this purpose) as well as any scrap material found in Mechanical Engineering machine shop or around campus. Students will be divided into groups of four, and each team is responsible for conceiving and executing an original design. The design will be presented in a series of concept sketches and CAD drawings, with the final design being ‘prototyped’.  The class will culminate in a competition among the fabricated prototypes.

Advanced Robotics (only available Session 2)

In this course, students will be introduced to the fundamentals of advanced robotics topics, such as computer vision and dynamics, while simultaneously developing self-created robots designed to achieve a given task.  This course will be hands-on and utilize the Columbia Makerspace. Students who have taken the SHAPE Robotics course, or have more extensive experience are encouraged to inquire about and apply for this course.

This course is being further developed for 2020, and the description will be updated soon!

Introductory Computer Science
The course offers a general introduction to computer science and programming in Python and assumes no prior programming background. 
At the end of the course, students will know how to think like a computer scientist, develop computational solutions to problems, and implement applications in Python.

The course covers the following topics:

  • Variables and control structures (if statements, loops)
  • Basic data types and data structures: integers, booleans, floats, strings, lists, tuples, sets, dictionaries.
  • Functions, procedures, calls, parameters, arguments, return values, recursion. 
  • An introduction to object oriented programming: classes, instances, objects, attributes, methods, instance variables.
  • Working with files.
  • Graphical user interfaces (GUI).
  • Understanding and fixing programming errors and dealing with exceptions.
  • Fundamental algorithms such as linear and binary search.
  • Solving problems using algorithmic thinking.
  • Basic algorithm design and analysis.
  • Additional topics such as an introduction to Machine Learning and Web Development may be covered based on student interest.

Each day will consist of short presentations and practice exercises. Students will work on these problems in small groups. In the last week of the course, each group will design and implementing a game, leveraging many of the topics learned in the course.

Advanced Computer Science
This course addresses students who already have some basic background in computing and programming in any language (such as Java or Python).  By the end of the course, students will know how to think like a computer scientist, develop computational solutions to problems at a high level, critically compare different algorithms that solve the same problem, and implement applications in Python from scratch.

The course consists of the following components, which build on each other:

  • A brief review of the Python language, with a focus on object oriented programming.
  • Formal analysis of algorithms and big-O notation. For illustration, students will implement, analyze and compare a number of comparison-based sorting algorithms.
  • Theory and implementation of fundamental data structures such as stacks, queues, heaps, trees.
  • Graphs and associated algorithms (tree traversals, shortest paths).
  • An introduction to Artificial Intelligence and problem solving using uninformed and heuristic state-space search.
  • Additional topics such as an introduction to Machine Learning and neural networks may be covered based on student interest.

Each day will consist of short presentations and practice exercises. As a final project during the last week of the course, students will develop AI players for a board game and have their AIs compete against each other in a tournament.

Students will pick one course per session; availability each session depends on interest and students may only take each course once.

A hands-on exploration of solar energy systems for students interested in electrical, mechanical, chemical, and earth-and-environmental engineering. Students learn the basics of electricity and the use of electronics test instruments, then conduct experiments in the lab on photovoltaic (solar) cells, transistors (MOSFETs), Arduino microcontrollers, supercapacitors, and more. Your team will build a portable power system consisting of a 100-W solar panel, supercapacitors to store energy, and a microcontroller for the brains. At the end of our 3-week EE adventure, you'll race to be the first group to boil a cup of water (and make tea) using sunlight and a lot of electrical engineering.

(Laptops are recommended.)

This is an intensive three-week course that introduces high school students to the field of biomedical engineering (BME), the application of engineering principles for biological and medical-related research. It is suggested that students take biology and chemistry before applying to this course, and many students have already taken physics as well. The course adopts articular cartilage, the load-bearing tissue covering the ends of our diarthrodial joints as a paradigm to expose students to biomedical engineering approaches for growing tissue replacements and substitutes through application of biophysical stimulation.  The daily schedule consists of formal lectures and prelab given by the instructors concerning developments and cell biology/bioengineering background in the field, and 2 hours of hands-on lab work.  Lecture topics include cell biology, cell/tissue culture, cell sources, scaffold materials for tissue engineering, measurement of material properties, bioreactors, and studies on the physical response of cells to applied chemical, mechanical and electrical stimuli.  Clinical motivation for tissue replacements (e.g., disease, trauma and aging) and structure-function relationships of tissues are emphasized. Additional lectures also cover bioengineering innovation, design, as well as careers in biomedical engineering.  

In this course, students will learn rapid prototyping skills such as computer-aided modeling, 3D printing, and electronics, as they push towards learning how to use these skills in novel designs they create. This course will make use of the Columbia Makerspace, also known as the Innovation Hub. This space provides a wide variety of tools for students, artists, makers, creatives, programmers, scientists, and engineers to use, and provide a space in which they can work, share ideas, and collaborate.

This course is being further developed for 2020, and the description will be updated soon!


Students will select one elective to participate in during the session. The 2020 electives have not yet been announced.

Lab Spaces

Students can use that Columbia Makerspace daily to build project prototypes. The MakerSpace is equipped with 3D printers, a laser cutter, and CNC tools for digital fabrication. Dr. John Kymissis and Dr. Hod Lipson are the faculty directors of the Columbia MakerSpace. Course EEUs will supervise student projects in the lab.

Students can use the MechTech lab to channel their ideas into creating tangible technology. Dr. Jeff Kysar is the faculty director of the space. Course EEUs will supervise student projects in the lab.

College Preparation Workshops

  • Facilitated by the Columbia undergraduate admissions office

2020 Schedule