Splash! 2012
Course Catalog


Filter Catalog by Grade:

Jump to Categories
Arts Computer Science
Engineering Humanities
Lunch Mathematics
Science [Deprecated] Walk-in Activity
Miscellaneous


This is a previous year's Splash catalog. The course catalog for last year's Splash is available here.


Below is the Splash 2012 catalog. Feel free to look at it for examples of the types of classes ESP offers at a typical Splash, but keep in mind that the exact offerings vary based on what our teachers choose to teach.



Arts

[ Return to Category List ]

A6401: Conducting Full!
Difficulty: **
Teachers: Daniel Zhang

Learn the art of conducting! We will be going over the basics of baton technique, including beat patterns and phrasing. We will also be talking about orchestral repertoire as well as operatic repertoire.

A6503: Ballroom Dance - Swing Basic Full!
Difficulty: **
Teachers: Lisa Merschen

Come learn how to Swing dance! You will learn the fundamental steps of Swing dance, Swing timing and rhythm, and the techniques of leading and following with your partner. Learn how to dance to up-tempo and big band music! Learn this important skill to give you confidence and social grace the rest of your life! Or maybe you’ll just become addicted to the fun!

Please come ready to move with comfortable shoes and clothing. No partner necessary; we will constantly be rotating and changing partners as we go.

A6653: Music Theory Full!
Difficulty: **
Teachers: Yalu Wu

Already know how to read music? This class will teach you the theory you need to back your skills and give you a more intuitive sense of music. We're not guaranteeing perfect pitch, but at least you'll be able to hear all the perfect fifths in any superhero's theme song. We will cover degrees, intervals, triads, and their respective qualities. We will also cover scales, major and the three types of minor, and be introduced to modes (Ionic, Dorian, Phrygian, etc). Ear training will be emphasized for intervals and scales.

We'll also cover some of the more miscellaneous topics, such as trills, mordents, pedaling, what it means for a stringed instrument to play pizz or arco, and whatever you wish to know.
If some of the words here are foreign to you, you should definitely come and find out!


Prerequisites
Ability to read music

A6504: Ballroom Dance - Waltz Basic Full!
Difficulty: **
Teachers: Lisa Merschen

Come learn how to Waltz! You will learn the fundamental steps of Waltz, timing and rhythm, and the techniques of leading and following with your partner. Learn how to dance to smooth, ballad-tempo music! Learn this important skill to give you confidence and social grace the rest of your life! Or maybe you’ll just become addicted to the fun!

Please come ready to move with comfortable shoes and clothing. No partner necessary; we will constantly be rotating and changing partners as we go.

A6326: $treet Lyfe Full!
Difficulty: *

HIDY HO FOLKS, er, yo, G, sup fool? Uh... yeah, come make stencil, graffiti, awesomeness that will make yo' mama proud. Have a secret tag artist fighting to be let out? Come express yo'selves with us!

Peace.

-The Two best Gs at MIT...


Prerequisites
being awesome, breathing, and maybe some G Unit....

A6399: Jammin' With the Chorallaries Full!
Difficulty: **
Teachers: Royal Morris

Wanna sing with the oldest co-ed acappella group on campus? Then come to the MIT Chorallaries Acappella Workshop! Come learn some of the songs from our current repertoire and see what a day in collegiate acappella can be like. There will be a perc shop also for all current and potential beatboxers. Come sing with us! It's gonna be awesome.


Prerequisites
Probably a good idea if you have some musical/ choral experience.

A6491: Fun and Easy Origami with Jazz! Full!
Difficulty: *

Origami!
Jazz!

Come if you like either of them! We'll listen to some jazz as we teach you basic origami. No experience necessary. We'll provide everything you'll need.


Prerequisites
None

A6506: Ballroom Dance - Rhumba Basic Full!
Difficulty: **
Teachers: Lisa Merschen

Come learn how to dance the Rhumba! You will learn the fundamental steps of the Rhumba, timing and rhythm, and the techniques of leading and following with your partner. Learn how to dance to Latin and rhythmic music! Learn this important skill to give you confidence and social grace the rest of your life! Or maybe you’ll just become addicted to the fun!

Please come ready to move with comfortable shoes and clothing. No partner necessary; we will constantly be rotating and changing partners as we go.

A6243: History of Rock Music Full!
Difficulty: *
Teachers: Jacob Isenhart

Ever wonder, "How is Ke$ha even a thing??" Learn about the evolution of western popular music, from the Delta Blues to New Orleans jazz to the British Invasion to Rebecca Black!

A6542: Math-ish Beading: Dodecahedrons and C60 Full!
Difficulty: **
Teachers: Harriet Li

Math is pretty. Beads are shiny. Make pretty shiny round things* out of smaller shiny round things. Option to make keychains of 'em, if you want.

*namely, the dodecahedron, or C60 (shape of buckminsterfullerene) if you're a bit more ambitious/experienced


Prerequisites
ability to use needle and thread and to avoid swallowing small objects; some amount of patience would be helpful

A6625: Learn to Knit Full!
Difficulty: *

Learn basic knitting techniques! You'll leave with all the materials you need to make a basic scarf or hat, and all you need to know to make more complicated projects on your own.

A6650: Opera for Beginners
Difficulty: *
Teachers: Yalu Wu

Do you like music? Do you like plays or musicals? Are you interested in learning about Opera? Well you are in luck, and no previous experience is required here!!

In this class, we will go over the basics of Western Opera. We will talk about and listen to some clips from famous operas starting from the 1600s until the 1950s. We will learn about Operatic style and talk about what the terms libretto, aria, and recitative mean. We will cover the Operas of the works of Gluck, Mozart, Verdi, Wagner, Puccini, and more!

A6502: Intro to Swing Dancing
Difficulty: **

Impress all your friends with some super classy swing dancing!
Learn the basics of swing, and a few fun moves to get you started. Beginners welcome; it’s a ton of fun.

A6334: Playwrights' Workshop

Interested in writing plays? Come and get some hand-on experience in this class taught by the MIT Shakespeare Ensemble!

In the first hour, we will teach you the basics of writing scenes for the stage. We will address stage space, character voice, and conflict structure.

In the second hour, you will write scripts in groups of four. After dinner, we will PERFORM as many of these scenes as possible for you and your friends!

A6554: The Funkiest Geometric Origami You'll Ever See
Difficulty: **
Teachers: Yongquan Lu

Bored of folding cranes and planes? In this class, we’ll explore ways to use origami to create three-dimensional geometric patterns so funky you’ll think they couldn’t possibly be made out of a single sheet of paper. Fold corrugations that undulate like a snake skin, pleats that appear to weave through the sheet and curves that spiral in continuously upon themselves, all from single giant sheets of paper. By the end of the class you’ll be exposed to many techniques out there and be ready to create your own crazy paper sculptures!


Prerequisites
No experience required, just the patience to crease tiny intricate patterns and an excitement for pretty geometric shapes.

A6703: Intermediate Drawing: Portraiture and Figure Studies Full!
Difficulty: **
Teachers: Annie Tang

Knowledge and understanding of the face and head are vital to the portrait artist. With practice and an understanding of proportion and structure, it is much easier to draw evocative and accurate portraits. In this class we will learn how to draw the human portrait and figure in photorealistic form. No formal prerequisites are required, however it is recommended that you have had some experience with drawing in the past


Prerequisites
Previous experience in drawing recommended

A6527: Intro to Circular Gallifreyan
Difficulty: **
Teachers: Ceri Riley

Perfect for any Whovian (or really anyone who thinks bow ties are cool or loves wibbly-wobbly timey-wimey stuff), this course goes over the basics of writing in Circular Gallifreyan as per a standardized fan version.

Combining basic cryptography skills with an artistic eye, translate any word or phrase you desire into the language of the Time Lords. Allons-y!


Prerequisites
Be able to draw circles, lines, and dots!

A6239: Swing into the Cha Cha Cha!
Difficulty: *
Teachers: Kuang Xu

Awesome crash course on Ballroom dances (Standard and Latin Style) taught by members of the award-winning MIT Ballroom Dance Team. NO PRIOR EXPERIENCE NEEDED!


Prerequisites
comfortable shoes and a joyful mind

A6300: Typography and Typesetting
Difficulty: **
Teachers: Tana Wattanawaroon

Typography and Typesetting are about arranging text into a piece of publication, which is in no way simple. It is about choosing fonts, size, spacing, and everything. Modern word processors have made publication accessible to anyone with computers, while taking some beauty away from this extremely delicate craft.

Take this course to learn about the basics of typography and typesetting! We will look into publications at different levels: glyphs, lines, paragraphs, and pages. We will learn how to maximize beauty while preserving readability and legibility. We will explore how technology has transformed the era of good old press into the age of digital typography.

A6160: Not Your Grandma's Crocheting Class Full!
Difficulty: **
Teachers: Hope Harrison

Are you tired of learning how to make a boring hat? In this class you will vote on your favorite TV show character (live action or cartoon, anything you want!). Then I'll teach you the basic crochet stitch, we will design a pattern, and the whole class will work together to make that character out of yarn!


Prerequisites
none

A6395: Infographic Design: Turning Data Into Art
Difficulty: *

Representing data visually can be a challenge, but learning to do it well can make your research and presentations engaging and accessible.

This one hour seminar, taught by a team of designers from MIT’s student newspaper The Tech, will teach you to create effective and visually appealing infographics. You’ll even get a chance to draft a few yourself! Feel free to bring in your own set of data to work with (If you don’t have any, don’t worry — we’ll give you some!). Evolve beyond Excel pie charts!

A6418: Beading 3D Figures Full!
Difficulty: **
Teachers: Wei-En Lee

Learn how to make three-dimensional figures using fishing line and plastic beads!

A6586: Intro to Contra Dance
Difficulty: *

Come learn to contra dance! Contra is a type of traditional social dancing that's high energy and a lot of fun. It's done as couples in a long line, so you end up dancing with everyone else in your set. We'll be starting from the very beginning, so no experience is needed, but come ready to dance; wear comfortable shoes and clothing and bring a water bottle if you can. We'll teach how contra works and go over some basic moves, then spend the rest of the time dancing.

A6216: Guitar Building
Difficulty: **
Teachers: Nicholas Fine

Fender, Gibson, Taylor, (Your Name Here). You love to play them, now it's time to BUILD them. Come take this introductory class focusing on the tools, techniques, and design needed to start you on your way to constructing your very own electric guitar!

A6164: Cosplay, Propmaking, and Design Full!
Difficulty: *
Teachers: Alyssa Waln

I like cosplay. Do you like cosplay? I'll be talking about the costumes I've made, the mistakes I made along the way and how to avoid them, Things to Consider when designing from a reference photo, materials that work, materials that don't, and a few tips and tricks to make you stand out. There will be time for general questions about cosplay and conventions, or cosplay-specific questions if you're in a bind and need some ideas.

A6169: Country Music 101 Full!
Difficulty: *
Teachers: Emily Pries

"Real knowledge is to know the extent of one's ignorance." - Confucius

Let's be honest. You don't listen to country music. That's okay, though, because the admitting it is the first step!

Whether you are a lifetime ABCer (aka you listen to Anything But Country) or have a life-size cutout of Brad Paisley in your bedroom, come learn about the history of country music and listen to some amazing songs. We'll check out the themes that define the genre as well as the unique culture that surrounds it.

I promise you'll leave with an appreciation of country music worthy of any patriotic American.

A6331: Animation in Adobe Flash Full!
Difficulty: **
Teachers: Ramya Swamy

Ever wondered how cartoons are made? Breathe some life into your drawings! Learn how to use Adobe Flash to create a small animation of your own. We’ll discuss animation techniques from frame-by-frame animation all the way to "tweening" and inverse kinematics (come learn what these are!). This course will go pretty rapidly (but don’t let that deter you) so come with a crazy awesome DESIRE TO LEARN :D


Prerequisites
Be comfortable drawing with a mouse.

A6427: Intro to Techno Music Composition
Difficulty: **
Teachers: Grant Falkenburg

What is techno music? What makes it so catchy? How can I make my own, you ask? In this class, you'll learn all of the secrets of techno and how to make it! We'll analyze the different elements and styles of techno music and work our way up to song composition.
Topics include: sound synthesis, usage of different sounds and effects, types of progressions, and song making using software (FL Studio). The focus is on general techno, however, I can provide tips if you are interested in a certain style. Get ready to drop the bass!


Prerequisites
Any knowledge of music is useful, but not necessary.

A6446: Lights! Camera! Improv! Full!
Difficulty: *

We love improv. Do you love improv?
If you like being spontaneous, crazy, acting, and thinking on the spot,
TAKE THIS CLASS!
Just do it.
Spontaneously.
We'll teach you a bunch of games from plain charades to elaborate storytelling.


Prerequisites
Your body and your voice. Brains are optional.

A6383: War in Film Closed!
Difficulty: **

Everyone likes movies; no one likes war. So why combine the two? Because war is a basic part of the human condition and film, more than any other medium, allows us to explore the human condition. The films shown in this course will explore the effect of war on its participants through a variety of perspectives from multiple conflicts.

A6674: Hand Drawn Holograms Full!
Difficulty: **
Teachers: Robin Deits

Holograms are awesome, but they're too expensive and difficult to produce to be an easy art form...until now!

In this class, I will teach you how to make abrasion holograms by hand using just a compass and a sheet of plastic. You can create a simple 3D hologram in just a few minutes, or you can spend hours creating your holographic masterpiece.

You'll be able to create 3D shapes and images, and even create pictures that change as you move them around. It's going to be awesome!

A6470: Juggling - Course 16 Aero-Disastro
Difficulty: *
Teachers: Ian Chesser

Balls, rings, clubs, diabolos, devil sticks, unicycles, we have it all. Want to learn the basics of juggling? Already know how to juggle? Come learn how to throw down some sick tricks!

A6495: Comedic Improvisation Full!
Difficulty: *
Teachers: Solomon Spigel

Similar to 'Who's Line Is It Anyway' we will be playing improve games and learning how to improvise.

A6645: Irish Dance
Difficulty: **
Teachers: Kira Glynn

Ever seen the IRISH dancers of RIVERDANCE? Want to learn the basics of the COOLEST DANCE form out there? Enroll today!! ALL skill levels are welcome, with or without experience!

A6535: What is Creativity? Full!
Difficulty: *
Teachers: James A Beauton

What is sound? And what is creativity?? Explore these questions with different percussion instruments from around the world!


Prerequisites
It is preferred, but not mandatory that students enrolled in this course are taking (or have taken in the past) some sort of general or instrumental music class.

A6315: An overview of Producing, Engineering and Mixing Music
Difficulty: **
Teachers: Matt Russell

MIT Senior Audio Engineer, Matt Russell, will take you through the production of a rock song he produced, engineered and mixed - from the demo to the finished product. Basic Pro Tools knowledge is helpful, but not needed.

A6322: Crayon Melting Art Full!
Difficulty: **

MAKE CRAZY AMAZING WORKS OF ART WITH JUST CRAYONS AND A HAIRDRYER!


Prerequisites
childhood 101

A6321: Art of Improv
Difficulty: *
Teachers: Rahat Bathija

This course will focus on beginner Improv techniques. We'll be doing some warm up exercise and move onto Who's Line is Anyway type Improv Games.

A6392: Shaolin Martial Arts aka Chinese Kung Fu!!
Difficulty: *
Teachers: Wai Lok Lai

Kung Fu! Ever watched a Chinese martial arts film and wanted the mimic those super-cool maneuvers? Here's your chance to learn an actual Shaolin Martial Arts Routine!!

Intro to the different types of stances, fists, and kicks. You will learn a short (but complete) routine by the end of the class


Prerequisites
None. Please plan to wear loose-fitting clothing and trousers.

A6578: Rope Corsets Full!
Difficulty: **

This class will teach you how to tie a couple of different styles of rope corsets using basic knots. In addition to learning practical tricks we will also go over how to make your corsets comfortable and beautiful! Rope will be provided for you to practice with during class.


Prerequisites
You don’t need a partner or any previous experience. Your own thigh or leg is perfectly good to practice on.

A6695: Intro to Drawing: Still Life Full!
Difficulty: **
Teachers: Annie Tang

Working from simple still life setups students will learn the fundamentals of drawing. Step-by-by-step instruction in building the form through line and value will be given, and individual critiques covering the basics of drawing such as proportions, value, construction and perspective will be offered. Class will be small in size so that there is interaction and feedback.


Prerequisites
N/A

A6400: Arabic Language/Calligraphy
Difficulty: *
Teachers: Mahmoud Ghulman

This course will introduce participants to the Arabic language and Arabic calligraphy. Students will be introduced to various Arabic letters/phrases, arabic music, and calligraphy scripts and will be provided with persistent hands-on practice including in-class practice and individual/group instruction. This course will combine lectures with visual materials, discussion of reading and/or visual evidence, and hands-on practice with special calligraphy pens. Each student will leave with a sketch paper with his name written in Arabic calligraphy on it.

A6090: An Introduction To Claymations Full!
Difficulty: **
Teachers: William Little

Have you seen Coraline, The Nightmare Before Christmas, Wallace and Grommit, or any other frame-by-frame based movie? Have you ever wondered what goes into making such amazing works of art?

In this class, I'll not only show you what claymation is and how to do it, but I'll be letting you all try it yourselves! Plan to have some fun and get your hands dirty while making your own animations.

Bring a flash drive if you want to save your work!

A6278: Learn How to Chain Mail
Difficulty: *
Teachers: Pi Fisher

This course will teach the standard chain mail weave—European 4 in 1. If you already know how to do this but want to learn other weaves or work on a project, know that my priorities will be teaching beginners.


Prerequisites
Patience and a reasonable attention span: a lot of time and repetitive effort goes into making chain mail.

A6366: Comedic Improvisation
Difficulty: *
Teachers: Solomon Spigel

Similar to 'Who's Line Is It Anyway' we will be playing improve games and learning how to improvise.

A6610: The History and Theory of Musical Tuning
Difficulty: **
Teachers: Benjamin Boyajian

You are probably familiar with the practice of dividing the octave into twelve equal parts to create the chromatic scale - but it has not always been this way. Over the centuries, musicians have experimented with different tuning systems that make some intervals particularly consonant and others particularly dissonant. In this class, we will discuss how ratios of frequencies are the mathematical basis behind tuning, and we will look at famous tuning systems such as Pythagorean, meantone, and equal. We will also discuss how the increased prevalence of chromaticism in music led to the prominence of equal temperament, and vice versa. If we have time, we will look at the theory for nonstandard scales, such as the scales of 19 or 31 notes.

A6223: Piano Improvisation!
Difficulty: **
Teachers: Justin Yuan

HEY YOU! Do you play piano? Do you want to learn how to improvise? After this class, you won't have to memorize any more songs again, because you will be able to improvise on the spot anywhere there's a piano. AWESOME SKILL! Girls dig it. Guys dig it. So come and jam out
!
*No improvising experience necessary.


Prerequisites
Basic piano playing skills.

A6492: Lights! Camera! Improv!
Difficulty: *

We love improv. Do you love improv?
If you like being spontaneous, crazy, acting, and thinking on the spot,
TAKE THIS CLASS!
Just do it.
Spontaneously.
We'll teach you a bunch of games from plain charades to elaborate storytelling.


Prerequisites
Your body and your voice. Brains are optional.

A6783: Trash Can Drumming! Full!
Difficulty: ***
Teachers: Kevin Rustagi

Drum on Trash Cans! Must have basic music background! Check out this video for details on our past January MIT class: http://tinyurl.com/trashcandrumming

We will go over drumming technique and end with an awesome jam!


Prerequisites
Basic Musical Background, ideally playing experience. Only basic experience with rhythm required - up to sixteenth notes and dotted eighth notes.

A6303: Bad Web Design Bashing Session Full!
Difficulty: **
Teachers: Tana Wattanawaroon

You pick a website you love to hate, and we will discuss its design. Learn a thing or two about UI/UX/usability design.

A6521: Do Artists Dream of Electric Sheep?: Using Electronics in Art!
Difficulty: **

Leave your left and right brained notions at the door!

In this class, you'll make your very own tech-based artwork, no previous experience required!!

These days, artists have another kind of paint to play with: Technology! We'll show you what today's artists are doing with it and why you should consider using it in your artwork, too!


Prerequisites
An interest in making art in 2012 and beyond!

A6329: Conquering Artist's Block
Difficulty: *
Teachers: Laura Standley

Ever get the urge to draw something but find yourself just staring at a blank piece of paper? Yup, we've all been there (or at least I know I have). Come learn some of my tips and tricks to help you overcome that pesky artist's block! No actual drawing experience required.

A6466: Gift Wrapping Extravaganza!
Difficulty: *
Teachers: Cris Jeevas-Kiddo

With the holiday season right around the corner, most people are worrying about what gifts to get for their friends and families, but not you of course - you already have a perfect gift - the problem is, you have no idea how to wrap it! Maybe it's an unusual shape or extremely delicate; whatever the reason, you're stuck, and you need to know what to do to make sure this is the best present anyone's ever received.
This class will show you interesting new ways to wrap everything from spherical gifts to fancy hats to food items! Armed with this unusual knowledge, you'll blow everyone away at any gift-giving occasion with your mad gift-wrapping skills!


Prerequisites
-Be focused and patient - working with wrapping paper is one of the most aggravating experiences of special occasions, so be prepared to endure paper cuts, tape stuck to your fingers, and general frustration. -If you have a present that you want to wrap, bring it with you! We'll help yo make it extra-special :D

A6459: Learn to Knit Full!
Difficulty: *

Learn basic knitting techniques! You'll leave with all the materials you need to make a basic scarf or hat, and all you need to know to make more complicated projects on your own.

A6236: Phonetics for Singers
Difficulty: *
Teachers: Alioth Drinkwater

Whether you sing in choir or take solo voice lessons, you've probably encountered the difficulty of learning to pronounce foreign languages well enough to sing them -- and the difficulty of getting the whole choir to sing the same sound -- and the difficulty of trying to spell things phonetically in English.

In this class, we'll study how different sounds are produced in the mouth, and learn some of the International Phonetic Alphabet, which allows you to transcribe sounds unambiguously. We'll also learn some tricks you can use to teach other English speakers to pronounce tricky sounds, so you can help out your home choirs or your friends. Finally, we'll warm up and sing some examples -- from common languages like German to uncommon languages like Maori and Old Church Slavonic.


Prerequisites
Ability to sing. Ideally, have sung something in a foreign language. Ability to sight-read is nice but not required. Wear comfortable clothing that you can stretch in.

A6806: Infographic Design: Turning Data Into Art, Hands-on Workshop Full!
Difficulty: **

This one hour hands-on workshop, led by a team of designers from MIT’s student newspaper The Tech, will teach you to create effective and visually appealing infographics. We'll provide a compelling data set, and everyone will get a chance to take a crack at creating an infographic using the Adobe Creative Suite (we'll provide it). And we'll print the final product in an issue of MIT's newspaper The Tech!


Prerequisites
We encourage you to attend our Infographic Design: Turning Data Into Art session earlier in the day before taking the hands-on workshop but it's not a requirement.

A6782: Pop Music Improvisation
Difficulty: **
Teachers: Jeffrey Sun, Kevin Tian

Following a short introduction to the essentials of music theory, this class will teach and provide hands-on experience in instrumental improvisation, focusing on popular music.

A6421: Improv Comedy: Embracing Faliure
Difficulty: *
Teachers: Zachary Barryte

Play improv games with us, learn how to embrace your failure and make it into something special

A6338: What's Funny?
Difficulty: *

In this class, we'll look at various examples of comedy - from the sketches of Monty Python, Mitchell and Webb, and SNL to great theatrical comedies like Airplane and Young Frankenstein - and analyze what it is that makes us laugh. We'll then open the class into a comedy writing workshop, wherein students will write their own sketches.


Prerequisites
Sense of humor, levity

A6478: Swing Dancing
Difficulty: **

Come have fun, and leave with moves to impress your friends! No experience or partner necessary--just wear comfy shoes.


Computer Science

[ Return to Category List ]

C6089: How To Host Servers! Full!
Difficulty: ***
Teachers: William Little

Onto the advanced side of the computer realm!

Let's say you like working with computers, what's next? You can only do so much with what you work with. What's the next step?

Servers! The reason why the Internet, the stock market, and everything else digitally connected is able to work!

Maybe you're a bit of a gamer, and you want to be the cool person who can make your own server. You want to ride pigs with your friends in Minecraft or bonk Heavy's in Team Fortress 2 on a server you can call your own. Or maybe you want to be on the more serious side by hosting your own website or your own "cloud" system!

Of course this is a lot to cover, I'm going to give you the basic knowledge of what it takes to make and run your own server (usually for free!) and have fun in the process.

C6370: TI-83 programming Full!
Difficulty: **
Teachers: Wesley Rian

Bored in math class? Want to automate your homework? Learn to program your TI-83-compatible calculator!


Prerequisites
Bring a TI-83, 83+, 84+, 84+SE, or Nspire in 84+ mode.

C6154: Promiscuous Mode-Network Protocol Analysis
Difficulty: **
Teachers: Harvey Yee

Do you want to be in Promiscuous mode(Monitor Mode)? You may if you are a network engineer. Join us in learning what is involved in Network Protocol analysis, and along the way learn about network architecture and protocols. Depending on what is available in the class room, a demonstration of a wired or wireless network session will be provided. A free copy of Linux LiveCD will be provided so that you can continue your learning of network protocol analysis after this class.


Prerequisites
A sense of curosity

C6628: Introduction to Programing a la Fractal Forgeries
Difficulty: *
Teachers: Zandra Vinegar

Want to learn how to program a cloud? or a rough, and unpredictable mountain? or an infinitely precisely shaded fern? Then sign up for this class and I will BOTH introduce you to JavaScript, a powerful visual programming tool, and show you around the psychedelic world of Fractals!

Check out some of these images and see if you can tell which are real and which are mathematically-generated forgeries: http://tinyurl.com/8erkfxy

Those which are forgeries are made using Fractals: mathematical objects which are produced by repeating very simple instructions over and over again. You'd never want to draw these images by hand, but with the aid of computers, we can plot hundreds of thousands of points in seconds. This ability enables us to decode natural objects which the "smooth" curves and platonic solids you learn about in high school can never emulate.

C6707: Put Together The Pile of Junk! Full!
Difficulty: ***

Ever wondered how to put together a computer, or what all of those random parts do? Come put together computers that are older than you are, and learn about the innards in the process! (just basic material; you will not learn much if you know anything)


Prerequisites
Interest in computer hardware, patience, not much experience in computer hardware

C6510: How Operating Systems Work Full!
Difficulty: ***
Teachers: Dan Noe

If you've used a computer you've used an operating system. Whether Microsoft Windows, Linux, MacOS, or a mobile operating system the same basic concepts are the same. We'll talk about how user programs run cooperatively with the OS Kernel code, how the kernel schedules tasks, and memory management. If we have time we'll talk about file systems and a bit of networking too.


Prerequisites
You don't need to know a programming language but you should have a basic understanding of the components of a computer (for example: Processor, RAM, hard disk).

C6555: The limits of computation
Difficulty: **
Teachers: Leonid Grinberg

Believe it or not, there are some problems computers simply can't solve, even if you give them unlimited memory and time. These aren't some wishy-washy philosophical meaning-of-life problems either but very well-defined, fairly simple mathematical statements. This class will focus on the absolute limit of what a computer can do and what implications this has both in theory and in practice. It turns out there are a fair number of philosophical implications here as well, so we'll talk about some of those too.


Prerequisites
It would be great if you've seen a mathematical proof before (two-column proofs like in geometry class are fine)

C6087: What Makes Everything On The Internet Work?
Difficulty: **
Teachers: William Little

What happens when you log into Facebook? Or place a bid on eBay? Or check your email? Or send a tweet? Or anything else that you do on the internet? This talk will give you an explanation on how everything works, what makes it all tick, and why some very powerful hardware is needed for everything. Prepare to have your mind blown as I show you the inner workings of the technological world we live in!

C6437: Intro Programming for Newbs
Difficulty: ****

Don't know programming? Excited to learn? We'll try to help out! Warning: expect no pity. No seriously, you won't remember anything =D!


Prerequisites
no programming experience

C6159: Why LabVIEW Is Better Than Your Programming Language
Difficulty: ***
Teachers: Hope Harrison

Heard about LabVIEW and think it sucks? Well, come learn some ways LabVIEW pwns your favorite text based language. Seriously, though, come learn fancy programming topics like parallel threads (multiple "lines" of code running at once), and nice user interface creation - you'll be surprised what cool stuff you can code in LabVIEW!


Prerequisites
Basic knowledge of programming

C6309: Computer Building 101
Difficulty: **
Teachers: Joseph Lodin

Ever thought about building your own computer? Maybe the possibility of potentially saving HUGE gobs of cash is enticing, perhaps the prospect of playing Skyrim on MAXIMUM settings may lure you in, or maybe you’re just a hobbyist who’s curious about how to build a desktop computer.

In this class, we’ll go over the process of picking out the right parts for your specific needs, what those parts actually do in your computer, how to survive the interminable wait for your parts to arrive (curse you, Newegg 3-day shipping!), how to actually put the parts together once they DO arrive, and we’ll also go over some questions like “which operating system do I use” and “why is this actually way easier than I thought it would be.”

If you’ve ever considered building a desktop computer so you don’t have to deal with the painful process of owning a Dell or HP, or maybe just want to learn a thing or two about computers, this is definitely the class for you!


Prerequisites
A basic knowledge of computing would be good, like knowing the difference between a desktop and a laptop, but anyone should be able to get some good stuff out of this class. -IMPORTANT NOTE- This is just a crash course in the fundamentals of computing hardware, we’re only going over the basics - if you’re looking for a hardcore discussion on the merits of Intel vs. AMD or some other in-depth lecture, you probably won’t find it here. Find me after class if you want to duke it out over which graphics card is superior.

C6119: Introduction to Graph Algorithms
Difficulty: **
Teachers: Favyen Bastani

Systems as diverse as road networks, images, the world wide web, and social networks can be modeled as graphs. Learn how to efficiently search a graph, compute minimum spanning trees and shortest distances, and more!

C6158: Introduction To Programming Using LabVIEW
Difficulty: **
Teachers: Hope Harrison

Do you want to make cool games for you and your friends? A program that does your math homework? A robot that does your chores? We will learn how to at least start off doing each these in LabVIEW! No programming experience is necessary - we will start from the very beginning.


Prerequisites
None

C6511: Concurrency and multithreaded programming
Difficulty: ***
Teachers: Dan Noe

I started teaching this course in 2006 when dual core processors were a newfangled thing. Now even cell phones have multicore processors! Programming to take advantage of today's multicore processors is tricky and filled with pitfalls. We'll talk about Amdahl's law and how it benefits the performance increases from adding processors. I'll discuss how programming language locks are actually implemented under the scenes. And I'll talk about different ways computer scientists like to abstract concurrency to make it easier to program.


Prerequisites
You should know the hardware parts of a computer (Processor, RAM, etc) and have some experience with any programming language.

C6165: Make Your Own Website! (Introduction to web design using HTML)
Difficulty: **
Teachers: Abhishek Nagaraj

Have you always wanted your own webpage? Where you can put cool stuff about yourself? Where you can share pictures, paintings, stories? Then this is the place! We will make webpages with HTML and upload them so that the whole world can see them!

C6753: Z'OMG Fractals
Difficulty: **
Teachers: Katie Bartel

Familiarize yourself with fractal theory by first using pre-programmed fractal generators, and then delve into programming your own. Learn about the Mandelbrot set, create some funky trees and snowflakes, and learn about fractals in the process.


Prerequisites
Familiarity with recursive and object-oriented programming. Knowledge of algebra.

C6436: Intro to Python for Experienced Programmers
Difficulty: ***

Know Java from AP CS and want to learn Python too? Come learn in this uber-fast crash course! Note: Expect no pity!


Prerequisites
experience with programming, no/little experience in Python

C6569: How to make a computer smart (and why they are still dumb) Full!
Difficulty: **
Teachers: Harrison Hunter

Learn about Artificial Intelligence.

Make your own computer brain to compete against people or other computer brains in basic games. Learn about some of the cool advances in the AI field and why humans can still kick computers butt (sometimes).


Prerequisites
Algebra. Interest in computers.

C6374: TI-89 programming
Difficulty: **
Teachers: Wesley Rian

Have a TI-89? Not sure what it can do? Learn to program the calculator that has such advanced features as functions and more than 27 variables.


Prerequisites
Bring a TI-89.

C6168: Basic Web Development
Difficulty: **
Teachers: Edward Tremel

Have you ever wanted to build your own website? It's easier than you might think. You don't have to be a programmer to create a functional, elegant website from scratch - you just need to know the markup languages HTML and CSS. This class will teach you the basics of using HTML and CSS to set up and format a website, with plenty of interactive examples. No prior experience is required.


Prerequisites
Basic familiarity with computers.

C6161: Video Game Music
Difficulty: **
Teachers: Matthew Milano

Learn the techniques behind the most moving and effective scores and sounds in the video game world, from both a computer science and music composition perspective.

C6553: Information Theory 101
Difficulty: *
Teachers: Betsy Riley

Ever wonder how we can send so much data around the world every day without clogging the networks? Or what's behind a .zip file? Learn how to turn lots of data into only a little data with information theory!

C6567: Learn You A Haskell: Functional Programming
Difficulty: **

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.


Prerequisites
You should have experience programming in some language, but no knowledge of Haskell is necessary.

C6632: Introduction to Algorithms
Difficulty: **

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.


Prerequisites
Knowing a programming language is strongly recommended.

C6123: Optimization with Genetic and other Heuristic Algorithms
Difficulty: **
Teachers: Favyen Bastani

For many optimization problems, such as finding the best way to schedule Splash or minimizing delay in a traffic network by altering intersection light settings, is it too hard to find an exact solution. However, heuristic algorithms like the genetic algorithm can provide a near-optimal solution that is often good enough.

In this class, we explore several heuristic algorithms including simulated annealing, particle swarm optimization, and the genetic algorithm. Then, we consider multi-objective optimization problems, and look at modern genetic algorithm approaches to solve them.

C6266: How Websites Work, Home Networks, and Run Your Own Game Server: Networking 101 in Three Parts
Difficulty: **
Teachers: Joseph Lodin

You may not realize it, but 99% of things you do on your computer require an Internet connection. Computer networking is an extremely advanced field with countless different uses, protocols, and experimental research making things faster and more reliable. To save time, I'm gonna summarize basic networking with three short topics:

-How Websites Work: When you click a link, what happens in the seconds between that click and when the next page is displayed on your screen? It's not as simple as it sounds, and often it involves a hundred (or even thousand)-mile journey happening in the blink of an eye. Also, I promise I'll briefly address why Splash registration always seems to hang. ;)

-Home Networks: So you probably know about the big Internet, the World Wide Web, right? Did you know that in most of your homes/apartments/wherever, you have a mini "internet" that functions all on its own? Let's look into the setup of a normal home network, and I'll even explain how to host your very own LAN party!

-Run Your Own Game Server: Ever feel like hosting your own Minecraft server, just so you can be the evil game admin for once? Maybe host a TF2 server and go crazy with mods. The sky's the limit! We'll go over just what a game server is, how to run your own, and even how to set it up so people across the world can join!


Prerequisites
Anybody who uses a computer can come to this class and learn something! We really won't go into too much technical detail, so if you already run your own game server or make/host your own websites, you probably won't see much new information.

C6350: Beginners Chess and ChessBots
Difficulty: ***
Teachers: Michael Fu, David Perez

Want to learn how to play chess, or just how to play chess better? Come learn and play against some of our best, and build a chess AI from the ground up to beat all your friends.

C6518: Introduction to Python
Difficulty: **

Come and discover why PROGRAMMING IS FUN! This is an introduction to Python and computer science class. No previous programming experience is required.

C6588: Lessons of Library Design
Difficulty: **
Teachers: Louis Wasserman

In any programming language, libraries of common and useful utilities -- like the C++ STL, or java.util -- are a programmer's best friend. They make coding easier, less buggy, and faster.

We'll talk about what's involved in writing libraries, what's different about writing code that thousands of other programmers will use, and what goes into those utilities you use every time you program.


Prerequisites
Thorough knowledge of at least one programming language and its libraries.

C6699: What's Better than Free?
Difficulty: *
Teachers: Lars Johnson

Why pay hundreds of dollars for software when there are free, open-source alternatives that are just as good? After a brief discussion about what open source software is, we will take a whirlwind tour of available open-source software. We will quickly overview a variety of programs including free office suites, 3D modeling programs, audio editors, graphics programs, and assorted productivity tools. (Although all of the programs covered work on the Mac operating system, many are cross-platform and work on Windows and Linux as well.)

C6125: Alice - 3D Computer Animation
Difficulty: **
Teachers: Michelle Ng

Alice is an innovative 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web. For this course, we will be using Alice as a learning tool for introductory computer programming. The 3D graphics and a drag-and-drop interface makes it easy to learn and facilitate a more engaging experience for students with no programming background. We will begin with the navigation of the Alice tool and the basic steps in creating an animation - storyboard, character (objects), actions (methods). We will also learn about fundamental programming concepts such as class, object, parameter, if/else, loop, etc. The final hour of the course will be devoted for an “animation-hour” to encourage students to apply their new skills to create their own animation programs using Alice. The Alice software is developed by Carnegie Mellon University and can be downloaded for free (http://www.alice.org).


Prerequisites
Strong interest to learn and explore animation - no prior programming experience is required.

C6556: Boolean Logic and You
Difficulty: **
Teachers: Betsy Riley

Heard of phrases like "AND," "OR," and "NOT" and know they're important for most modern technology? Want to learn more about how all that works and what it looks like inside your computer? Then take this class!


Prerequisites
You'll understand more if you've thought about Boolean logic (AND, OR, NOT) and/or basic circuits before.

C6083: Modern Cryptography
Difficulty: ***
Teachers: Sweet Tea Dorminy

Ever wanted to know how banks, the government, etc. can keep a drive’s contents from being read, even if someone steals the hard drive? Or how to generate numbers that appear random without actually creating random numbers? Enter cryptography, the study of keeping secrets.

We’ll be running over basic principles of modern (symmetric) cryptography, discussing:
What does it mean for an encryption algorithm to be secure? (common attack methods, random output)
What do we do with an encryption algorithm? (hash functions, pseudo-random number generators, block cipher modes)
What do modern symmetric encryption algorithms look like? (DES, AES)

Note that this course specifically does not cover RSA or any other asymmetric cryptography.


Prerequisites
Some familiarity with basic group theory is helpful for understanding the math behind DES/AES. Some familiarity with the difference between pseudorandomness and true randomness would also be helpful.

C6587: Software Engineering: Building Big Programs Full!
Difficulty: **
Teachers: Louis Wasserman

If you've ever worked on a program for longer than a week, you know it can start to run away from you, and become a tangled morass of code.

We'll talk about how big software engineering companies like Google, Amazon, and Facebook avoid these problems and manage hundreds of thousands of lines of code without their programs degenerating into spaghetti.


Prerequisites
Some basic knowledge of programming in any language.

C6541: Hacking Minesweeper!
Difficulty: **
Teachers: Damon Doucet

No, I don't mean http://www.ign.com/cheats/games/minesweeper-pc-8036 -- I mean legitimately hacking. Come learn how to be a 1337hax0r! Make sure to bring a Windows laptop (> XP, 64-bit recommended)


Prerequisites
Programming experience in high-level language (C, C++, Java, etc)

C6345: Machine Learning
Difficulty: ***
Teachers: Kevin Ellis

Can computers learn? In this class, you will discover how computers can perform inferences upon data to discover solutions to problems! This class will teach you how to write a computer program that learns to recognize faces, or drive a car, or parse English sentences, using the technologies of the field known as "Machine Learning."


Prerequisites
High-school level algebra and calculus. Basic linear algebra (matrices, vectors). Basic probability and statistics (you should know what a conditional probability distribution is, etc).

C6623: Writing an Android App 101
Difficulty: **

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!


Prerequisites
Must know an object oriented programming language, ideally Java (which if what we will work with).

C6155: WireShark Workshop
Difficulty: **
Teachers: Harvey Yee

Here is follow-up course to Promiscuous Mode-Network Protocol Analysis. In this course, we will hone our knowledge and skills in understanding and decoding network traffic.
Come prepared to get a deep dive into network protocol analysis by bringing a laptop so you can participate in a course discussion of some of the problems that we will uncover and solve.


Prerequisites
A sense of curiosity and a laptop which can support a Linux Live CD (BackTrack).

C6423: Android Essentials: Create Your Own Android App
Difficulty: ***
Teachers: Quanquan Liu

Want to learn how to create your own Android app for Android Play market? Come to this class where you will learn the essentials of creating your own app! We will go through the entire process from the basics of Android API to the final steps of uploading your app in the Android market.

C6372: ++coding_skills
Difficulty: ***
Teachers: Kevin Chen, Michael Xu

Solve problems, learn wicked cool coding tricks, and code!

"I took this class and learned how to invent computer science, and so I did." - Alan Turing
"This class was so challenging. Never have I seen so many brains spilled over the floor." - Donald Knuth
"After I took this course, I defeated Voldemort." - Harry Potter


Prerequisites
Prior experience in programming required. Competition experience recommended.

C6758: The art of computing and approximating
Difficulty: **
Teachers: MINH TUE VO THANH

This class teaches basic numerical algorithms (how to compute square root, how to solve simple equations numerically...)


Prerequisites
Basic algebra. Some familiarity with calculators will be a plus.

C6676: Journey Into the Interwebs: What the Heck is the Internet, After All?
Difficulty: **

Is the Internet real? Can you touch it? Where is it? In the clouds? Come learn more about the magic behind all those cute cat pictures, funny memes and viral YouTube videos. We'll talk about everything from the history of the Internet to its impact on society, and even show you how to code a basic web page using HTML (no experience necessary). You'll also go home with plenty of resources to learn more.

C6325: Introduction to Modern 3D Graphics Full!
Difficulty: ***
Teachers: Harry Stern

Everything you see in a video game is a lie. It's a mix between a puppet show and origami. A very clever, but similar, combination of art, math, and physics is the basis for games like Battlefield 3, Minecraft, and even the newer Pokemon generations.

This class will focus on the process that transforms data, such as points and triangles, into an image on your screen that you can interact with.

This class will give a high-level overview of how modern 3D graphics, especially in video games, actually work. It will cover the rendering pipelines of OpenGL and DirectX. Shading algorithms, 3D modeling, and the details of writing graphics programs will not be covered.


Prerequisites
A vague understanding of how programming works would is good, but not required. Basic algebra and a bit of trigonometry will be used in some parts.

C6479: The Big-O: Algorithms and Analysis (and Sorting!)
Difficulty: **
Teachers: Zach Minster

So you've written some code before, getting the job done in Java, C++, C, or some other programming language. Have you ever wondered how to prove to someone that your code works efficiently? How to describe exactly how long your program will take on a variable number of inputs? In this course we'll explore one of the most fascinating aspects of computer science - efficiency - and learn to write code that not only works, but works beautifully and promptly. Along the way we'll explore different methods of sorting, one of the most important problems in computer science, and see how analysis comes into play when working with sorting different types of data. Leaving this course you will have a much deeper understanding of how algorithms are classified and what the main problems in the academic study of computer science are. If you're interested in studying CS later on, this is a wonderful introduction into a world most high school students don't get to see until college!


Prerequisites
Ideally you should understand a little bit about programming in some language to take this course. If you don't, that's okay! Maybe you've written something in Visual Basic for class, or you've just written games on your calculator before. Even if you haven't, you'll pick up a lot as the course goes along.

C6263: Computer Building 101 Full!
Difficulty: **
Teachers: Joseph Lodin

Ever thought about building your own computer? Maybe the possibility of potentially saving HUGE gobs of cash is enticing, perhaps the prospect of playing Skyrim on MAXIMUM settings may lure you in, or maybe you’re just a hobbyist who’s curious about how to build a desktop computer.

In this class, we’ll go over the process of picking out the right parts for your specific needs, what those parts actually do in your computer, how to survive the interminable wait for your parts to arrive (curse you, Newegg 3-day shipping!), how to actually put the parts together once they DO arrive, and we’ll also go over some questions like “which operating system do I use” and “why is this actually way easier than I thought it would be.”

If you’ve ever considered building a desktop computer so you don’t have to deal with the painful process of owning a Dell or HP, or maybe just want to learn a thing or two about computers, this is definitely the class for you!


Prerequisites
A basic knowledge of computing would be good, like knowing the difference between a desktop and a laptop, but anyone should be able to get some good stuff out of this class. -IMPORTANT NOTE- This is just a crash course in the fundamentals of computing hardware, we’re only going over the basics - if you’re looking for a hardcore discussion on the merits of Intel vs. AMD or some other in-depth lecture, you probably won’t find it here. Find me after class if you want to duke it out over which graphics card is superior.

C6761: The Art of Security
Difficulty: **
Teachers: Patrick Lin

Hollywood has a flair for portraying hackers as people typing gibberish on 30 monitors simultaneously, breaking through technical sounding jargon and gaining access to important systems.

While real life may not work like that, the field of Cybersecurity is a fascinating one that involves a lot more than typing gibberish at a hurried pace.

Learn what real life hackers do to gain access to places and systems, and what the professionals who defend those do to keep the hackers out!

C6528: How to Make an Operating System
Difficulty: ***

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


Prerequisites
You should know how to program. If you don't know C, you might be a bit confused.

C6267: Not Everyone's a Programmer! Computer Majors/Careers in an Hour
Difficulty: *
Teachers: Joseph Lodin

So, you're a high school student who's interested in computers, right? You know you want to study them, but every counselor you talk to just tells you the same thing, "go into computer science!" 5 minutes of research online and you realize that no, computer science isn't right for you, you want to build and run servers, or sanitize databases, or work as a security analyst, or whatever!

In an hour, we're gonna go over a bunch of different majors and possible careers for computer hobbyists like you, so maybe now you can do your own research instead of letting your counselor or someone else tell you that CS is the only way to go.


Prerequisites
Having an interest in computers. :)

C6252: "Big Data": Programming Collective Intelligence
Difficulty: **
Teachers: Blake Elias

How does Google decide which web links are relevant to your search? How do sites like Netflix or Amazon recommend which movies you should watch or which products you should buy? How does Gmail decide which emails are spam, and (more recently) which emails are more important than the rest?

People solve problems like this with so-called "collective intelligence" algorithms. These algorithms are combinations of machine learning, artificial intelligence, and statistics. We'll look at some pretty simple ones that do cool things but aren't hard to code! The goal is to uncover some of the magic that seems to make these things work.


Prerequisites
- Programming experience in any language - Knowledge of algebra and trigonometry No knowledge of AI, machine learning or statistics is necessary; it will be explained as needed.

C6597: Cryptography
Difficulty: ***
Teachers: Daniel Epelbaum

This class will go over methods of cryptography since its invention. You will learn ways to hide secret messages and ways that people have uncovered those secrets.


Prerequisites
Geometry or any class involving mathematical proofs.

C6214: Robotic Maze Solving
Difficulty: **
Teachers: James McCabe

"What is robotic maze solving?" I am glad you asked! It is exactly what it sounds like - creating a robot that can find the end of a maze and remember the shortest path.

There will be algorithms, mazes, code, and of course a robot. What else could you want, cookies? There will be cookies too. It will be a-maze-ing!

C6250: Introduction to Programming with C++ for COMPLETE Beginners
Difficulty: **
Teachers: Yousif Rouben

An introduction to the fundamentals of coding:
syntax, defining functions, loops, data structures, pointers, recursion.

This class will introduce you to coding with very gentle examples and very clear explanations of the fundamental ideas mentioned above. The goal of this class is to allow you to learn what a book would teach you in days, within these few hours; minus the boredom and failing attempt to be interactive.

Although a lot of content is planned to be covered, most examples will be covered on the blackboards to give you enough time to absorb the content.

If you have questions, ASK!


Prerequisites
Laptops will be useful, but are not required. If laptops are brought, please install: Xcode (mac) or Visual Studio C++ (Windows).

C6763: Network Security
Difficulty: ***
Teachers: Patrick Lin

"Know thy enemy": In a world full of criminals trying to break into networked systems and try to steal information and gain power, learn what you can do to protect yourself from them. Delve into the world of Network Security, in which constant war erupts between those who try to break into network systems, and those who would defend them.

This class will run through descriptions of various network configurations that are vulnerable to attack, followed by techniques with which criminals attempt to attack them. The class will conclude with discussion into how to defend against these attacks.

Note that this class is not meant to teach you how to break into systems so you can then break into them! It is meant to teach you what potential attackers may do so you can protect yourselves from them.


Prerequisites
Some knowledge of Computer Networks (and Internet Architecture) helpful

C6225: Introduction to Character Recognition
Difficulty: **
Teachers: Tommy Chen

This is a class about teaching computers how to read. How does a camera record the license plate of a car moving 100 miles an hour? How does Google scan millions of pages into computer-readable text? How is it that you can find the translation of a Chinese character just by drawing it out on your iPad? We will discuss the processes and challenges in teaching a computer how to read, along with a wider look at how it affects the world.


Prerequisites
A bit of knowledge in computer science may help, but not at all required :)

C6389: Modern Programming Language Theory
Difficulty: ***
Teachers: Pavel Panchekha

Describes the various facets of modern programming language theory. Type theory, macro systems, safe computing, machine proofs, concurrency and parallelism, dynamism and extensibility, and similar are covered.


Prerequisites
Programming experience. Preferably in multiple languages.

C6702: Demystifying the Command Line
Difficulty: **
Teachers: Lars Johnson

Unleash your computer's hidden power by using the UNIX command line that underlies the Mac and Linux operating systems. Learn command-line syntax to speed up common tasks such as file management, data entry, and text manipulation. We will explore Unix from the ground up, starting with the basics of the command line and ending with to powerful, advanced tools.

You will be able to search your computer using regular expressions, quickly compare what has changed between two files, create simple secret codes, quickly convert units, and even write your own simple program, all using only a few commands on the terminal.


Prerequisites
Basic surface understanding of the computer filesystem (folders, etc.)

C6480: Smashing the Stack for Fun and Profit [Buffer Overflow Attacks Explained]
Difficulty: ***
Teachers: Russell Cohen

Ever wonder about what a buffer overflow attack actually is? How can we hack into a website with nothing more than a really long url?

In this class, we'll explore /exactly/ how buffer overflow attacks work and what we can do to prevent them. We'll do lots of demos, and if we have time, delve into other exploits, such as SQL and XSS injection.


Prerequisites
Some computer science experience -- knowledge of arrays, variables, basic programming

C6429: Collecting Computational Garbage
Difficulty: ***
Teachers: Adam Seering

Whenever you write a program, it needs this magical stuff called "memory" to do its work. When you create variables and objects, they use up memory. And when you're done with them, you just drop the objects on the floor and let the computer clean the memory up for you.

But how does the computer know that you're done? Where does the memory come from, and where does it go? It's not really magic. Back in the good ol' days, programs just got a big slab of memory and had to divvy it up themselves. Nowadays, your language probably handles all that for you. In this course, we'll see how.

This course will be lecture-based, though if you happen to have a laptop, there will be some C++ code examples for you to play with (obviously Splash can't be responsible for your laptop if you bring it to Splash, so keep that in mind if you decide to do so).


Prerequisites
Programming experience in Java or any higher-level programming language. This course will use (and teach) a little bit of C++.

C6696: Make A Computer! (On Paper)
Difficulty: ***
Teachers: Ben Horkley, David Xiao

1) Here's a transistor. 2) Take this class. 3) ??? 4) Computer! This class will take you through the basics of what makes a computer work, from the transistor level all the way up to putting it together into a basic processor. Learn what it takes an MIT class 2 months to cover in 3 hours!


Prerequisites
Knowledge of basic Boolean algebra (and, or, xor, etc.)

C6237: Build a billion dollar app for Windows 8 Full!
Difficulty: ***
Teachers: Tray Lewin

Did you know there are over a billion people using Microsoft Windows? That's a lot of people to sell your new Windows 8 app to! In this class we'll teach you how to build your first Windows 8 app. Then we'll show you how to keep the learning going after class so you can build your own amazing app and get it into the new Windows app store to try to make your first $1B! - No promises on getting rich though :-)


Prerequisites
Some experience and comfort with computer programming.

C6352: Programming with Alice. Full!
Difficulty: *
Teachers: Meghana Vuyyuru

Want to learn basic computer coding AND make a mini-movie? Learn how to do both here!

C6683: Introduction to Python Programming
Difficulty: **
Teachers: Sabrina Shemet

Always wanted to learn how to program but never knew how to start? Want to learn the programming language behind parts of YouTube, BitTorrent, and Civilization IV? Come learn Python, no prior experience necessary!

C6794: Introduction to C++
Difficulty: **
Teachers: Divakar Saxena

This course will teach you the basics of programming using C++. You don't need to have any experience with computers for this course, we will start in the simplest way possible. By the end of this class you will have a good understanding about programming.


Engineering

[ Return to Category List ]

E6358: Design and Build a Rocket Full!
Difficulty: ***
Teachers: Leonard Tampkins

Come learn about rockets. Then build and launch a rocket powered by an Estes motor.

E6451: How to Use a Slide Rule Full!
Difficulty: **
Teachers: Shaymus Hudson

Back in the day, when things were more hardcore, you couldn’t find an engineer or scientist without his or her trusty slide rule. Unlike the TI-whatever-they’re-up-to-now, slide rules are a purely analog method of calculation. Operating, not on batteries, but on the magic of logarithms, they can be used for multiplication, division, roots, powers, trigonometry, and more. We’ll talk about the history of the slide rule, and teach you basic and some advanced calculations. Bring your own if you’d like!


Prerequisites
Students should know the nature and properties of logarithms in order to take this class.

E6220: Environmentally Benign Design and Manufacturing
Difficulty: **
Teachers: Vrajesh Modi

After this class, you will be able to: (1) justify why environmentally benign design and manufacturing matters; (2) evaluate and compare the environmental impact of various products and technologies; and (3) recognize and challenge questionable environmental analysis. Format will consist of a 50-minute lecture on theory followed by a 60-minute discussion/exercise. Students will be divided into groups for the exercise.

E6359: SPACE!!! Full!
Difficulty: **
Teachers: Leonard Tampkins

Learn about all the known wonders of space, the solar system, the universe, and how to use rockets to get there.

E6371: Basics of 3D Printing
Difficulty: **
Teachers: Zachary Sherin

Ever wanted to have a model of your home in plastic? Can't find that last lego piece? Maybe you want to make a robot, but can't source the right parts?
Say hello to 3D printing!
Recently, the explosion of 3D printing as a cheap manufacturing method means amazing possibilities are at hand. I'll show you what 3D printing is, what it can make, and show you some examples of 3D printed objects!

E6499: How It's Made: Splash Edition
Difficulty: **

Have you ever wondered how the things you use every day were manufactured? Well, if you have (and even if you haven't), this is the class for you! We'll go over most of the major manufacturing processes that drive our world today, in addition to going through a couple of examples of how specific products are made.

E6255: Store 20,000 Volts in a water bottle Full!
Difficulty: **
Teachers: Ranbel Sun

Make a Leyden Jar capacitor out of a water bottle, aluminum foil, and some wire. Even though this is Splash, we'll attempt to make Sparks fly by charging and discharging our capacitors with static electricity. What's a capacitor you say? Well, come find out!

Please bring a disposable plastic water bottle (half liter or smaller) and a pair of socks to wear (wool if you have it).


Prerequisites
Have some knowledge of electrons and positive/negative charge.

E6752: Spectacular Engineering Failures
Difficulty: **

Come watch Youtube videos of structures that have failed spectacularly! After we watch bridges twisting and tearing and buildings toppling, we'll talk a little bit about why they failed so terribly and what the engineers could have done differently.

E6188: Heat and Mass Transfer
Difficulty: **

Would you like to solve the energy crisis, save the world, and be awesome? Interested in chemical engineering, mechanical engineering, thermodynamics, or improving efficiency? Who isn't? In this class, we'll go over what heat really is, where it goes, and how we can make it be less annoying.
Note: You don't actually have to save the world to come, but it never hurts.
Feel free to bring paper, pens, calculator, etc, but it won't be necessary.


Prerequisites
Some basic calculus

E6360: Satellites and Spacecraft
Difficulty: **
Teachers: Leonard Tampkins

Learn about satellites and spacecraft. Interact with demos in the Space Systems Laboratory.

E6626: Structural Engineering Disasters
Difficulty: **

In this class, we'll explore (and test!) how and who and what led to the destruction of several well known structures such as the Tacoma Narrows Bridge. The focus will be on structural engineering, and on the 'de-engineering' nature did to destroy these man-made projects. Come prepared to break things.

The Tacoma Narrows Bridge Disaster:
http://www.youtube.com/watch?v=gHgQALH9-7M&

E6686: Reverse Engineering
Difficulty: **
Teachers: Zach ., Vincent Lee

Reverse engineer something awesome!

E6787: Programmimg with Microcontrollers: The Basics of Arduino
Difficulty: ***

Microcontrollers are small computers that can be used to control hardware like LEDs, motors, latches, and much more. They are smaller than a "computer" like the one you use for writing papers and making presentations, but they are still capable of making exciting machines. In this class, we'll talk about the basics of microcontroller programming using the Arduino microcontroller as a mechanism for learning these concepts. Come ready to play with motors, LEDs, wires, and some programming!


Prerequisites
Basic programming knowledge helpful

E6490: How to build a go kart
Difficulty: **
Teachers: Ashley Brown

Ever wanted to build your own go kart? This course will teach you everything you need to get started!

E6355: Building Biology
Difficulty: **
Teachers: Atray Dixit

How to think like an engineer, but on one of the most sophisticated machines we know, the human body


Prerequisites
basic understanding of cell biology

E6725: Tsiolkovsky rocket equation
Difficulty: **

In this class, we will show you how to calculate the speed of the rocket by introduce the Tsiolkovsky equation, and then we will generalize it. Later, we will do some related problems in non-relativistic frame and relativistic frame, if we have enough time. A list of possible problems will be uploaded.


Prerequisites
Calculus

E6799: Filters and AM Radio
Difficulty: ***
Teachers: Aaron Epstein

Back in the day, radios were a primary means of entertainment and communication. Impress your elders by learning how they work. On the way, we'll talk about what frequency means mathematically and learn enough electrical engineering to build an equalizer.


Prerequisites
Understanding of Sin and Cos

E6323: Heat Transfer
Difficulty: **

An intro to thermodynamics and heat transfer. If you are interested in chemical engineering or anything similar, this is the class for you!

E6245: Intro To Nuclear Warfare: or How I Learned to Stop Worrying and Love the Bomb
Difficulty: **
Teachers: Matthew Vernacchia

Learn how nuclear explosives function, and how to design a nuclear strike on various targets. Watch cool videos of stuff blowing up! Also, we'll talk about some proposed-but-never-built "off-label" uses of nuclear explosives, such as canal digging and nuclear-bomb launched spacecraft.


Prerequisites
Some high school physics.

E6790: Computer Vision in an Hour
Difficulty: ***

Computer vision is a field that tries to build systems that can "see" much like our brains can. In this class we'll talk about some interesting results from the field and relate them to the vision systems in our brain. We'll talk about what the "important" information is in an image, what some big questions are in the field, and why some seemingly simple questions are hard to answer. We'll talk about why color is cool and why image blending is making the field of computer vision challenging.


Prerequisites
Know what a "Fourier transform" is (the mathematics aren't important - if you can understand that "a Fourier transform takes something from the time domain to the frequency domain", then you should be all set)

E6679: Physics of Flight
Difficulty: **
Teachers: Grant Iwamoto

Learn about what makes golf balls, baseballs, and paper airplanes travel through the air.

E6397: Introduction to Plane Crashes
Difficulty: *
Teachers: Mel H

How in the world can a pilot not notice that their plane is headed steadily towards the ground? What sorts of mechanical failures can cause a plane to crash? How can a pilot prevent a crash from getting deadly? Come hear stories of plane crashes and pilot error, and learn a little about flying along the way!

E6669: Basics of 3D Printing - Middle School Edition Full!
Difficulty: **
Teachers: Zachary Sherin

Ever wanted to have a model of your home in plastic? Can't find that last lego piece? Maybe you want to make a robot, but can't source the right parts?
Say hello to 3D printing!
Recently, the explosion of 3D printing as a cheap manufacturing method means amazing possibilities are at hand. I'll show you what 3D printing is, what it can make, and show you some examples of 3D printed objects! This course is middle school level, but there are two sections of high school level as well.

E6424: Physical Security
Difficulty: **
Teachers: Eric Van Albert

Learn the basics of how buildings are secured, and how security measures are easily defeated. Hands-on class covers flaws in building construction, locks + keys, alarm systems, and electronic authentication. Also includes a short lockpicking seminar.

E6272: Fun with Electronics Full!
Difficulty: **
Teachers: Prashant Patil

This will be hands-on workshop on basic electronics. Students will work with power supply, LEDs, switches, buzzers, motors and micro-controller. The course will conclude with a final project.

E6276: Quantum mechanics to web applications in two hours
Difficulty: **

We'll start at the bottom and work our way up at ludicrous speed.


Prerequisites
General scientific or computer knowledge will be useful.

E6797: The International Education Lab!
Difficulty: **
Teachers: Jessica Huang

Interested in helping to make education more exciting and relevant for youth around the world? Tired of how so much of our education is centered around test-taking, rather than what is relevant to daily life? Let's work together to make learning about creativity, empowerment, community, and inspiration! Come help D-Lab (http://d-lab.mit.edu) test and improve hands-on educational modules, which we will be teaching in India, Ghana, Brazil and elsewhere next January! In this interactive session, we'll work with you to design and build a few technologies that can be useful in rural communities with limited resources, and then we'll listen to you for suggestions on how we can improve the educational activities we're offering. We hope this will be a meaningful way for you to explore the field of international development, while contributing your own ideas to make a difference in international education!


Prerequisites
An open mind - we appreciate your patience since our activities are still in the trial phase, and value your feedback!

E6498: How It's Made: Splash Edition
Difficulty: **

Have you ever wondered how the things you use every day were manufactured? Well, if you have (and even if you haven't), this is the class for you! We'll go over most of the major manufacturing processes that drive our world today, in addition to going through a couple of examples of how specific products are made.

E6530: RC Planes
Difficulty: **
Teachers: Ben Sena

Come learn about factors in human controllability, field repair, and the details about how these birds fly.


Prerequisites
Basic understanding of physical forces and circuits.

E6661: Peanut Butter & Jelly Robotics Full!
Difficulty: *

Think you know how to make a PB&J sandwich? Well enough to explain it to an extraordinarily stupid robot? Then this class is for you. Work with your classmates to instruct a robot to make delicious sandwiches.

E6532: Homemade Wind Tunnel
Difficulty: ***
Teachers: Ben Sena

Come build a makeshift wind tunnel and perform basic tests with it.


Prerequisites
Understand basic physics and do some cursory reading on lift and drag if you need it.

E6672: Sensational Failures in Engineering
Difficulty: **
Teachers: Liza Plotnikov

Exploding space shuttles, collapsing bridges, exploding naval guns… sometimes designs fail, and sometimes they fail catastrophically. These failures can be dramatic, deadly, or sometimes just plain silly, but they have one thing in common: they are all preventable. In this class we’ll cover the technical missteps behind some famous engineering disasters (and some you may never have heard of). We’ll talk about how smart people can make bad designs, the importance of communication, and especially the value of common sense.

E6144: DIY Lightning: Build Your Own Singing Tesla Coil Closed!
Difficulty: **

Ever wonder how a Tesla coil works? Interested in how you can make 10'+ sparks, and how those sparks can play music? Want to build your very own Tesla coil? Then this class is for you!

We'll begin with a quick lecture on how a Tesla Coil works, from the bottom up. We'll then provide you with kits to build solid-state Tesla Coils that can make music, and we'll be there to assist you in building and debugging.

The end product is a 10" tall coil, capable of 15" sparks playing polyphonic music, or 2' sparks in spark-optimized mode. All necessary hardware will be provided - a pretty sweet deal, if you ask us!


Prerequisites
Previous experience in electronics (even if it's only soldering experience) is recommended. Knowledge of basic E&M recommended (e.g. do you know what a LC circuit is, and how it behaves?) More importantly than all that, however, is your interest and enthusiasm! Deep knowledge of physics is absolutely not necessary to enjoy the class.

E6190: So You Want to Be an Entrepreneur?: Introduction to Starting Your Own Business
Difficulty: **
Teachers: Netia McCray

Have you ever wondered how Apple was started? Pondered how someone can launch something as powerful as Facebook? Looking to become the World's Youngest Billionaire?

Then look no further than this Splash Workshop!

This Splash workshop will introduce participants to the process of developing an innovative idea and launching a business venture in order to commercialize that idea in the global marketplace.

Participants will begin to develop skills essential to developing innovative ideas into real-life devices and profitable start-ups through brainstorming and developing a business venture in during the course of the 3hr. workshop.

Even though we cannot promise that you will be the next Bill Gates, we can promise that no prior experience or knowledge is necessary for participating in this class. :)


Humanities

[ Return to Category List ]

H6570: Introductory Russian Full!
Difficulty: ***
Teachers: Pamela Alvarez

A basic introduction to the Russian language and the Cyrillic alphabet.


Prerequisites
Prior study of another foreign language helpful, but not required

H6260: Thinking Fast&Slow: Introduction to Cognitive Thought Full!
Difficulty: **
Teachers: Bryan Klickstein

If I asked you to solve the problem 2+2 you would instantly be able to tell me the answer is 4. If I made an obscene gesture in traffic you would not have to ask the passenger next to you in your car: What does that mean? You would just know. It wouldn’t require much if any difficulty. But what if I asked you to multiply 37 by 456? The answer is 16872 but I bet (unless you are a math wizard) that it didn’t come to you nearly as quickly as 2+2. In the same vein if I asked you to look at my face and determine if I were sad or just really tired it wouldn’t be nearly as easy as discerning the aforementioned obscene gesture. Why is this? Well I turns out there is a reason for all this. Our brains are split into two systems. System 1 operates quickly, automatically, and with no effort. It allows you to instantly discern that 2+2 is 4. System 2 is informed by System 1 but it focuses on more effortful mental activities—the ones that are not automatic like the second math problem above. Thus your brain is always thinking fast and slows at the same time and the two systems in sense divide the labor in your mind for the best overall performance. How well do they work together? What causes ease or strain on the systems? How much control do we have over the process? These are the kinds of questions that will be addressed in this course.

H6580: Paradoxes of Democracy: Fair Elections and Voting
Difficulty: *
Teachers: Stephen M. Hou

What if, in hypothetical two-way races during the 2012 primaries, Romney beats Santorum, Santorum beats Gingrich, and Gingrich beats Romney? Is this even possible? (Yes.) What would then be a fair way to decide the "best" preferences of Republicans? Whether it's a T-shirt design contest or a presidential election, voting converts preferences of individuals into a single preference for the community. We'll discuss Arrow's Impossibility Theorem, which states that there is no "perfect" way of doing so. We'll demonstrate a few of the mind-boggling flaws that every voting method must have.


Prerequisites
Comfort with arithmetic; interest in voting, political science, decision-making, and/or economics.

H6718: Conversational Arabic 101 Full!
Difficulty: *
Teachers: Annalise Pforr

Learn to speak Arabic in 50 minutes!
Seriously. No experience necessary.

We'll use Arabic news stations, music, film, and other media to give you a crash course introduction to spoken Modern Standard Arabic. By the end of class, students will be able to talk a little bit about themselves, their family, friends, and general interests.


Prerequisites
None

H6476: Performance Poetry@Splash: Writing Poetry Full!
Difficulty: **
Teachers: Mohammad Hossain

If you are offended by graphic language, themes of sex, drugs, violence, depression, and similar mature and adult themes, please don't take this class.

If you're looking for sex, drugs, violence, and depression, well you won't get those here either, BUT you will explore a medium that can convey feelings and thoughts about these things and more.

Performance poetry is simply poetry that is read out loud. It does encompass slam, but this class is not about being able to compete with other poets. Rather, the class will stimulate your creative minds into writing about anything in your daily lives or your world, putting it on paper and then if you're ready for it, on stage.

This class will guide you into writing some of your own poetry. You do not need to take the Performance Poetry@Splash: Performances section, but it is highly recommended, if only to watch your peers present their pieces. Ideally by the end of this class you will have some material to work on and get ready for that class.


Prerequisites
Maturity and a willingness to try new things.

H6453: NewsJack: Media Remixing for Great Justice
Difficulty: *
Teachers: Dan Schultz

NewsJack lets you rewrite the Internet. This course will teach about several easy-to-use remixing tools. By the end of it you'll create things as hilarious as the Onion, and more importantly you'll probably be more careful about what you read online.

H6184: Constitutional Intrigue Full!
Difficulty: **
Teachers: Sachi Hashimoto

The year was 1800, and Democratic-Republican Thomas Jefferson had just defeated Federalist John Adams in the presidential election. Adams only had a few weeks before Jefferson would take office, and so the Federalist-controlled Congress went to work, swiftly passing new legislation that would allow Adams to appoint new Federalist judges. John Marshall was to deliver the commissions the new judges, but time was too short and some went undelivered. William Marbury, one of the men who did not receive his commission, brought his case to the Supreme Court, of which Marshall was also the Chief Justice, arguing that he had a right to his commission, and asking the Court to order Jefferson to give it to him.

What was Marshall to do? On the one hand, if the newly established Supreme Court were to order Jefferson to give the commission to Marbury, it would likely be humiliated by Jefferson's refusal. On the other hand, he wanted both the Federalists and the Supreme Court to have more power in the government.

---

Take this class to find out how Marshall brilliantly handled the most dramatic case the Supreme Court has faced. Come learn the story of how the Supreme Court established itself and gained the power to interpret the Constitution and review acts of Congress.

H6232: Glorious Music
Difficulty: **
Teachers: Lance Ozier

Sure, you've heard of Beethoven and Bach. We'll start there, but move quickly to some of the most glorious classical music of the 20th century, including pieces by Orff, Stravinsky, Ravel, Respighi, Gershwin, Puccini and more!


Prerequisites
Interest in orchestral music.

H6801: Game Design Jam Full!
Difficulty: **
Teachers: Alex Chisholm

Do you want to design video games? Are you worried you don't have the technical skills to realize your vision? Not to worry! Game design and production teams are made up of talented individuals that include researchers, writers, artists, musicians, sound designers, and programmers, among others, each bringing a unique perspective and set of skills to the creative process. This hands-on non-technical concept design workshop will take you through a rapid-fire design process. We'll match you up with other students and help your team create a new game concept by the time you move on to your next Slpash session.


Prerequisites
Non-technical workshop. The only thing you need is an interest in video games and a desire to collaborate with others.

H6152: Dreams, Dreaming and the Subconscious Full!
Difficulty: **
Teachers: Carol Hardick

The brain is the most complex organism in the universe, and many psychologists have said that dreams are the door to the unconscious. Using a mix of neuroscience, psychology and humanities, this class is an introduction to a longer course, and will explore the different theories of sleep and consciousness, including where dreams come from and consider the psychology of the dream and the dreamer.


Prerequisites
none

H6581: Paradoxes of Democracy: Fair Apportionment
Difficulty: *
Teachers: Stephen M. Hou

Come learn ideas with applications in mathematics, economics,
engineering, and political science! What happens when perfectly fair division isn't possible? Say you and your two siblings inherit your parents' cattle ranch, but the number of cattle isn't a multiple of three. How do you split the cattle? At the national level, how do we apportion seats in the U.S. House of Representatives? If a state's population indicates that it deserves 7.23 seats, is it awarded 7 seats or 8 seats? Or maybe even 6 or 9? Interesting paradoxes in fair division will be shown. For example, can a state lose a seat if the size of the House is increased by a seat (and the populations of all states remain unchanged)? You'll see...


Prerequisites
Comfort with arithmetic; interest in voting, political science, decision-making, and/or economics.

H6780: Autism
Difficulty: **
Teachers: Joshua Frisch

Autism and other related diagnoses have dramatically increased in recent years. In this class we will discuss what Autism and the spectrum are, how autistic people think and how we vary from and are similar to non-autistic persons. The class will include a large Question/Answer session.

H6501: NaNoWriMo (aka Write a Novel* in 30 Days)
Difficulty: **
Teachers: Cathleen Nalezyty

Want to say you've written a novel? Want to say you've written a novel in a ridiculously short time-span of say, 30 days?

Come join us as we talk about what qualifies as a novel, the magic daily number, basic novelling tips, word padding, staying motivated throughout the month, and more!

Open to everyone, even if you've never even heard of NaNoWriMo before.

*Disclaimer: Not necessarily a class on how to write a "good" novel in 30 days.

H6552: Ethics
Difficulty: **
Teachers: Nathaniel Lathrop

Do you know right from wrong? Either way, do you enjoy arguing about it? Philosophers have been formulating ethical theories for millennia about the best way to live a good life, and what to do in tough situations. We'll look at the three biggest ethical schools in Western philosophy, (virtue ethics, deontology, and utilitarianism) and examine what they say about politics and personal morality.

H6285: Economics: Supply and Demand
Difficulty: **
Teachers: Zoe Thorkildsen

Come to this course for an introduction to basic economic principles like supply, demand, elasticity, and market structure.

H6376: Untie Those Knots in Your Stomach
Difficulty: **
Teachers: Peter Stidwill

Ever faced a really, REALLY tough choice in your life where there's no easy answer and wondered how to tackle it? Come play QUANDARY, a new web-based game that will take you on a journey through ethical thinking.

We'll investigate different moral dilemmas and ways of dealing with them, within both the game and our lives. As well as playfully introducing you to ethics, decision-making, and perspective-taking, we'll also work in teams to create new stories for the game, and test these out.

Maybe the next time you have a knot in your gut, you'll have some strategies to untie it.

H6356: A Practical Guide to Creative Writing
Difficulty: **
Teachers: Susan Shepherd

Learn about ways of approaching fiction writing from a practical perspective. Topics will include where to start and ways to start, genre conventions, the various ways to plot or structure a story/novel, the various approaches to revision (some people don't need it, some people do), and the twin myths that "Writing is Hard" and "There are Only 500 Professional Writers in America."

Special emphasis will be placed on ways of getting past a block, ways of making a character's voice distinctive, ways of writing your characters so that their reactions feel human and natural, and ways to set busy scenes so that readers don't lose track of important characters.


Prerequisites
Some basic understanding of terms like characters, setting, point of view, and conflict are useful. More complicated terms (genre, denouement, stage setting, etc.) will be explained in class. You do not need to take "Worldbuilding" or "The Changing World of Publishing" in order to take this class, but they may be useful depending on where you'd like to go with your writing.

H6230: How to Read a Poem
Difficulty: *
Teachers: Lance Ozier

Have you ever read a poem and wondered what the heck is going on? Or, as the poet T. S. Eliot once wrote, have you “had the experience but missed the meaning”? In this class you will learn eight simple techniques to help you make more sense of the poems you read.


Prerequisites
Interest in poetry and language

H6500: NaNoWriMo (aka Write a Novel* in 30 Days)
Difficulty: **
Teachers: Cathleen Nalezyty

Want to say you've written a novel? Want to say you've written a novel in a ridiculously short time-span of say, 30 days?

Come join us as we talk about what qualifies as a novel, the magic daily number, basic novelling tips, word padding, staying motivated throughout the month, and more!

Open to everyone, even if you've never even heard of NaNoWriMo before.

*Disclaimer: Not necessarily a class on how to write a "good" novel in 30 days.

H6543: Rethinking Gender
Difficulty: **
Teachers: Emily Matteson

Are "man" and "woman" the only two categories of gender? Can we, as a class, develop a better model of gender that describes a wider range of human experiences? If we stop thinking of gender as a binary, how does that change the way we talk about sexual orientation?

We'll work to answer these questions and more in this exciting and fast-paced class.

H6525: When noodles meet spaghetti
Difficulty: *
Teachers: Shiny Wang

Introducing the traditional chinese food (especially RAMEN and NOODLES) and comparing it with the westernised taste chinese food.

H6792: Speedy Delivery: An Introduction to Ethics, the Trolley Car Problem, and Why We Can't Have Nice Things
Difficulty: **

This class is an introduction to moral reasoning. It's the kind of class you might take as a first year law student. It's the kind of class that makes you question how rational people really are - if murder is ever justified - what 'justice' actually means and if and how it's different from "an eye for an eye."

In this class you will be called to analyze your own beliefs about responsibility, duty, justice, and the good life. Come prepared to be affected by what we discuss and uncover.

H6568: Screenwriting for the Scientist
Difficulty: *
Teachers: Brendan Reardon

Are you tired from staying up all night completing your problem sets and lab reports? Have you ever wanted to learn how to write a screenplay? In this three hour workshop, you will learn how to and write two short screen plays. All the while, we will discuss how science and storytelling benefit one another. (And I do not mean how awesome science fiction is)

H6544: Advocacy and Lobbying to Change the World
Difficulty: **
Teachers: Brock Adler

Is there a cause you are passionate about? Would changing laws or regulations, or having new government funding for your area of interest be useful? By joining together and advocating and/or lobbying with others, you can work towards accomplishing your personal, community, and societal goals. This session will give you (and your collaborators) a great start at being able to plan and carry out campaigns to create or change laws that you feel will improve things. You will learn about strategies and tactics applicable to a variety of different kinds of causes. I will use as an example an effort I have been working on for a few years to pass the Federal “No Child Left Inside Act” H.R. 2547 (see www.NCLIcoalition.org), but the lessons presented will be applicable to a wide variety of other issues and levels of government. We will spend much of the time helping you think about how to advance your causes or projects.


Prerequisites
Have a basic understanding about how laws are passed http://kids.clerk.house.gov/high-school/lesson.html?intID=17; do some thinking about what cause you are passionate about; and find out who your Congressional Representatives are at www.house.gov and www.senate.gov, and look up on their websites which committees they sit on.

H6396: Seasons of Arab: A Year in the Life of the Middle Eastern Revolutions Full!
Difficulty: **
Teachers: Charles Xu

The Arab Spring kicked off explosively in January 2011 with the unprecedented popular overthrow of Zine el-Abedine Ben Ali of Tunisia. The initial hopes of a unified revolutionary wave sweeping away the autocrats of the Middle East, and forging a harmonious liberal democratic order in their wake, long ago proved naive. Again and again, from the revolutionary cradle of Tunisia to the front lines of the Syrian civil war, the media paints a picture of a region either spiraling out of control or descending into an "Islamist Winter."

Can the Arab uprisings still deliver on their original promise? In this retrospective, we'll review how and why the Arab Spring took such different turns in different countries: fizzling out in the monarchies, installing an uneasy religious/military duopoly in Egypt, and delivering stinging rebukes of the Islamist trend in the unlikeliest of places, Libya. We'll evaluate the individual and collective performance of the emergent generation of post-revolutionary leaders. And looking to the future, we'll end by discussing the prospects for stable democracies to emerge from the current turmoil.

This class is mostly discussion-based and requires no background in current events coming in.

H6398: Game Design Jam
Difficulty: **
Teachers: Alex Chisholm

Do you want to design video games? Are you worried you don't have the technical skills to realize your vision? Not to worry! Game design and production teams are made up of talented individuals that include researchers, writers, artists, musicians, sound designers, and programmers, among others, each bringing a unique perspective and set of skills to the creative process. This hands-on non-technical concept design workshop will take you through a rapid-fire design process. We'll match you up with other students and help your team create a new game concept by the time you move on to your next Slpash session.


Prerequisites
Non-technical workshop. The only thing you need is an interest in video games and a desire to collaborate with others.

H6379: Designing Storyworlds Across Media
Difficulty: **

This class will explore the possibilities of "transmedia storytelling," a new term that describes how we are increasingly telling stories and building worlds across media.

The first half of the course will look at several case studies to understand recent cultural and creative practices across film, television, videogames, comics, and the web.

The second half will be dedicated to a "story jam," where you will form into smaller groups to develop your own transmedia extension for an existing franchise. Want to film a fake documentary on Bruce Wayne's Wayne Industries? Or create a graphic novel about a previous year of the Hunger Games? This is your chance to brainstorm and get started!

H6172: Introduction to Irish Gaelic
Difficulty: ***
Teachers: Jennifer Hogan

Dia duit! Conas tá tú? Tar isteach agus suí síos. Come learn the basics of the Irish language. We'll go over some basic grammar and handy phrases. You'll also learn how to pronounce seemingly impossible words, like neamhghníomhach. We'll have some craic (fun) while we're at it too!

H6461: Afghanistan: culture and cuisine
Difficulty: **
Teachers: Katy Peters

Culinary diplomacy: bringing you tasty treats, and a better understanding of the world, since the beginning of the spice trade. Get to know Afghanistan as more than just a national security question, and enjoy qabuli pulao, pomegranate, and boulani. There will definitely be tea.

H6121: The Commerce Clause
Difficulty: **
Teachers: Sachi Hashimoto

The Supreme Court made headlines this year for its decision in upholding the Affordable Care Act. It upheld the act's individual mandate, a mandate that requires almost all Americans to buy health insurance, on the basis that the government has the power to tax. The government's primary argument in support of the individual mandate was based on the commerce clause: a clause in the US constitution that says Congress has the power "to regulate Commerce with foreign Nations, and among the several States, and with the Indian tribes."

Why and how was the government arguing that health care is a form of commerce? What precedent did it have, and how strong was its argument? Why did the Court reject this argument? What could consequences of the Court's decision be in future cases?


In the first hour, we will examine the history of the commerce clause and how it came to be used to justify much of the last 70 years of legislation. In the second hour, we will talk about how it relates to the Affordable Care Act, and why the Court's decision was a brilliant political maneuver.

H6344: Poetry 101
Difficulty: **
Teachers: Valentina Chamorro

Get ready to snap your fingers to some great poetry! This class will introduce you to the basics of poetry as well as the edgier side of spoken word.

H6583: Introduction to Chinese Writing
Difficulty: *
Teachers: Stephen M. Hou

Chinese writing is unique among the world's major languages in that it uses thousands of characters as opposed to an alphabet with a few dozen letters. We will learn some basic characters, their organization and structure, the distinction between traditional and simplified scripts, calligraphic styles and typographical fonts, how new characters are created, how Chinese characters are used in the modern Japanese and Korean languages, and how Chinese is typed electronically. I will also discuss Chinese dialects and why the Chinese language did not (and will likely never) switch to an alphabetical writing system. About one-third of class time will be devoted to practicing writing characters by hand.


Prerequisites
This class is intended for students with very little or no previous experience with written Chinese, but previous study of any other foreign language is strongly recommended.

H6671: Catholic FAQ
Difficulty: **
Teachers: Georgina Dorminy

Did the media attention about the health care mandate spark you curiosity? Ever wondered what the Catholic Church actually teaches about contraception? Sex? Priestly celibacy? Transubstantiation? The Saints? Anything else? And does anyone even follow these teachings anymore?

In this class we will explore common questions about Catholic doctrine. Students will be able to choose from selected topics, or pose their own questions.


Prerequisites
Readiness for open discussion is a must. Students with any and all religious views and affiliations are welcome and encouraged to attend -- we'll have a better discussion if different views are represented!

H6254: From Hastati to Legions: Why the Romans Took Europe
Difficulty: *
Teachers: Mohammad Hossain

We will explore Roman military history with a technical analysis and breakdown of Roman units, technology, and strategy during the late Republic and early empire years. We will also take a look at their enemies and rivals namely the Gauls and the Carthaginians.

Part of the class will involve demonstration of these tactics and the effectiveness of certain units against others using the Rome: Total War engine.

H6445: The Politics of Rock & Roll
Difficulty: *

Analyze classic Rock n' Roll bands of the 20th century and learn how they were influenced by U.S. policy.

H6307: Once Upon a Time, The End: The art of incredibly short fiction.
Difficulty: *
Teachers: A L

A tear formed in my eye as I watched him pick out the peas from his carrots. He learned it from her.

That's it. A complete work of fiction in two sentences. Inventive writers are now crafting really short stories that can be surprising, intriguing and delightful. The fascinating genre of flash/sudden/micro fiction is all around us. In the form of cell phone stories, TV/radio commercials, web videos and other manifestations, highly compact stories can be humorous, thought-provoking, informative and much more. Come sample some microfiction and write your own in this workshop! Bring writing materials!


Prerequisites
Fluency in English preferred but not required.

H6664: How to plan and execute covert operations in deep cover
Difficulty: **

Learn the essentials of covert operations work. We will analyze the success and failure of many important covert operations in an attempt to discover the elements of a successful covert op. We will study important government-sponsored covert operations as well as terrorist plots and guerilla warfare. By the end of this class, students will be familiar with these operations and the reasons for their success or failure. We cannot legally claim that you will be sufficiently knowledgeable to plan and carry out your own covert operations after this class.

H6747: Mormon FAQ
Difficulty: *
Teachers: Hope Harrison

Mitt Romney, David Archuleta, and Thomas S. Monson: what do these people have in common? They are all Mormon. (members of the Church of Jesus Christ of Latter Day Saints) But what exactly do Mormons believe? In this class, we'll learn about the culture of Mormons, their history, and what their differences and similarities are to other Christian religions, and answer any questions you might have, especially in light of the Church's scene in current politics.

H6658: Robots! Space! Time! Stories!
Difficulty: *

Interested in science fiction, futuristic engineering, artificial intelligence or interplanetary empires? Ever wondered what would happen if people lived forever? What would happen if the world split in two every time you had to make a choice, and both options happened? What would happen if there was a center of time where time stood still?

Come read a few of the short stories of Isaac Asimov, one of the most prolific science fiction writers of all time and excerpts from the book Einstein's Dreams, which describes numerous different ways in which time could work. Come spend an hour devouring tales of robots, space, and time!

H6428: Ewww! Are You Really Going to Eat That? Full!
Difficulty: **
Teachers: Elizabeth Berg

Chicken is good to eat. Dog, not so much. But why is this the case? How has society decided what's appropriate to eat, and what's not? Come learn about "disgusting" food, and try some for yourself- if you dare!

H6507: Philosophy: An Introduction to the Problem of Free Will
Difficulty: **
Teachers: A B

The problem of free will touches on some of the most fundamental topics of philosophy: morality, science, the mind and the self, and how we believe the universe ultimately works. In a nutshell, the problem is this: can we be truly responsible for who we are? Or do the laws of physics, nature, and psychology "force" us into certain ways of behaving? How should this affect how we look at and deal with other people? How we think about ourselves? This course will offer an introduction to the three most popular general responses to these questions.

H6289: Introductory Romanian: The Forgotten Romance Language
Difficulty: **
Teachers: Zach Bunting

Come and learn the basics of the language spoken by Dracula, the tallest player in NBA history, the first Olympic gymnast to earn a perfect 10, the inventor of insulin injections, and the inventor of the jet plane! And if you are thinking of a future in IT, you should know that Romanian is considered the second most spoken language at Microsoft's Redmond, WA campus. Also learn some of the history of Romania and Moldova.

H6384: Gender, Orientation, and Sex-Positivity!
Difficulty: **
Teachers: Emily Matteson

Are "man" and "woman" the only two categories of gender? Can we, as a class, develop a better model of gender that describes a wider range of human experiences? If we stop thinking of gender as a binary, how does that change the way we talk about sexual orientation?

What does it mean to be sex-positive? How can talking about consent make people happier?

We'll work to answer these questions and more in this exciting and fast-paced class.

H6678: Dirty Greek and Roman Mythology
Difficulty: *
Teachers: Taylor Ayral

The time has come to remove Greek and Roman mythology from its lofty academic pedestal and bring it to the masses in the vernacular of modern times. Come enjoy this survey class on those SOB’s from the ancient pantheon. We will try to bring humor to those stuck up old stories you heard in middle school through the best use of foul language and dirty humor we can come up with. But don't worry, we won't be skimping on anything. This class will cover all the bad a$$ info that we talk about in the more tame class, we'll just be doing it a bit differently. And we would be infinitely pleased if you would join us.

H6365: Ender's Game and Good and Evil
Difficulty: *

Do you want to figure out what makes a person good? Do you like science fiction? Do you like philosophical discussions? Come discuss good and evil in intent and deed, through the lens of Ender's Game by Orson Scott Card.


Prerequisites
Have read Ender's Game (and preferably others of the series)

H6663: Impromptu Speaking
Difficulty: ***
Teachers: Kate Rudolph

Quick! You have two minutes to think about the topic I choose--and then you have to give a six-minute speech!

We'll talk about why this is a useful skill to have, and then learn how to work within this framework to write and present an interesting, organized speech under incredible time pressure. Finally, you'll try it out yourself!

H6759: Disney Movies: you be the psychiatrist
Difficulty: **
Teachers: Emily TenCate

Cruella de Vil is mean and has an inflated sense of self-importance: she's displaying symptoms of narcissistic personality disorder! Come diagnose your favorite Disney characters with personality disorders according to the DSM-IV!

H6547: Let's Talk about Sex Closed!
Difficulty: **
Teachers: Emily Matteson

Physical intimacy is complicated, and talking about it can be tough. That's why it's so important to be able to clearly communicate your needs and boundaries, and to understand why consent is more complicated than just a "yes" or a "no".

Sex-positivity is the idea that sexual behaviors are not inherently bad or shameful (and are not inherently good either). Instead, sex-positivity proposes that consent is the most important factor in whether a physically intimate activity is ok or not. In this class, we will talk about different forms of consent, including "enthusiastic consent", and we will discuss examples of effective and ineffective communication.

H6273: China and United States -- An Introductory of Comparative Literature Studies
Difficulty: *
Teachers: Jingshu Zhang

As the world becomes more and more international, an amalgamation of various cultural, historical, and political elements between the Eastern and Western worlds is unavoidable. Having taken, and excelled in comparative literature, Jingshu Zhang would like to offer a lecture on comparing the great books (novels as well as poetry) from China and the United States. Similarities as well as distinctive differences will be discussed. Deep cultural variances will be delineated, and strikingly intriguing comparisons will be made.

The teacher has taught this course across the United States (Michigan, Illinois, and New York), and has been widely acclaimed. Through the process of teaching, the teacher also learned a tremendous amount from the students, and has been constantly trying to improve his own teaching style and making the course more entertaining and also thought-provoking.

H6550: Life, Death, and Calvinball Full!
Difficulty: **
Teachers: Michael Pappas

Calvin and Hobbes is popularly viewed as one of the greatest comic strips of all time, but not just for the humor. In this class, we’ll explore many major branches of philosophy with the use of Calvin+Hobbes strips, discussing questions such as “How can you know something?”, “What does it mean to be good?”, and, of course, “What can we learn from Calvinball?”


Prerequisites
Willingness to participate - much of the class is devoted to discussion rather than lecture.

H6275: Icelandic 101 - A crash course in Icelandic
Difficulty: ****

Is it your life-long dream to be a viking and SPEAK like a true Norseman?

Do you want to learn how to actually pronounce "Eyjafjallajökull" (the volcano whose name struck fear in the hearts of reporters across the world)?

Do you think you have what it takes to learn one of the world's hardest languages?

If you answered "já" (e. yes) to any of those question or if you just really want to learn Icelandic, then take this crash course in Icelandic.

H6368: Worldbuilding 101 Full!
Difficulty: **
Teachers: Susan Shepherd

Are you in middle school or early high school? Interested in designing environments and societies for written fiction, films, or computer and tabletop games? If so, this is the class for you.

We'll start with examples of worldbuilding in media you may be familiar with, briefly discuss what worked particularly well (or badly) in those examples, and then we'll explore ways to create worlds of your own.

Topics will include how your worldbuilding methods will vary depending on the time period, tech level, the presence or absence of magic, and whether you're working within the limits of a fantasy, historical, or sci-fi world. We will also (briefly) discuss what to consider when creating new societies, new species, or entirely new worlds.

Special attention will be paid to alternate technology and to invented magic systems.

Worldbuilding 101 runs for the same length of time as Worldbuilding 299, but goes at a slower pace and involves somewhat more explanation. It also spends less time on how to create new species or aliens, since some of you might not have spent much time learning about ecology or cognitive science yet.


Prerequisites
1. An interest in history, mythology, and/or anthropology. 2. A willingness to ask crazy what-if questions – and figure out the equally crazy answers.

H6571: Introductory Latin
Difficulty: **
Teachers: Pamela Alvarez

A basic introduction to the Latin language


Prerequisites
Prior study of another foreign language helpful, but not required

H6330: Musket, Saber, Cannon: Napoleonic Era Warfare Full!
Difficulty: **

Why was Napoleon so successful? How did he dominate Europe with the French army? What were the forces at play in such battles as Austerlitz, Jena-Auerstadt, and Waterloo? This class examines the development of the French army from a collection of lackluster regiments serving Louis XVI to a seemingly invincible fighting force under Napoleon, as well as the strategy, tactics, operational methods, and willpower behind La Grande Armee and the other armies fielded by the other major powers, Austria, Prussia, Russia, and Great Britain, during the era. Topics covered will include the conduct of war, the roles of different arms, the impact of permanent army staff, and more.


Prerequisites
Interest.

H6349: The French electoral system
Difficulty: **
Teachers: Delphine Kaiser

In the light of tomorrow's elections, do you
want to understand how presidential elections work in other countries?
This class will go over the differences between the American and French electoral systems and the history of how and why the French system works as well as where it come from.

H6157: Writing/Wandering
Difficulty: *
Teachers: Alexander Cronis

We're going to be working with a style of writing which doesn't use an outline. We'll talk about great artists who use/used this process (Faulkner, Ken Burns, the creative team behind the Katamari games and others) listen to music, read some poems, do some free writing and discuss how this process works with regard to most forms of fiction (graphic novels, short stories, novels, etc.).

H6585: Introduction to Japanese
Difficulty: **
Teachers: Yuta Makita

Want to understand what you hear at sushi/japanese restaurants? Would like to learn some bits of another language? Listen in on this class for a crash course on some basic Japanese!


Prerequisites
None

H6310: Writing Better, Faster, Stronger
Difficulty: *
Teachers: Jess Lin

Have a hard time starting, editing, or giving feedback on essays? We'll do some exercises and play games to sharpen your writing chops.

Learn to:
- generate essay ideas
- tighten a sentence
- choose the right details to include
- and more...

We'll be focusing on personal essays -- essays about your experiences -- i.e. the type you might use for college admissions.


Prerequisites
English

H6153: Dreams, Dreaming, and the Subconscious in our culture
Difficulty: **
Teachers: Carol Hardick

The class introduces you to psychology, cognition and memory from the perspective of a sleeping brain, using an interdisciplinary approach of neuroscience, psychology and humanities. We also discuss how dreams and sleep are portrayed in film and literature, and the accuracy of it. The Harry Potter series and the movie, Inception, has lots of twists and turns and both raise questions about the brain, knowledge and artificial intelligence. What’s possible and what isn’t? Can an idea be planted in a person’s mind? Can two people share a dream? With lots of discussion, we’ll explore those questions, and more.

H6261: How to Teach Full!
Difficulty: **

You don't know something until you can teach it!

In this class, we will talk about the close link between teaching and learning and give you the tools to succeed both as an effective student and teacher. Whether you want to help your classmates or siblings, want to volunteer to teach younger students, or even go into a career as a teacher, this class will give you a basic foundation of the art of teaching.

H6201: The Secret Life of Isaac Asimov
Difficulty: *
Teachers: Phillip Seo, Zoe Snape

Did you know that in addition to his classic science fiction stories, Isaac Asimov also wrote joke books? And guides to Shakespeare and the Bible? And mystery novels? And three autobiographies? Come learn about this science fiction icon and some of this various works, from I, Robot to the popular science column he wrote monthly for over thirty years. There will also be time for discussing ideas in science fiction and literature.