ESP Biography



GURTEJ KANWAR, ESP Teacher




Major: Physics

College/Employer: MIT

Year of Graduation: G

Picture of Gurtej Kanwar

Brief Biographical Sketch:

Not Available.



Past Classes

  (Clicking a class title will bring you to the course's section of the corresponding course catalog)

L12988: Underrated Organs of the Human Body in Spark 2019 (Mar. 16 - 17, 2019)
When talking about the human body, the heart, lungs, and brain get most of the glory. In this class, we'll explore what some of the other less discussed organs of the human body do and what happens when they don't work properly.


S12680: Quantum Fun-om-nom-ology in Splash 2018 (Nov. 17 - 18, 2018)
This class is gonna be bananas. The title says it all: FUN + NOMS. Get ready to digest some awful puns. As a warning, we may go nuts with the extended food metaphors. Forget the vanilla physics you know, we will talk about surreal effects only possible through the strange laws of quantum mechanics. No matter what, you will have fun and nom some noms :)


C11445: How the Internet Works (and Security too!) in Spark 2017 (Mar. 11 - 12, 2017)
Ever wondered what happens when you go to facebook.com in your browser? How does your computer manage to get bits to some server located across the country and get data back without it getting lost? Or stolen? How are other nations using the structure of the internet to implement censorship or filters on content? We'll try to answer these questions and more in this class!


S10792: A First Pass at Relativity in Splash 2016 (Nov. 19 - 20, 2016)
As far as we know, all of physics plays out on (and interacts with) a 4D spacetime described by Einstein's general and special relativity. We'll take a look at just what that means, and try to answer a few questions: 1. What does special relativity mean for spacetime far away from objects? 2. How do objects interact with spacetime? What's the deal with curved spacetime? 3. How does this look like the rules of gravity we experience every day? If you haven't seen relativity before this is the class for you! We'll be keeping the math to a minimum and talking intuition more than anything else.


C9742: Compilers: Theory and Practice in Splash 2015 (Nov. 21 - 22, 2015)
In this class we will learn how to write code that lets other people write code! Compilers are programs that accept a program in some code language and reduce that program to an equivalent representation in a lower-level language. For example, the GNU C Compiler (GCC) accepts C program files (text) and can output binary executable files which you can then run on your computer! As you may imagine, compilers are as complex as they are powerful. We will discuss first how to break down the functions of compilers. Then, with any remaining time, we will delve into various properties of compilers that we can play with to get different behavior. Even if you are not interested in writing compilers for life, understanding how they work makes you a much better programmer!


C9394: Mind of the Machine in Spark 2015 (Mar. 14 - 15, 2015)
Autonomous (self-controlling) robots are on the up and up in today's world. Self-driving cars, manufacturing arms, and transportation robots all share the need to have software which accepts noisy sensor data and outputs smooth, accurate, and safe motion controls. In this class we will together incrementally build up the software for a simple simulated robot to give it the ability to maneuver around in an example room without crashing. Along the way, we'll talk about the techniques we're making use of, and how those same techniques are applicable to self-driving cars and beyond!


W9434: LN2 Ice Cream! in Spark 2015 (Mar. 14 - 15, 2015)
Do you like ice cream? Come see how ice cream can be made using liquid nitrogen, and learn why it tastes so much better than store bought ice cream.


C9015: UNIX Operating System Architecture in Splash 2014 (Nov. 22 - 23, 2014)
Ever wonder what goes into making operating systems like Linux or Mac work? How can you run 50 different programs on one processor? Why can't I write a program which steals all of your passwords? The "kernel" is the lowest-level piece of software which sets up a structure for other programs to run on your computer in an isolated way, in parallel, and safely. In this class we'll talk about the principles behind one of the many possible kernel designs: UNIX.


W8256: LN2 Ice Cream! in Spark 2014 (Mar. 15 - 16, 2014)
Do you like ice cream? Come see how ice cream can be made using liquid nitrogen, and learn why it tastes so much better than store bought ice cream.


C8104: Hands-On Web Hacking and Security in HSSP Spring 2014 (Mar. 01, 2014)
Want to learn how to be a 1337 h4x0r? Well, I can't guarantee you'll pick up leetspeak (see the Wikipedia page if you don't know what I'm talking about: http://en.wikipedia.org/wiki/Leet) but you'll certainly learn about the art and practice of web hacking! In this class you will learn many of the predominant techniques used by web security experts today. We'll cover: SQL injection, cross-site scripting, cross-site request forgery, and several other methods. This is a HANDS ON course, so you will have a chance to try your hand at attacking some (perfectly legal, sandboxed) web pages every day in class.


C7897: How Operating Systems Work in Splash! 2013 (Nov. 23 - 24, 2013)
You deal with operating systems on a day-to-day basis -- Macs, Windows, Linux, etc. An operating system is the software that lies between your computer hardware and the applications you would interact with on a day-to-day basis. Operating systems have to be carefully designed for security, modularity, and speed. In this class we'll look at the basics of how operating systems function to meet these goals.


W7901: Play Bughouse Chess in Splash! 2013 (Nov. 23 - 24, 2013)
Bughouse chess is chess for teams of two with a twist -- all pieces you take are passed to teammates! Come hang out, play chess, and make new friends!


C7983: Introduction to Algorithms in Splash! 2013 (Nov. 23 - 24, 2013)
Algorithms describe a "recipe" for doing something. Having good algorithms that are fast and easy to use is important for every area of life. This class will be a survey of several computer science algorithm topics including sorting, hashing, and graph algorithms.


S7201: [Test] Learn You A Haskell: Functional Programming in Spark! 9013 (Mar. 15 - 17, 2013)
FUNCTIONS ARE DATA LISTS ARE INFINITE HASKELL IS FUN Haskell is a purely functional, strongly typed programming language with non-strict evaluation. If none of those words made sense to you, you should take this class to fix that! We'll talk about the basics of programming in Haskell, why it's the best programming language, and how you can fit an infinite list in your computer's memory.


X7203: [Test] Introduction to Algorithms in Spark! 9013 (Mar. 15 - 17, 2013)
Algorithms describe a "recipe" for doing something. Having good algorithms that are fast and easy to use is important for every area of life. In this class we'll talk about computer science algorithms in particular. We'll talk about how to use algorithms to sort a list of things, create tables that make looking up values really easy, and find shortest paths in graphs.


S7204: [Test] How Operating Systems Work in Spark! 9013 (Mar. 15 - 17, 2013)
You deal with operating systems on a day-to-day basis -- Macs, Windows, Linux, etc. An operating system is the software that lies between your computer hardware and the applications you would interact with on a day-to-day basis. Operating systems have to be carefully designed for security, modularity, and speed. In this clas we'll look at the basics of how operating systems function to meet these goals.


E6911: Hands-On Digital Circuits - 010110010100000101011001! in HSSP Spring 2013 (Mar. 02, 2013)
Want to make your own blinking light? pong game? calculator? CPU? Then this class is for you! We won't build anything as complicated as a CPU, because it would take up too much space, but we'll learn all the principles needed to do so, and make some fun mini-projects along the way.


W7084: Play Bughouse Chess in Spark! 2013 (Mar. 16, 2013)
Bughouse chess is chess for teams of two! Come hang out, play chess, and make new friends!


C7090: How Operating Systems Work in Spark! 2013 (Mar. 16, 2013)
You deal with operating systems on a day-to-day basis -- Macs, Windows, Linux, etc. An operating system is the software that lies between your computer hardware and the applications you would interact with on a day-to-day basis. Operating systems have to be carefully designed for security, modularity, and speed. In this clas we'll look at the basics of how operating systems function to meet these goals.


C7188: Introduction to Algorithms in Spark! 2013 (Mar. 16, 2013)
Algorithms describe a "recipe" for doing something. Having good algorithms that are fast and easy to use is important for every area of life. In this class we'll talk about computer science algorithms in particular. We'll talk about how to use algorithms to sort a list of things, create tables that make looking up values really easy, and find shortest paths in graphs.


W6145: Play Bughouse: Team Chess! in Splash! 2012 (Nov. 17 - 18, 2012)
Ever wanted to play chess on teams? It turns out there's already a chess format with a funky name for that -- Bughouse! Come join us for a couple of games of Bughouse chess, all levels welcome.


C6528: How to Make an Operating System in Splash! 2012 (Nov. 17 - 18, 2012)
What do operating systems do? How do they work? And how do you make one? We'll start from the (incredibly hacky) way modern computers boot up, and work our way up to a complete* operating system with the ability to access memory, handle system calls, and maybe even run a few programs (simultaneously!!). In the process, we'll also talk about how processors work and how to write assembly code. *For liberal definitions of "complete" OPERATING SYSTEMS HOW DO THEY WORK


C6567: Learn You A Haskell: Functional Programming in Splash! 2012 (Nov. 17 - 18, 2012)
FUNCTIONS ARE DATA LISTS ARE INFINITE HASKELL IS FUN Haskell is a purely functional, strongly typed programming language with non-strict evaluation. If none of those words made sense to you, you should take this class to fix that! We'll talk about the basics of programming in Haskell, why it's the best programming language, and how you can fit an infinite list in your computer's memory.


C6623: Writing an Android App 101 in Splash! 2012 (Nov. 17 - 18, 2012)
Ever thought "I wish there was an app for that?" Well we're here to teach you how to make that app! We know things about Android programming. Come learn from us! In this class we'll go over the basics of setting up the basic view and activity structure of an Android application. We'll then talk about how to draw things on the screen with Canvas drawing. We'll build up a very small game based on class input while everyone follows along on lab computers. You will get a copy of the game when we're done!


C6632: Introduction to Algorithms in Splash! 2012 (Nov. 17 - 18, 2012)
Algorithms describe a "recipe" for doing something. Having good algorithms that are fast and easy to use is important for every area of life. In this class we'll talk about computer science algorithms in particular. We'll talk about how to use algorithms to sort a list of things, create tables that make looking up values really easy, and find shortest paths in graphs.


W6796: Liquid Nitrogen Ice Cream! in Splash! 2012 (Nov. 17 - 18, 2012)
Come learn about some cool properties of liquid nitrogen, and get to try some ice cream made with liquid nitrogen.


M6059: Turing Machines in ESPrinkler Summer 2012 (Jul. 08 - Aug. 19, 2012)
Turing Machine – A device consisting of a finite state machine (a machine operates on input based on current state) and an infinite tape. Turing Machines may sound outlandish and impossible, but are actually the foundation of the notion of computability (determining what can, and cannot be computed). In this class we will briefly look at the origins of Turing Machines, then look at how a Turing Machine is defined. From there, we will get our hands dirty and try to define some Turing Machines of our own.


E5691: Fun with Simple Circuits! in HSSP Spring 2012 (Feb. 18, 2012)
Come learn how to build simple circuits ranging from turning on an LED (if you don't know what that is don't worry) to basic digital circuits similar to the ones in computers! Circuits are in everything around us, yet very few people actually understand how they work. In this class we will go over the basic principles behind simple analog and digital circuits through hands-on projects and activities. Topic covered include: thinking about electricity as a fluid, Ohm's law, and simple boolean logic (AND, OR, NOT).


X5692: ESPrinkler in HSSP Spring 2012 (Feb. 18, 2012)
During the last block (2:30 - 4:00), middle school students are given the opportunity to participate in ESPrinkler, a mini-program that consists of several one-shot (Splash-style) classes each week, including Singing A Capella, Explosive Chemistry, and Splendid Spleens While you don’t have to individually register for each activity, you must register for this course (ESPrinkler) to partake in the different activities offered every week!


W5828: Play Bughouse -- Team Chess! in Spark! 2012 (Mar. 10, 2012)
Come play bughouse with us! Bughouse is a variant of chess involving teams of two and the ability to place taken pieces on your side of the field. We'll give you a brief intro and then play some games! Maybe we'll even do a mini-tournament!


C5070: Writing an Android App 101 in Splash! 2011 (Nov. 19 - 20, 2011)
Ever thought "I wish there was an app for that?" Well we're here to teach you how to make that app! We know things about Android programming. Come learn from us! In this class we'll go over the basics of setting up the basic view and activity structure of an Android application. We will also briefly go over setting up a google code project to share your code with the world and work with other people. Finally we will have you split up into small groups and make some simple apps which you can put on your Android devices (not required) and hopefully continue to work on afterwards!


W5118: Bughouse! in Splash! 2011 (Nov. 19 - 20, 2011)
Come play bughouse with us! In case you don't know, bughouse is a variant of chess involving teams of two and the ability to place taken pieces. We'll give you a brief intro and then play some games! Maybe we'll even do a mini-tournament!


W5337: SPLASHLIGHTS: Micro LED Flashlights in Splash! 2011 (Nov. 19 - 20, 2011)
Make a micro LED Flashlight! LED + Switch + AA Battery = LED Flashlight. In 15 minutes, make your own and take it home!


Testing Student Logistics Email in TEST (2012)
Testing