Courses and Schedule

Program Overview

SHAPE offers two 3-week sessions. Please see below the dates for Summer 2023.

  • Session 1: July 5 - July 25, 2023
  • Session 2: July 26 - August 15, 2023

Students will choose a subject and participate in one introductory college-level engineering course for the duration of their session. The program also features electives, college preparation, support from Columbia students, and other workshops. Please note that SHAPE is a pre-college program taught by faculty, but it does not provide college credit. 

Note: SHAPE 2023 will continue to be an in person program. Admitted students must follow Columbia University's public health protocols, which include vaccination against COVID-19, masking, and distancing where appropriate.

Please see below for a list of courses offered in session 1 and session 2. Please note that if you are accepted to SHAPE you will be able to confirm or adjust your course and session interest again at that time.



Have you ever wondered how solar energy works? In this course, students will explore elements of electrical, mechanical, and computer engineering, all supporting the engineering of solar energy systems. We’ll investigate two kinds: photovoltaic (conversion of solar energy to electrical form) and solar thermal (direct use of solar energy). Activities for the former include learning the basics of electricity in general and solar cells in particular, then designing a solar array to power a small student center. For the latter, students will learn how a solar oven works and build one at home to bake cookies, then learn how to design some simple digital circuits and program an Arduino with attached sensors to measure the performance of the solar oven. Finally, with knowledge on digital circuits, students will design and simulate a voting machine.

This is a hands-on, introductory course to robotics comprised of both theoretical and lab components. This  project-based course explores the role of fundamental engineering disciplines in modern engineering design. 

The objective of the class project is two-fold: (a) design a robot capable of autonomously navigating pre-determined maze and executing posed task, and (b) assemble a toy car from pre-existing kit and program the toy car to execute specified movements. 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. Each student is responsible for conceiving and executing an original design by the end of the course.

Have you ever broken a bone and received an x-ray, a cast, and a pair of crutches at the doctor’s office? Have you ever been tested for COVID before traveling or visiting friends and loved ones? Perhaps someone you know relies on a medical device such as an insulin pump or a pacemaker to keep them alive? You can thank biomedical engineers for all of these technologies and so much more!

This course will provide a foundation of different areas of biomedical engineering (BME) such as biomechanics, bioinstrumentation, and medical imaging through hands-on laboratory exercises. Along the way, we’ll explore the engineering design process and practice various rapid prototyping techniques (3D printing, laser engraving, etc.), which you will use to construct your very own biomedical device.


Have a great idea for a new invention? Wondering what to do next?

The goal of the course is to develop an initial prototype of a new invention that shows a proof-of-concept for student-chosen novel ideas. Every week, students will present their progress to the rest of the class and receive feedback as they push to iterate and improve on their devices.

Throughout the course, students will build up their design skills with every class. Topics covered include ideation techniques, sketching, presentation, 3D modeling, rapid prototyping, electronics, mechanical components, and manufacturing techniques. Students will progress through researching, identifying a problem area, focusing on a specific issue, developing initial solutions, designing through sketching and 3D modeling, and building initial prototypes using rapid prototyping techniques.

How can we save the planet? The answer is complicated but the science can help us understand. This introductory but practical course is designed for new students to recognize career opportunities in this most significant challenge to save the planet.

The course will begin with a short discussion of the greenhouse effect, combustion sources of CO2, and the state of the art in CO2 capture. A brief discussion of catalyst fundamentals provides students with basic knowledge to understand well known products such as petroleum processing, specialty chemical production and new product development. Existing applications of biomass conversions to fuels, edible and non-edible products will also be discussed. This will be followed by research topics under intense research in universities and industry for environmentally friendly product formation.  The critical role of, kinetics, catalytic processes and their selectivity will be integrated into practical solutions for future “green” technologies. Students will learn the important roles of heterogenous catalysis, renewable sources of energy, electrochemical technologies, the emerging “green” hydrogen economy and fuel cells all required for mitigating climate change. 

The outcome will be instructive in applying fundamental scientific and engineering principles for addressing climate change in pursuit of a sustainable earth. 

*Students applying to this course must have completed high school Chemistry prior to summer.

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 lectures and practice exercises. Students will work on these problems in small groups, supported by the instructor and the EEUs. In the last week of the course, each group will design and implementing a Minesweeper game, leveraging many of the topics learned in the course. 

Do you have experience with robotics and want to take your understanding to the next level? This course will challenge students by incorporating computer vision, simulation, and machine learning into their robots.

In this session, students will be introduced to advanced robotics topics in sensing, computer vision, communication, dynamics, control, and optimization. These topics will be covered in parallel with coding and microcontroller hardware modules. Students will build features, such as sensing, control, and wireless communication, to teach a robot how to walk, and even develop more complex arm movements! Broadly, the course serves as a high-level overview to introduce students to the wide range of modern robotics. 

After taking this course, students will:

  • Be able to utilize the MATLAB programming language. 
  • Have a fundamental understanding of the way in which robotic components and sensing works.
  • Be able to utilize the Arduino programming language to manipulate robots.
  • Have an understanding of the primary fields that make up modern robotics, including sensing,  kinematics, controls, optimization, perception, planning, and artificial intelligence.


Is a sustainable future feasible? Students will develop proposals for how urban/rural environments can prepare to be more sustainable given the impact of climate change.

Development of the infrastructure for providing safe and reliable resources (energy, water and other materials, transportation services) to support human societies while attaining environmental objectives. Introduction of a typology of problems by context, and common frameworks for addressing them through the application of appropriate technology and policy. An interdisciplinary perspective that focuses on the interaction between human and natural systems is provided. Alternatives for resource provision and forecasts of their potential environmental impacts through a context provided by real- world applications and problems.

The course is project-based. Students will work on a project of their interest after discussion with the instructor. The topics, which will be covered in class are the following, but not limited to:

  • Overview of sustainable development challenges and possible solutions
  • Indicators of sustainability
  • Life Cycle and Supply Chain Analysis
  • Sustainable Energy Systems and Electrification
  • Renewable Energy and Alternative fuels
  • Circular Economy and Sustainable Waste Management
  • Water treatment
  • Transport
  • The role of Industry 4.0 in achieving sustainable solutions
  • Economics of sustainability and public policy

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. 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 heuristic state-space search, as well as adversarial search and game playing. 
  • 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 lectures 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. While students will work on exercises and projects independently, supported by the instructor and SSLs, we will foster a collaborative work environment using tools such as Git and collaborative code editors, as well as chat and video conferencing. 


How can data tell a story? How can it help us see our world in a different perspective and show us unexpected solutions? This course teaches three perspectives of data science: inferential thinking, computational thinking, and real-world applications. Students will experience the entire process of solving real-world problems, from collecting and analyzing relevant data, to drawing conclusions and providing recommendations. Students will also have the opportunity to spark their skills in Python programming, statistical inference, and machine learning with a focus on the proper and efficient use of these techniques for decision-making.

By the end of the course, students are expected to have the ability to:

  • Understand fundamental statistical theories and their applications
  • Use computer programming to conduct computation, data manipulation, data visualization, and data analysis.
  • Have the ability to examine a dataset, ask interesting questions, and use data science knowledge to provide solutions.

Interested in being part of solving some of the world’s greatest challenges? Chemical engineers around the world are approaching pressing issues in unique, groundbreaking ways. This course serves as an introduction to the chemical engineering profession, offering students an overview of what chemical engineers do, the ways chemical engineers think, and how chemical engineers are helping to address some of the world’s greatest challenges. By the end of the course, students will be able to explain how chemical engineers approach problems, describe the roles chemical engineers serve across industries, and develop quantitative solutions to process problems using material balance strategies.

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

  • Overview of the unique role that chemical engineers play in bringing products to market.
  • Review of balancing chemical reactions and their use in optimizing chemical processes.
  • Approaches for evaluating chemical processes.
  • Material balances and their application to process flow calculations.
  • Applications of these approaches to challenges of health, energy, and the environment.

Each day will consist of short lectures and practice exercises. Cases will place students in the role of making decisions and proposals to address classic chemical engineering problems along with current, real world challenges. Students will work collaboratively across projects, supported by the instructional staff and other students. Student teams will use chemical engineering problem solving and critical thinking strategies to propose a recommendation on a real climate technology yet to be tested in a final project.


Students will select one elective to participate in during the session. The 2023 electives will be developed with our undergraduate team. Participating students can express interest in multiple electives, and will be placed according to interest and receive information about class specifics in the week before the program begins. If students need to adjust their placement, this will be accommodated in the early stages of SHAPE.

Lab Spaces

All students will visit the Makerspace. The MakerSpace is equipped with 3D printers, laser cutters, and CNC tools for digital fabrication. Students are required to complete a safety training before using the space and will only do so under close supervision. Some classes will use the Makerspace on a regular basis to build prototypes.


Workshops led by Columbia Engineering's Office of Professional Development and Leadership facilitate a variety of workshops ranging from public speaking skills to how to present yourself online.

There will also be College Preparation Workshops facilitated by the Columbia undergraduate admissions office

2023 Schedule

Learn More

clipboard icon
Application & Eligibility

The SHAPE application will open on December 15th! Current high school students are eligible to apply.

dollar icon
Tuition, Fees, and Scholarships

Learn more about the costs associated with the program and available financial aid.

question-circle icon

Frequently asked questions on application, courses, programs, and tuition.