
Splash! 2007
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Jump to Categories | |
|---|---|
| Computer Science | Hobbies |
| Liberal Arts | Mathematics |
| Performing Arts | Science |
| Social Science | |
Computer Science
| C489: Programming Video Games in C/C++ | Tim Balbekov , Alex Makkaveyev | |
|---|---|---|
|
Interested in video games? Want to make your own? Then join us in our two hour journey into recreating the 1970's classic, Pong. We will make the entire game, complete with artificial intelligence and special effects. In this class we will be using C++ and the game library Allegro. The library and the language are both cross platform, so your game will work on almost any system you can imagine. Familiarity with a programming language is STRONGLY encouraged — take a class at Splash on C/C++!
MATERIALS: You may wish to bring a laptop to follow along in class. Software and course files will be provided on CDs. If you use Linux/Mac/Vista, you may encounter problems installing the software in class — try to install the software beforehand. Instructions are available on the class website. *Prerequisites* Exposure to C/C++ encouraged |
||
|
Meeting Times
|
Grades:
9--12
Enrollment: Class is full! (max 15) |
|
|
Materials for this class include:
Presentation + Lecture Notes
Click here to view all 1 documents for Programming Video Games in C/C++ |
||
| C631: Introduction to Programming | Stephen Oney | |
|---|---|---|
|
This course will provide a brief introduction to programming using the Java language. Topics covered will be classes, methods, inheritance, syntax, and more! |
||
|
Meeting Times
|
Grades:
7--12
Enrollment: Class is full! (max 17) |
|
| C634: Reading and Writing in Binary | Shawn Westerdale | |
|---|---|---|
|
Learn the alphabet and how to read and write in binary code
01000010 01101001 01101110 01100001 01110010 01111001 00000000 01101001 01110011 00000000 01100110 01110101 01101110 |
||
|
Meeting Times
|
Grades:
9--12
Enrollment: Class is full! (max 25) |
|
| C636: How Computers Work: Software | Nelson Elhage | |
|---|---|---|
|
You probably know how to use a computer, and maybe even how to program
one in C, BASIC, Java, or python. But do you really understand how one works? Do you know what happens in the hardware when a computer first turns on? Exactly what role does the operating system serve, and how does it interact with your applications? We'll take a whirlwind tour through computing, learning about the layers of abstraction and complexity that build up to the software most of us use every day. |
||
|
Meeting Times
|
Grades:
9--12
Enrollment: Class is full! (max 20) |
|
| C637: A rapid introduction to the Lambda Calculus | Nelson Elhage | |
|---|---|---|
|
This will be a rapid introduction to the Lambda Calculus, a
theoretical model of computing originally proposed by Alonzo Church in the 1930s. We will explore how, starting from the barest primitive ideas, you can derive all the comutational power of a modern desktop computer! NOTE: This is not the calculus you've heard about in school! In fact, there are almost no numbers involved, and you don't need to know any math — just have a curiosity for some slightly abstract reasoning. |
||
|
Meeting Times
|
Grades:
10--12
Enrollment: Class is full! (max 20) |
|
| C648: Goal Oriented Machine Learning | Bo Morgan | |
|---|---|---|
|
Machine learning is a field of artificial intelligence that focuses on how computers can adapt or change as they are trying to accomplish goals. What are goals? What are methods for computers to learn to accomplish goals? Computers aren't very good at learning to accomplishing human goals yet: I'll discuss why and what you can do help program computers to learn to accomplish goals as complex as human goals! |
||
|
Meeting Times
|
Grades:
7--12
Enrollment: Class is full! (max 25) |
|
| C691: Introduction to Creative Synthesis | Matthew Hockenberry | |
|---|---|---|
|
The ideal of creative synthesis is that the process of creation is intellectually, mechanically, and socially a synthetic collaboration, frames our work. Humans are users of tools and, philosophically, the perceived uniqueness of this trait has defined our understanding of ourselves since the beginning of time. Tools have become increasingly complex, from a chipped stone ax to a web programming interface shared across millions. With rare exceptions everything we do, and everything we do it with, has been constructed by the collaboration and synthesis of thousands of others working before us. This class will attempt to understanding the social, technological, and philosophical implications of creative synthesis and the current trends of synthetic collaboration on the web. We will survey technology (and seeming untechnology) as examples of the acts and artifacts of creative synthesis. Coupled with this we will focus on understanding web programming as a medium for creative synthesis, and collaboratively construct a web application by focusing on what and why, with a little bit of how. *Prerequisites* Web familiarity. |
||
|
Meeting Times
|
Grades:
9--12
Enrollment: Class is full! (max 36) |
|
| C716: Computational Reflective Thinking | Bo Morgan | |
|---|---|---|
|
Some people say, “computers are not Conscious”. They are right, but why? We will unpack a few of the many meanings of this suitcase word, Conscious, and talk about the degree to which computer designs exhibit each of these simpler meanings. We will discuss how to begin to program a few of these different meanings. A novel field of computer science, called “Causal Reflective Programming,” will be briefly introduced in the context of modern artificial intelligence, neuroscience, and psychology. |
||
|
Meeting Times
|
Grades:
7--12
Enrollment: Class is full! (max 25) |
|
| C717: Computer Game Hacking: An Overview | Kenneth Schumacher | |
|---|---|---|
|
Interested in taking apart computer games and applications and bending them to your will? If so, this is the class for you. We will be briefly touching on many methods and tools used when “hacking” computer games. (Memory searching, hex editing, code injection, packet editing, patching, etc.) I will be available via email after the class for questions regarding any projects you decide to take on. *Prerequisites* Decent knowledge of Windows OS |
||
|
Meeting Times
|
Grades:
8--12
Enrollment: Class is full! (max 200) |
|
| C718: Misc. Computer Science Q and A | Kenneth Schumacher | |
|---|---|---|
|
Come to this class with any computer questions you could possibly have. (Please try to keep them fairly interesting, haha.) I am a life-long computer nerd and should be able to answer the majority of them; from types of RAID harddrive arrays to the Bittorrent and HTTP communication protocols to how DDoS attacks work. This class WILL end up going off on many tangents and will be a lot of fun. *Prerequisites* At least a basic understanding of computers |
||
|
Meeting Times
|
Grades:
9--12
Enrollment: Class is full! (max 25) |
|
| C720: How the Internet and Networks Work | Kenneth Schumacher | |
|---|---|---|
|
Ever wonder how a message you send from your computer is split up and makes it all the way to China in under quarter a second? We will be examining in detail how the internet and networks function. We will take a look at DNS servers, network setups, packet routing, switches, communication protocols, IP address allocation, preforming trace-routes, proxys, how schools filter web traffic, etc. It will be a lot of fun—sign up now! *Prerequisites* Basic understanding of computers. |
||
|
Meeting Times
|
Grades:
8--12
Enrollment: Class is full! (max 200) |
|
| C732: Document Similarity Measurement and Clustering | Stanislav Nikolov | |
|---|---|---|
|
Ever Google something and get dozens of annoying irrelevant topics that somehow relate to your query? How do you sort through the mess?
If you have an assorted group of articles, on various topics, how do you separate them into categories? More importantly, how would a computer do it? How does one measure how related two articles (or any textual document) are? With these tools among others, you can go forth and tackle the problem of making sense of the information overload that permeates everyday life. Are you up to the challenge? *Prerequisites* knowledge of vectors; some linear algebra for the more advanced topics would be helpful |
||
|
Meeting Times
|
Grades:
8--12
Enrollment: Class is full! (max 168) |
|
| C742: Advanced Java: Identity, Equality, and Reflection | Derek Rayside | |
|---|---|---|
|
Many data structures, such as hash tables, depend on you to implement the equals() and hashCode() methods correctly for your objects. Getting these right is tricky, especially when your code uses inheritance. This lecture will introduce you to an easy to use Java library that implements these for you, using reflection. *Prerequisites* working knowledge of Java, including inheritance |
||
|
Meeting Times
|
Grades:
7--12
Enrollment: Class is full! (max 36) |
|
| C745: Doing stuff with data | Derek Rayside | |
|---|---|---|
|
Almost all of the data you interact with is in one of four structures, and what you're doing with it is probably one of three different functions. Learn what these structures and functions are, and thereby have bigger and better thoughts about the data in your life.
The ideas in this lecture will explain and relate MP3 files, spreadsheets, databases, HTML, XML, social networks, etc. We'll use some spiffy websites like RememberTheMilk.com and DabbleDB.com. This lecture is intended for both programmers and non-programmers. No programming knowledge is necessary, and we will not be learning how to program. We're going to think big thoughts about data. PS: The structures are stream, table, tree, and graph. The functions are map, filter, and reduce. *Prerequisites* Familiarity with computers, the web, etc. Some capacity for abstract/geometrical thinking. |
||
|
Meeting Times
|
Grades:
7--12
Enrollment: Class is full! (max 61) |
|
| C746: Promiscuous Mode: Network Protocol Analysis | Harvey Yee | |
|---|---|---|
|
Do you want to be in Promiscuous mode? You may if you are a hacker or 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 curiosity |
||
|
Meeting Times
|
Grades:
7--12
Enrollment: Class is full! (max 15) |
|
| C756: Linux and You | Adam Seering | |
|---|---|---|
|
So, you've heard of this whole Linux thing. Maybe you're just a bit frustrated with Windows; maybe you've been scared off by Linux in the past. In this class I'll show you how to install Linux on your own computer and how to use it for basic stuff like word processing and games, and I'll also glance briefly at the Linux command line and some of the amazingly powerful things you can do with this operating system.
I'll be answering questions throughout the class and at the end I'll open it to general questions and discussion, so bring something to say! Each student will take home an Ubuntu Linux Live/Install CD. |
||
|
Meeting Times
|
Grades:
7--12
Enrollment: Class is full! (max 168) |
|
| C817: Concurrency and Parallel Programming | Dan Noe | |
|---|---|---|
|
While computers have grown faster for some time, current hardware developments are in the area of simultaneous processing, not single task execution. Additionally, high tech companies such as Google have scaled their technology through the use of massively parallel processing. This class will explore the advantages and pitfalls of parallel programming and concurrent execution, including a discussion of theory and techniques for synchronizing multiple tasks. No knowledge of specific computer languages is necessary, but the class will assume a basic familiarity with the workings of a computer. *Prerequisites* Basic knowledge of a computer |
||
|
Meeting Times
|
Grades:
9--12
Enrollment: Class is full! (max 61) |
|
| C820: Common Sense Reasoning for Artificial Intelligence | Catherine Havasi | |
|---|---|---|
|
When people communicate with each other, their conversation relies on many basic, unspoken assumptions. We often learn the basis behind these assumptions long before they can write at all, making the difficult for computers to learn. These assumptions underlie all forms of human communication from teaching, to giving directions, to ordering dinner at a restaurant.
A user who interacts with a computer interface, however, can become frustrated because the computer does not understand their goals and motivations. For human-computer interaction to become as fluent as communication between humans, computers need to be able to understand the user's basic, unspoken assumptions. These assumptions form the body of knowledge known as “common sense'' and we'll be discussing how it is collected and used by the AI research community. Linear algebra experience will helpful to demystify some of the algorithms discussed at the end of the class but is by no means required. |
||
|
Meeting Times
|
Grades:
10--12
Enrollment: Class is full! (max 39) |
|
| C841: Database-Backed Web Design | Jason Alonso , Adam Seering | |
|---|---|---|
|
So you've written an awesome webpage for the whole world to see! But you want something more than that: You want your friends to be able to post comments on your pages. You want people to be able to upload pictures, change content, even add their own pages to your site. In short: You want to know how to make a dynamic, database-backed website! In this class, we'll be looking at the Django web framework, using the Python programming language. *Prerequisites* Experience with HTML; programming Java, Python, or related |
||
|
Meeting Times
|
Grades:
9--12
Enrollment: Class is full! (max 20) |
|
|
Materials for this class include:
blog-20.zip,
blog-1.zip,
blog-21.zip
Click here to view all 23 documents for Database-Backed Web Design |
||
| C884: Natural Language Processing | Jason Alonso , Ken Arnold | |
|---|---|---|
|
It's well past 2001, and we still can't talk with our computers. Well, okay, we can tell our cell phones whom to call, dictate our papers to speech recognizers, and hear driving directions from the car GPS. Google can try to translate web pages. And cell phones predict what you wanted to type. How does this stuff work? We'll try to figure out how to make computers understand English. *Prerequisites* intermediate programming knowledge (read/write Python or similar languages) |
||
|
Meeting Times
|
Grades:
9--12
Enrollment: Class is full! (max 25) |
|
| C890: Photoshopping for Beginners | Tim Balbekov , Alex Makkaveyev | |
|---|---|---|
|
Want to create cool illusions with Adobe Photoshop? In this exciting class we will cover the basics of image manipulation in Photoshop. We'll do a series of small projects to familiarize yourself with some of the tools and functions of Photoshop. Some of the activities include erasing people, creating amusing road signs, and morphing imaginary animals.
IMPORTANT: Students will need to bring a LAPTOP capable of running Adobe Photoshop and a MOUSE. A 30 day trial of the software will be available at the beginning of class. |
||
|
Meeting Times
|
Grades:
9--12
Enrollment: Class is full! (max 20) |
|
| C903: Scratch - An Introduction | Paul Medlock-Walton | |
|---|---|---|
|
Make stories, games, and animations with Scratch, an easy to learn programming environment from the MIT Media Lab. |
||
|
Meeting Times
|
Grades:
7--9
Enrollment: Class is full! (max 20) |
|
| C911: Web App Programming with AppJet | J.D. Zamfirescu , David Greenspan , Aaron Iba | |
|---|---|---|
|
We will teach you how to build interactive web applications and give you a place to host them for free.
This class is a prerequisite for our other class, “Facebook App Programming with AppJet”. Some experience with programming and HTML is recommended. We will be using a new online programming tool called AppJet. AppJet is designed to make it really easy to write a hosted web application. With AppJet, you write your entire program using JavaScript. (For those in the know: AppJet runs your JavaScript on its servers and has a JavaScript object database). We will also provide free hosting at <yourchoice>.appjet.com. After taking this class, you might also want to participate in one of our “Laboratory in Web App Programming” sessions, where you can get more hands-on experience building web apps or facebook apps. See http://splash-info.appjet.com/ for the latest course updates and schedule. *Prerequisites* basic programming and HTML |
||
|
Meeting Times
|
Grades:
8--12
Enrollment: Class is full! (max 46) |
|
| C914: Introduction to Python | Eric Price | |
|---|---|---|
|
Ever wanted to learn how to program? I'll teach you [Python](http://python.org/), a clean and easy-to-learn language with all the power you need. |
||
|
Meeting Times
|
Grades:
7--12
Enrollment: Class is full! (max 30) |
|
| C915: Laboratory in Web App Programming | J.D. Zamfirescu , David Greenspan , Aaron Iba | |
|---|---|---|
|
These lab sessions complement the “Web App Programming with AppJet” and “Facebook App Programming with AppJet” classes.
In this lab, you can work in a group building web apps or facebook apps with AppJet. The three of us will be there to answer your questions. We will also provide a series of web programming challenge problems, and be available to give you hints and ideas along the way. During the last 10 minutes of each session, we will present and discuss successful solutions by students. If you have a laptop, please bring it. (We will try to provide some computers if we can.) <b>IMPORTANT NOTE:</b> Although the Splash catalog lists this class at one time frame, we will have the lab open most of the weekend! To see the schedule of lab hours, check http://splash-info.appjet.com/ . We will also be posting announcements there. Come hang out in the lab as much as you'd like, and we will help you get your web apps and facebook apps online! *Prerequisites* Web App Programming with AppJet (C911) |
||
|
Meeting Times
|
Grades:
8--12
Enrollment: Class is full! (max 42) |
|
| C916: Scratch Board -Scratch to the next level | Paul Medlock-Walton | |
|---|---|---|
|
Make your Scratch projects interactive using the Scratch Board, a circuit board with light, sound, and resistance sensors. *Prerequisites* Scratch - An Introduction or HSSP course "Creating Projects in Scratch" |
||
|
Meeting Times
|
Grades:
7--9
Enrollment: Class is full! (max 20) |
|
| C918: Facebook App Programming with AppJet | J.D. Zamfirescu , David Greenspan , Aaron Iba | |
|---|---|---|
|
We will teach you how to build Facebook Apps! We will also give you a free place to host them, using AppJet.
A Facebook account and some basic knowledge of programming and HTML are required, as well as attending the “Web Programming with AppJet” class (C911). (If you are an advanced programmer, you may be able to take this class without “Web Programming with AppJet”.) After taking this class, you might also want to participate in one of our “Laboratory in Web Programming” sessions, for additional help getting your Facebook app online. See http://splash-info.appjet.com/ for the latest course updates and schedule. *Prerequisites* Web App Programming with AppJet (C911) |
||
|
Meeting Times
|
Grades:
8--12
Enrollment: Class is full! (max 36) |
|
| C935: Learn Programming with Processing | J.D. Zamfirescu , Carlos Rocha | |
|---|---|---|
|
This class is all about teaching people who haven't programmed before how to use a cool graphical programming language called Processing.
We'll talk about what computers do, how they do it, and how *you* can make computers do what you want. Well, as much as we can get to in two hours. :) Bring a laptop if you've got one, but no worries if you don't! (And if you do bring a laptop — please install the latest version of Processing from http://www.processing.org/ ) |
||
|
Meeting Times
|
Grades:
7--12
Enrollment: Class is full! (max 30) |
|
| C937: What's the Internet all about anyway? | J.D. Zamfirescu | |
|---|---|---|
|
Have some programming skills but at a loss when it comes to TCP/IP? Come learn about how the nuts and bolts of the Internet work.
How does data get from one place to another? Who keeps track of it? How do webservers work? How does AIM work? E-mail? How does the Internet know who I'm sending an IM to? Answers to all these questions and more!! (And of course, bring your own questions too!!) *Prerequisites* Some programming experience helpful. |
||
|
Meeting Times
|
Grades:
7--12
Enrollment: Class is full! (max 40) |
|
| C949: Introduction to Programming with Haskell | Nelson Elhage | |
|---|---|---|
|
This is a class for students who are interested in computers, but who may have never programmed before. Using the functional language Haskell, we'll learn how to express computation, and write computer programs to do interesting things.
Haskell is one of the most advanced and powerful languages out there, but this class will aim to make it easy and approachable for you! No programming experience is required, but some background in math of at least algebra is useful. |
||
|
Meeting Times
|
Grades:
9--12
Enrollment: Class is full! (max 20) |
|
| C957: Purely Functional Programming in Haskell | Alex Schwendner | |
|---|---|---|
|
Are you familiar with programming in imperative languages such as C, Java, Perl, etc? This class is an introduction to programming with an entirely different way of thinking, using functional programming in Haskell. Features like lazy evaluation, algebraic data types, and type inference make writing code in Haskell more like writing math. We'll talk about paradigms to write general, powerful code quickly and elegantly using functional programming, and I'll try to convince you why Haskell is the most elegant and awesome programming language.
The main difference between this class and the one by Nelson Elhage is that this one is intended for students who are used to programming in imperative programming languages. *Prerequisites* computer programming experience |
||
|
Meeting Times
|
Grades:
11--12
Enrollment: Class is full! (max 36) |
|
| C980: Web App Programming with AppJet | J.D. Zamfirescu , David Greenspan , Aaron Iba | |
|---|---|---|
|
We will teach you how to build interactive web applications and give you a place to host them for free.
This class is a prerequisite for our other class, “Facebook App Programming with AppJet”. Some experience with programming and HTML is recommended. We will be using a new online programming tool called AppJet. AppJet is designed to make it really easy to write a hosted web application. With AppJet, you write your entire program using JavaScript. (For those in the know: AppJet runs your JavaScript on its servers and has a JavaScript object database). We will also provide free hosting at <yourchoice>.appjet.com. After taking this class, you might also want to participate in one of our “Laboratory in Web App Programming” sessions, where you can get more hands-on experience building web apps or facebook apps. See http://splash-info.appjet.com/ for the latest course updates and schedule. *Prerequisites* basic programming and HTML |
||
|
Meeting Times
|
Grades:
8--12
Enrollment: Class is full! (max 29) |
|
| C981: Web App Programming with AppJet | J.D. Zamfirescu , David Greenspan , Aaron Iba | |
|---|---|---|
|
We will teach you how to build interactive web applications and give you a place to host them for free.
This class is a prerequisite for our other class, “Facebook App Programming with AppJet”. Some experience with programming and HTML is recommended. We will be using a new online programming tool called AppJet. AppJet is designed to make it really easy to write a hosted web application. With AppJet, you write your entire program using JavaScript. (For those in the know: AppJet runs your JavaScript on its servers and has a JavaScript object database). We will also provide free hosting at <yourchoice>.appjet.com. After taking this class, you might also want to participate in one of our “Laboratory in Web App Programming” sessions, where you can get more hands-on experience building web apps or facebook apps. See http://splash-info.appjet.com/ for the latest course updates and schedule. *Prerequisites* basic programming and HTML |
||
|
Meeting Times
|
Grades:
8--12
Enrollment: Class is full! (max 43) |
|
| C984: Visualizing Our World: Ray Tracing and Computer Graphics | Daniel Zaharopol | |
|---|---|---|
|
The best computer images–those used in movies and high-quality renderings–come from a process known as “ray tracing,” literally the notion of following rays of light to see what colors your eye sees. We'll talk about the ideas and mathematics behind these pictures. If you know how to program, this class will prepare you to write your own raytracer to render 3-D images, but programming is not at all required. *Prerequisites* Algebra and geometry are highly recommended. Familiarity with 3-D geometry (like dot product and cross product) will be useful, but not required. |
||
|
Meeting Times
|
Grades:
7--12
Enrollment: Class is full! (max 45) |
|
| C985: Software Engineering | Jeremy Smith | |
|---|---|---|
|
This class is for people who know how to code but want to learn the practices and standards for software engineers. Topics covered will be abstraction, representation, modularity, specifications, testing, style, and more. *Prerequisites* Familiarity with Object Oriented Programming |
||
|
Meeting Times
|
Grades:
9--12
Enrollment: Class is full! (max 40) |
|
| C991: Introducing Artificial Intelligence as Problems of Knowledge | Dustin Smith | |
|---|---|---|
|
This is an introduction to the field of Artificial Intelligence. I will introduce the problem landscape using Knowledge as the backbone for asking and answering these questions:
- what is knowledge? - how do we evaluate knowledge? - how is it acquired (e.g., learning, inference)? - how is it represented (e.g., language)? - how is it used to solve problems? Students should have a strong interest in building intelligent machines. |
||
|
Meeting Times
|
Grades:
8--12
Enrollment: Class is full! (max 25) |
|
| C1006: The Wonders of Pi | Matt Hillin | |
|---|---|---|
|
The class is all about the greatest number ever “invented” - pi!! We will start with discussing exactly what pi is and a brief history of pi. Then we will discuss different ways to compute pi, and how pi shows up in your life every single day! *Prerequisites* Algebra, geometry, and trigonometry helpful, but anyone is welcome |
||
|
Meeting Times
|
Grades:
7--12
Enrollment: Class is full! (max 42) |
|
| C1007: Introducing Artificial Intelligence as Problems of Knowledge | Dustin Smith | |
|---|---|---|
|
This is an introduction to the field of Artificial Intelligence. I will introduce the problem landscape using Knowledge as the backbone for asking and answering these questions:
- what is knowledge? - how do we evaluate knowledge? - how is it acquired (e.g., learning, inference)? - how is it represented (e.g., language)? - how is it used to solve problems? Students should have a strong interest in building intelligent machines. |
||
|
Meeting Times
|
Grades:
8--12
Enrollment: Class is full! (max 25) |
|
| C1009: Scheming | Aviv Ovadya | |
|---|---|---|
|
An introduction to Scheme, a ridiculously flexible and powerful programming language.
This class is meant for people who don't know scheme (or other lisp variants). However, you should have some minimum programming experience - you should know what if statements and functions are. *Prerequisites* Basic programming experience |
||
|
Meeting Times
|
Grades:
9--12
Enrollment: Class is full! (max 15) |
|
|
Materials for this class include:
Lecture slides
Click here to view all 1 documents for Scheming |
||
Hobbies
| H475: The Crash Course Course… To Go | Jordan Persson | |
|---|---|---|
|
The Crash Course Course makes a brief comeback for Splash. Since we only have a weekend, the tricks taught will be quick and easy… but still cool as hell. You'll learn to psych out your friends and foes and how to make some neat gadgets with things found around the house.
Be sure not to miss the class loved by students and feared by law enforcement! |
||
|
Meeting Times
|
Grades:
8--12
Enrollment: Class is full! (max 40) |
|
| H491: Build Your Own Headphone Amplifier | Michael Price | |
|---|---|---|
|
I enjoy do-it-yourself (DIY) audio because you can build loudspeakers and electronics with immediate, enjoyable results. We can't build a pair of speakers in a short Splash class (wait until Spring HSSP for that); but we can start small. A headphone amplifier uses the same type of circuit building blocks as almost everything else, and it might noticeably improve the sound quality of your headphones.
I'll teach you some basic ideas about how circuits work, and how to build and test them using lab equipment at the MIT Edgerton Center. I'll demonstrate the role of filters in changing the tone of sounds, and how they're used to create accurate (or at least good sounding) speakers. Each of my brave students will receive a kit of electronic parts and documentation explaining the operation of the circuit, step by step. Then you'll build and keep a battery powered headphone amp. |
||
|
Meeting Times
|
Grades:
10--12
Enrollment: Class is full! (max 10) |
|
| H515: Imagine, Invent, Inhabit! | Haruka Horiuchi , Najiyah Edun | |
|---|---|---|
|
Students will learn about architecture and the environment in a hands-on way. We will investigate issues of sustainability, structure and creative problem-solving. Students will get the opportunity to design and build their own shelters out of completely recycled materials at full scale. *Prerequisites* enthusiasm! |
||
|
Meeting Times
|
Grades:
7--12
Enrollment: Class is full! (max 25) |
|
| H574: Rubiks Cube in 5 Easy steps! Class I | Weijian Chuah , Teerawut Wannaphahoon , Pangus Ho | |
|---|---|---|
|
Learn to solve a Rubiks Cube! This will be exciting - you never know you can solve one under 3 minutes unless you try! A two-hour workshop for a lifetime skill. Come learn and stun your friends! (We have Class I and Class II - choose the one that best fits your time. Please bring your cube if you have one) |
||
|
Meeting Times
|
Grades:
7--12
Enrollment: Class is full! (max 50) |
|
| H579: Baseball Statistics | Anthony Rindone | |
|---|---|---|
|
Baseball enthusiasts or newbies who want to understand the game better, this is for you. Previous statistics knowledge is not required.
Understand some of the simplest and oldest statistical measures (AVG, OBP, OPS, SLG %, etc.) to the more present and incredibly accurate measures (VORP, PE, Pythagorean Records, etc.) Some time will be spent on deriving a few of these, but most time will be spent on understanding why these are important, as well as identifying the “best” players, under rated/over rated players, and a few surprises. We will also do a managing simulation/competitions on a computer program near the end of the class. Students are encouraged to bring their own statistical inquiries (anything from “what does this mean on the back of my baseball card?” to “why do people care about Barry Bonds and the home-run record?” can be discussed in class.) |
||
|
Meeting Times
|
Grades:
8--12
Enrollment: Class is full! (max 36) |
|
| H587: Card Throwing | Kevin Hwang | |
|---|---|---|
|
Learn how to throw ordinary playing cards! *Prerequisites* wrists |
||
|
Meeting Times
|
Grades:
7--12
Enrollment: Class is full! (max 15) |
|
| H588: Card Throwing | Kevin Hwang | |
|---|---|---|
|
Learn how to throw ordinary playing cards! *Prerequisites* wrists |
||
|
Meeting Times
|
Grades:
7--12
Enrollment: Class is full! (max 15) |
|
| H593: The Delivery and Use of Pick-up Lines | Kevin Hwang | |
|---|---|---|
In this class, we'll take a look at a number of pickup lines, from the great to the very very lame, and figure out a couple of our favorites. We'll also talk about delivery, because not even the best pickup line in the world can cover poor delivery. No prior experience necessary. |
||
|
Meeting Times
|
Grades:
9--12
Enrollment: Class is full! (max 40) |
|
| H594: Homebuilt Hi-fi and Music Lounge | Michael Price , Laura Schuhrke | |
|---|---|---|
|
I'm an audio hobbyist - I like to build my own stereo systems from the ground up. In this short and informal “class” I'll present some of the equipment that I designed and built, in a guided show-and-tell. We will scratch the surface of some of the electrical and mechanical engineering concepts that go into these projects. You'll see what is involved in building gizmos like amplifiers and speakers yourself.
Then we'll sit back and enjoy some of your favorite music. Please bring CDs that you'd like to try, or a portable music player! |
||
|
Meeting Times
|
Grades:
7--12
Enrollment: Class is full! (max 40) |
|
| H596: Balloon Animal Workshop | Liza Plotnikov , Henry Robinson | |
|---|---|---|
|
Do you feel your life wasting away before your eyes due to your lack of balloon animal-making skills? I felt that way once. Then I learned to make balloon animals. Latex balloons are very easy to shape into all kinds of fun animals and various other crazy contraptions. The first half of the class will be spent learning to make some basic animals, while the second half will be devoted to creating anything you can imagine out of as many balloons as we can blow up. Come have fun making balloon animals with us and learn a little about why balloons behave the way they do.
Note: As mentioned above, the balloons we will be using are made of latex. If you are allergic to latex, please do not sign up for the class. |
||
|
Meeting Times
|
Grades:
7--9
Enrollment: Class is full! (max 15) |
|
| H597: Balloon Animal Workshop | Liza Plotnikov , Henry Robinson | |
|---|---|---|
|
Do you feel your life wasting away before your eyes due to your lack of balloon animal-making skills? I felt that way once. Then I learned to make balloon animals. Latex balloons are very easy to shape into all kinds of fun animals and various other crazy contraptions. The first half of the class will be spent learning to make some basic animals, while the second half will be devoted to creating anything you can imagine out of as many balloons as we can blow up. Come have fun making balloon animals with us and learn a little about why balloons behave the way they do.
Note: As mentioned above, the balloons we will be using are made of latex. If you are allergic to latex, please do not sign up for the class. |
||
|
Meeting Times
|
Grades:
10--12
Enrollment: Class is full! (max 15) |
|
| H598: Homebuilt Hi-fi and Music Lounge | Michael Price , Laura Schuhrke | |
|---|---|---|
|
I'm an audio hobbyist - I like to build my own stereo systems from the ground up. In this short and informal “class” I'll present some of the equipment that I designed and built, in a guided show-and-tell. We will scratch the surface of some of the electrical and mechanical engineering concepts that go into these projects. You'll see what is involved in building gizmos like amplifiers and speakers yourself.
Then we'll sit back and enjoy some of your favorite music. Please bring CDs that you'd like to try, or a portable music player! |
||
|
Meeting Times
|
Grades:
7--12
Enrollment: Class is full! (max 40) |
|
| H599: Homebuilt Hi-fi and Music Lounge | Michael Price , Laura Schuhrke | |
|---|---|---|
|
I'm an audio hobbyist - I like to build my own stereo systems from the ground up. In this short and informal “class” I'll present some of the equipment that I designed and built, in a guided show-and-tell. We will scratch the surface of some of the electrical and mechanical engineering concepts that go into these projects. You'll see what is involved in building gizmos like amplifiers and speakers yourself.
Then we'll sit back and enjoy some of your favorite music. Please bring CDs that you'd like to try, or a portable music player! |
||
|
Meeting Times
|
Grades:
7--12
Enrollment: Class is full! (max 36) |
|
| H614: Boffer Weapon Construction | Dan Yuan , Jacky Chang , Jonathan Losh | |
|---|---|---|
|
Tired of using a videogame controller to fight your battles? Come build a boffer weapon and be your own avatar! A boffer is a padded foam weapon constructed to strict safety standards used for fights in Live Action Role-Playing (LARPing) or just plain fun. In this class we will learn to build basic mid-length swords. If time permits, we may find a place to try out your creations.
Teacher's note: If you have attended this class before, please refrain from signing up so that others may try something new. Thanks! |
||
|
Meeting Times
|
Grades:
9--12
Enrollment: Class is full! (max 15) |
|
|
Materials for this class include:
Boffer Construction Handout,
Boffer Construction Handout (pdf)
Click here to view all 2 documents for Boffer Weapon Construction |
||
| H616: Star Trek: Irritation | Thomas Rozek , Mitchell Kelley | |
|---|---|---|
|
Why do they still use the Holodeck after so many malfunctions? Why are ensigns the only ones to be vaporized on away missions? And who ever thought Deep Space Nine was a good idea?
Star Trek: Irritation will give Trekkies a chance to spout off about what in the Trek universe gets their Heisenberg compensators out of whack. Come and talk in a supportive, therapeutic enviroment about everything that annoys you, from Starfleet's curious lack of spacesuits, to time travel, and Wesley Crusher. We will also be discussing Denebian slime devils, Kirk vs. Picard, and Chakotay…while exploring important topics like theology, the destiny of mankind, and Riker's beard. A firm grasp of the Star Trek universe is highly recommended. This class is for geeks and geeks at heart. |
||
|
Meeting Times
|
Grades:
9--12
Enrollment: Class is full! (max 20) |
|
| H622: How to Create a Language | Alyssa Kersting | |
|---|---|---|
|
Maid makta kian melkin dama? Dalketelanda majikoren kam'tja, nai'am!
(Why would you invent your own language? So you could write things like this, of course!) Come learn the fun art of conlanging! *Prerequisites* One year of any foreign language |
||
|
Meeting Times
|
Grades:
9--12
Enrollment: Class is full! (max 50) |
|
|
Materials for this class include:
Samples of Less Common Writing Systems (pdf),
IPA Chart,
Slide Show Presentation
Click here to view all 4 documents for How to Create a Language |
||
| H623: Boffer Weapon Construction | Dan Yuan , Kate Kuznetsova , Jonathan Losh | |
|---|---|---|
|
Tired of using a videogame controller to fight your battles? Come build a boffer weapon and be your own avatar! A boffer is a padded foam weapon constructed to strict safety standards used for fights in Live Action Role-Playing (LARPing) or just plain fun. In this class we will learn to build basic mid-length swords. If time permits, we may find a place to try out your creations.
Teacher's note: If you have attended this class before, please refrain from signing up so that others may try something new. Thanks! |
||
|
Meeting Times
|
Grades:
9--12
Enrollment: Class is full! (max 15) |
|
|
Materials for this class include:
Boffer Construction Handout,
Boffer Construction Handout (pdf)
Click here to view all 2 documents for Boffer Weapon Construction |
||
| H625: Beyond Paper Cranes | Pei Lin Ren | |
|---|---|---|
|
Paper cranes get boring after a while but there's more to this old origami model than you can imagine. Look at some of Sebanzaru Orikata's layouts for connected cranes and start on designing your own connected cranes. (BRING A PAIR OF SCISSORS— we will be violating some rules of origami) *Prerequisites* be able to fold a paper crane |
||
|
Meeting Times
|
Grades:
7--12
Enrollment: Class is full! (max 20) |
|
| H627: Make a Jayne Hat! (Firefly) | Jasmine Florentine | |
|---|---|---|
|
“A man walks down the street in that hat, people know he's not afraid of anything.”
If you're a fan of Firefly, then you probably want a shiny hat like Jayne Cobb's (and if you don't know what that is, google it or go re-watch episode 12.) Learn the basics for making a hat - knitting, reading patterns, making pom-poms, killing Reavers. No experience required. This class is listed as a one hour class, but it will continue past the end time for as long as you would like to stay around finishing your hat (no later than 11pm, though). For a fun supplement, also check out “Being a Browncoat 101 - An Intro to the Firefly 'Verse” |
||
|
Meeting Times
|
Grades:
9--12
Enrollment: Class is full! (max 8) |
|
| H628: Spraypaint Mural Workshop | Gabriel Cira | |
|---|---|---|
|
Learn to tag! This class will teach basic techniques and principles of spraypaint art. We'll provide Big paper and lots of Montana cans. Bring your creativity and wear clothes that you are not afraid to get a little dirty. |
||
|
Meeting Times
|
Grades:
9--12
Enrollment: Class is full! (max 25) |
|
| H635: Duct Tape Design | Nelson Elhage , Jessy McQuaw , Jacky Chang , Vikki Chou , Stephanie Bachar | |
|---|---|---|
|
Come learn how to make things out of duct tape! We will discuss techniques to construct just about anything out of that most wonderful and versatile of building materials — duct tape! And not just the standard fare — we'll also look at smaller, trickier things, that need more cleverness and finesse, like gloves. Bring your own tape if you've got it! |
||
|
Meeting Times
|
Grades:
9--12
Enrollment: Class is full! (max 200) |
|
| H642: The Art of Chain Mail | Jacky Chang , Jesse Ashcraft-Johnson | |
|---|---|---|
|
A long time ago, when things were more hardcore, people actually tried to kill each other with swords. Those who didn't want to be killed defended themselves with things like armor and chain mail. Come learn a few of the weaves they used for this, and a few that they didn't. You might even get to try out a few cooler things. |
||
|
Meeting Times
|
Grades:
10--12
Enrollment: Class is full! (max 15) |
|
| H645: Patrol | Liza Plotnikov | |
|---|---|---|
|
Travel to strange new classrooms. Meet interesting, unusual people, and kill them! Patrol is a high-action game of live combat with rubber-dart guns. Shoot your friends, then watch out as they try to take their revenge. Sponsored by the MIT Assassins' Guild
NOTE: Since this event is run by a separate student group at MIT, you will need a separate permission slip for it. Please print out the form found on the class website, have your parent/guardian sign it and bring it with you. You will not be allowed into the class otherwise. |
||
|
Meeting Times
|
Grades:
9--12
Enrollment: Class is full! (max 15) |
|
| H649: Poi Workshop (Beginner) | Benjamin Lu , Danbee Kim , Greg Echelberger | |
|---|---|---|
|
Top 10 Reasons to Spin Poi:
10. It's good exercise! 9. It makes people try really hard not to stare at you. 8. It lets you create complicated, technical patterns and fool people into thinking you can dance. 7. It lets you play with toys and fool people into thinking you can dance. 6. Why not? 5. It's the most fun you will ever have with a pair of socks. 4. It's an excuse to think about physics! 3. It's actually a great way to dance to music. 2. Procrastination. 1. It's an excuse to play with fire! For those of you that wanted a real explanation, go here: http://en.wikipedia.org/wiki/Poi_%28juggling%29 For those of you who think a YouTube video is worth 1000 Wikis, go here: http://www.youtube.com/watch?v=VCcLZUT81Lw *Prerequisites* At least one hand |
||
|
Meeting Times
|
Grades:
7--12
Enrollment: Class is full! (max 11) |
|
| H652: Automotive Engine Basics | Craig Wildman | |
|---|---|---|
|
This course will cover the basics of how an internal combustion engine works. We will disassemble a car engine and pass around parts to understand what they do and why they were made the way they were. Also, we will discuss relevant issues such as power, efficiency, and emissions. Some background on energy use and pollution will be mentioned as well. |
||
|
Meeting Times
|
Grades:
9--12
Enrollment: Class is full! (max 40) |
|
| H656: How to Draw Shiny Things | Andrew Geng | |
|---|---|---|
|
Come learn some basics of drawing shiny things! After we talk about some ways to make things look shiny, you'll have a chance to apply what you've learned. If you've always wanted to know how to draw water, glass, metal, or even the shiny buttons in Mac OS X, this class is for you!
I'll provide white paper and a few colored pencils, but feel free to bring your own art materials. |
||
|
Meeting Times
|
Grades:
7--12
Enrollment: Class is full! (max 30) |
|
| H657: How to Draw Shiny Things | Andrew Geng | |
|---|---|---|
|
Come learn some basics of drawing shiny things! After we talk about some ways to make things look shiny, you'll have a chance to apply what you've learned. If you've always wanted to know how to draw water, glass, metal, or even the shiny buttons in Mac OS X, this class is for you!
I'll provide white paper and a few colored pencils, but feel free to bring your own art materials. |
||
|
Meeting Times
|
Grades:
7--12
Enrollment: Class is full! (max 30) |
|
| H659: Magic 101 - Card Tricks | Kevin Brokish | |
|---|---|---|
|
Learn to perform mind-blowing card tricks! No experience necessary: we'll start with the basic, essential moves that are common to many tricks. Then we'll use those moves to perform some of the astonishing card tricks that professional street magicians do. |
||
|
Meeting Times
|
Grades:
7--12
Enrollment: Class is full! (max 10) |
|
| H660: Comics and Manga I: Design and Illustration | Jennifer Fu | |
|---|---|---|
|
Has your love for comics or manga inspired you to create comic-related art? Drawing for comics and manga often involves techniques and processes that are not immediately relevant to general drawing. Learn what it takes, whether you're drawing comic art for the first time, or you want to take your current skills to the next level. This class will discuss approaches to both sequential art and stand-alone pin-ups, ranging from basics such as anatomy and perspective, to comic-specific versions of topics such as line and form, composition, rendering, screentoning, color, and tools of the trade. We will also cover story-specific points such as character design and world-building. (NOTE: Although these techniques are applicable for most kinds of comics, this class will be taught with slightly greater emphasis on manga, or Japanese sequential art.) *Prerequisites* Some basic drawing experience (formal art class experience not required.) |
||
|
Meeting Times
|
Grades:
7--12
Enrollment: Class is full! (max 181) |
|
| H663: Comics and Manga II: Storytelling and Production | Jennifer Fu | |
|---|---|---|
|
Sequential art (also known as comics or graphic novels) is a rich and complex art form that involves more than just superheroes and giant robots. Learn how to turn comic-style artwork into living and breathing comic stories. This class is split into two one-hour focus sessions; the first centers on sequential art storytelling, including panelling, page composition, angle shots, and final effects such as lettering and rendering. The second session walks through the comic production process step-by-step, from the concept and storyboarding to the final product and beyond. (NOTE: Although these techniques are applicable for most kinds of comics, this class will be taught with slightly greater emphasis on manga, or Japanese sequential art.) *Prerequisites* Basic drawing experience suggested, but not required |
||
|
Meeting Times
|
Grades:
7--12
Enrollment: Class is full! (max 61) |
|
| H670: How to Grow Hair | Aleksandr Arkhipov , Paul Hlebowitsh , Rohan Agrawal | |
|---|---|---|
|
In this class we will go through the step by step process of how to grow hair. There will be cookies. And guitars. And ninjas. And robots. And ninja robots playing guitars while eating cookies. And a ridiculous, ridiculous amount of hair.
Note: This class may actually contain factual data. Maybe. | ||