The MIT Council on Educational Technology (MITCET) and the Office of Educational Innovation and Technology (OEIT) announced the winner and runners-up for the 2013 iCampus Student Prize competition at the Office of Digital Learning retreat held on May 17. The annual competition is offered each year to all current MIT undergraduates and graduate students (both individuals and groups) to encourage development of technology to improve aspects of MIT’s education and student life.

The grand prize was awarded to Aakanksha Sarda, a rising senior in the Department of Electrical Engineering and Computer Science (EECS), for her work on “WhichClass,” an online-exploration tool to aid students in planning their selection of classes. WhichClass will enable students to filter classes and visualize connections between classes within and across departments. In addition to its primary audience of students, the iCampus judges saw the potential of WhichClass to better understand the relationships between courses across departments. These insights are especially important as MIT continues to explore all aspects of digital learning. Sarda will continue developing WhichClass working with the OEIT in the fall. 

EECS junior Abubakar Abid received the runner-up award for the project he and his EECS teammates — sophomores Abdulrahman Alfozan and Aziz Alghunaim — developed, called “Lounge”: An electronic platform that speeds up and automates the on-campus housing process. Lounge also gives the dorms the flexibility to preserve individual dorm traditions. Abid, who accepted the award at the May 17 retreat, announced that Lounge has been used to successfully run Maseeh Hall’s Fall 2013 room assignment process. OEIT expects the Lounge team to continue to refine its software and work with more dorms for future implementation. 

The other runner-up project, titled “EduCase” was created by EECS graduate student Sara Itani and EECS senior Adin Schmahmann. Itani and Schmahmann described EduCase as the easiest, quickest and cheapest way to record video lectures — no cameraman, no hours wasted editing. A professor walks into a class, folds open his EduCase, and presses a button for a hassle-free-lecture-recording experience. The judges were very interested in the potential of EduCase to help streamline the process of recording lecture videos as MIT expands further into digital and online learning. OEIT will work with the EduCase team as they continue to develop the project.

Building on the entrepreneurial spirit of service exhibited by MIT students to solve the world’s problems, the iCampus Student Competition encourages projects that are developed to the point where MIT can adopt them for integration into its educational and student life programs. Support for the iCampus Student Prize comes from a fund endowed by Microsoft Research. 

“All the projects were simply terrific,” said OEIT Strategic Advisor for the Office of Digital Learning (ODL) and OEIT Director Vijay Kumar. “The iCampus Student Prize activity is a wonderful example of the innovative and creative engagement of our students in developing creative and constructive opportunities for the application of digital technology at MIT. This is particularly significant at a time when the MIT community is so deeply engaged in understanding the impact of these technologies on the future of teaching and learning at MIT.”

By EECS/Office of Educational Innovation Technology

Kids coding in the cloud

October 26, 2014

One of the most popular online destinations on the MIT network is not a website for scientists, engineers or college students, but an online community where kids learn to code.

Every day, thousands of young people, ages 8 and up, gather on MIT’s Scratch website, where they program their own interactive stories, games, animations and simulations — and share their creations with one another. They account for nearly 10 percent of all visits to MIT webpages. Translated into 50 languages, Scratch has become one of the world’s most popular ways for young people to learn to code.

This week, the MIT Media Lab launched a new version of Scratch, called Scratch 2.0, which moves the programming community into the cloud, so members can examine, experiment with and remix one another’s programs directly in the web browser, without any uploading or downloading.

As with earlier versions of Scratch, young people create computer programs by snapping together colorful graphical blocks. In Scratch 2.0, there are new blocks for creating new types of projects, such as online surveys and games that respond to real-world movements (by using webcams as sensors). Community members can also create their own custom blocks from existing blocks — and share their new blocks with others.

In developing Scratch 2.0, the Media Lab’s Scratch Team sought input from the Scratch community, which posted more than 3,000 suggestions and design ideas. For example, a debate between advocates of different graphics formats led the team to develop an integrated paint editor that combines bitmap and vector graphics.

Many people view coding as a narrow technical activity — a valuable job skill useful for only a small subset of the population — but Scratch aims to make coding accessible and appealing for everyone, says Mitchel Resnick, the LEGO Papert Professor of Learning Research at the MIT Media Lab and director of the Scratch Team. “Just as everyone should learn to write, everyone should learn to code,” he says. “The ability to code is an important part of fluency in the 21st century.”

In the Scratch community, young people see coding as a new means of expression, Resnick says: They combine art, music and programming scripts to create a wide diversity of projects, such as animated stories, virtual tours, science simulations, public service announcements, multimedia art projects, interactive tutorials and community newsletters. Since the launch of Scratch in 2007, its community members have shared more than 3 million projects on the website, with thousands of new projects added every day.

As young people create and share projects, they learn not only specific technical skills, but also broader strategies for solving problems, designing projects, communicating ideas and working collaboratively — valuable skills for everyone to have, Resnick says. “Scratchers aren’t just learning to code, they’re coding to learn,” he says.

Scratch is used in many contexts (homes, schools, libraries, community centers), at many age levels (from elementary school to college), and across many disciplines (math, computer science, language arts, social studies). Although designed primarily for ages 8 to 16, Scratch has been used in introductory computer science courses at some universities.

More than 1.5 million people have registered on the Scratch website, and many of them show a deep commitment to the community, Resnick says. As part of the transition to Scratch 2.0, the Scratch Team asked young members to submit projects on the theme of “Why Do You Scratch?” One of many responses came from a girl who had joined the community six months earlier.

“Scratch allows people to be creative on so many different levels. On Scratch, you can be anything, an artist, a programmer, a musician, a writer and so much more,” she wrote. “The very best thing about Scratch to me is the amazing, amazing community of people to work with. I love doing all sorts of [collaborations] with people, and I love seeing what others do as inspiration. The whole website and the ability to post projects and look at others easily is what really makes Scratch different from all other programming languages out there.”

By MIT Media Lab

It is difficult to provide a detailed and comprehensive picture of wireless network data performance in the real world. Although providers like AT&T and Verizon offer coverage maps on their web sites, there is no reliable source of end-to-end network performance across different providers and across a range of locations during different times of day.

CSAIL graduate students Victor Costan, Yu-han (Tiffany) Chen, Ravi Netravali, and Jonathan Perry are looking to build a network map by gathering information on wireless network performance through smartphone games, as part of new research underway in Professor Hari Balakrishnan’s Networks and Mobile Systems Group at CSAIL and Wireless@MIT. The games would drive players to certain locations where there is sparse information on network statistics in order to gather data.

From May 17 – May 19, the group will host a location-based, Android “Game-Jam,” a two-day event dedicated to bringing game developers together to build a host of mobile games that will aid in this research. The hosts are looking for game developers with experience in Android or web programming, graphic designers, and audio professionals to participate. The Game-Jam will start at 7:00 p.m. on May 17 at the Patil/Kiva conference room (32-G449) in the Stata Center, and will wrap up May 19 at 9:00 p.m. with prizes and awards. All members of the MIT community and beyond are invited to participate.

Once the event is completed, the games will be used to gather network performance statistics and build a comprehensive map of how the network behaves across different regions. The information will be useful in not only providing data on how the network operates for mobile phone and Internet providers, but also to provide a reliable source of information for researchers looking to improve wireless and mobile device connectivity.

“People will hopefully be able to get better performance because of this data,” Perry says. “Researchers can use the information for research on improving network reliability and performance, as it will provide data on data transport latency and throughput for cellular and WiFi networks.”

Users of the mobile games will be aware that the games are gathering information on network connectivity to be used in scientific research, but they will not have to expend any effort, beyond playing the game, in order to help gather information on network connectivity.

Participants are encouraged to express their creativity when developing games during the Game-Jam. Examples of different types of games that might be useful in gathering network statistics include games for individual players that set goals for players to achieve and social games that allow groups of players to collaborate or compete to achieve a common goal.
By Abby Abazorius | CSAIL

Shyamnath Gollakota, an MIT graduate who completed his doctoral research in Professor Dina Katabi’s Networks@MIT research group at CSAIL, has won the 2012 Doctoral Dissertation Award presented by the Association for Computing Machinery (ACM). Gollakota was honored for his work designing practical systems that transform wireless systems by embracing the phenomenon of interference and rendering it harmless.

Instead of trying to hide the interference that severely limits wireless systems, Gollakota used an alternate approach that successfully reconstructed the traditional packets of transmitted information. He then manipulated the interfering signals using innovative receiver designs that decode the WiFi collisions and improve security.

Gollakota, an assistant professor at the University of Washington, completed the dissertation at MIT, which nominated him for the award. He will receive the Doctoral Dissertation Award and its $20,000 prize at the annual ACM Awards Banquet on June 15 in San Francisco, Calif. Financial sponsorship of the award is provided by Google Inc.

In his dissertation, “Embracing Interference in Wireless Systems,” Gollakota presented ZigZag, the first WiFi receiver that successfully reconstructs the transmitted information in the presence of packet collisions. He also introduced TIMO, a WiFi receiver that decodes information in the presence of high-power cross-technology interference from other devices such as baby monitors, cordless phones and microwave ovens.

Gollakota’s practical approach also showed how to harness interference to improve security using wireless medical implants, which are susceptible to attacks over wireless channels. He developed the first system that provides confidentiality for implants’ transmissions. The system protects them against commands from unauthorized parties without requiring any modification to the implants themselves.

To make security easy for ordinary users, he introduced the first system that enables WiFi users to establish secure connections without any passwords or pre-shared secret keys. His idea was to construct a new secure message type that can neither be altered nor hidden without detection.

A graduate of MIT with Ph.D. and SM degrees in Electrical Engineering and Computer Science, Gollakota also earned a BA degree in Computer Science and Engineering at Indian Institute of Technology-Madras. He received two ACM SIGCOMM (Special Interest Group on Data Communication) Best Paper awards — in 2008 for ZigZag decoding, and in 2011 for securing medical implants. He also received the AT&T Applied Security Award for password-free wireless security.
By CSAIL

Shyamnath Gollakota, an MIT graduate who completed his doctoral research in Professor Dina Katabi’s Networks@MIT research group at CSAIL, has won the 2012 Doctoral Dissertation Award presented by the Association for Computing Machinery (ACM). Gollakota was honored for his work designing practical systems that transform wireless systems by embracing the phenomenon of interference and rendering it harmless.

Instead of trying to hide the interference that severely limits wireless systems, Gollakota used an alternate approach that successfully reconstructed the traditional packets of transmitted information. He then manipulated the interfering signals using innovative receiver designs that decode the WiFi collisions and improve security.

Gollakota, an assistant professor at the University of Washington, completed the dissertation at MIT, which nominated him for the award. He will receive the Doctoral Dissertation Award and its $20,000 prize at the annual ACM Awards Banquet on June 15 in San Francisco, Calif. Financial sponsorship of the award is provided by Google Inc.

In his dissertation, “Embracing Interference in Wireless Systems,” Gollakota presented ZigZag, the first WiFi receiver that successfully reconstructs the transmitted information in the presence of packet collisions. He also introduced TIMO, a WiFi receiver that decodes information in the presence of high-power cross-technology interference from other devices such as baby monitors, cordless phones and microwave ovens.

Gollakota’s practical approach also showed how to harness interference to improve security using wireless medical implants, which are susceptible to attacks over wireless channels. He developed the first system that provides confidentiality for implants’ transmissions. The system protects them against commands from unauthorized parties without requiring any modification to the implants themselves.

To make security easy for ordinary users, he introduced the first system that enables WiFi users to establish secure connections without any passwords or pre-shared secret keys. His idea was to construct a new secure message type that can neither be altered nor hidden without detection.

A graduate of MIT with Ph.D. and SM degrees in Electrical Engineering and Computer Science, Gollakota also earned a BA degree in Computer Science and Engineering at Indian Institute of Technology-Madras. He received two ACM SIGCOMM (Special Interest Group on Data Communication) Best Paper awards — in 2008 for ZigZag decoding, and in 2011 for securing medical implants. He also received the AT&T Applied Security Award for password-free wireless security.
By CSAIL

Finding a gecko in the crowd

October 26, 2014

Keeping track of individuals in an endangered population of animals is a cumbersome and time-consuming task.

Conservationists physically tag animals in the wild to better follow them over time. But tagging can be intrusive for many species, and difficult to accomplish in larger populations. As an alternative, scientists have photographed animals in their natural environments and catalogued the images, along with information such as individuals’ dimensions and geographic locations.

However, as images accumulate, picking out individuals from among thousands of pictures can be a monumental task. Sai Ravela, a principal research scientist in MIT’s Department of Earth, Atmospheric and Planetary Sciences, estimates that manually sifting through a catalog of 10,000 images can take one person 15 years.

“It’s an enormous amount of time,” Ravela says. “You’re reaching the edges of what people want to do with their lives.”

Now Ravela and his colleagues at MIT have developed computer software that automates much of the image-matching process. The system, which they’ve named SLOOP, sifts through thousands of images, using pattern-recognition algorithms to analyze features in each image, such as an animal’s arrangement of stripes or spots. The system then identifies an average of 20 most likely matches for an individual.

From there, the researchers turned to crowdsourcing, asking online users to pick the most similar pair. Based on such feedback, the system reorders the list, paring it down to fewer images likely to depict the same individual.

“It’s sort of like Google, in that you type in a search term and you get back potential matches, but ultimately you’re the judge of what’s the best match,” Ravela says. “It makes biologists’ lives a lot easier than having to go through an entire catalog.”

Ravela, along with undergraduates James Duyck and Chelsea Finn, are applying the system to various endangered and threatened species, including geckos, whale sharks and skinks. The group will present details of the system at the Mexican Conference on Pattern Recognition in June.

Beyond facial recognition

In recent years, pattern-recognition algorithms have mostly been developed for facial recognition, matching individuals by features such as eyes, noses and mouths. But Ravela says these algorithms are not sophisticated enough to parse out the enormous complexity in animal patterning.

“To distinguish an individual, like a salamander Bob from a salamander Jill, is tough,” Ravela says. “On the whole, the variability we see within species really tests our assumptions of what makes a good pattern-recognition algorithm.”

His group has developed multiple algorithms to identify matching patterns, including several that adjust for changes in an animal’s lighting, orientation and geometry, and other algorithms that overlay images, comparing the positioning of spots or stripes. The researchers use combinations of algorithms to match images, depending on a species’s particular features. 

A user can upload an image to the system, along with any accompanying information such as an individual’s weight, size and location. Depending on the type of animal being catalogued, the user performs a few simple additional steps, such as marking reference points like a lizard’s eyes, nose and shoulder. The system then takes over, using algorithms to adjust the image and ranking its similarity to the rest of the catalog’s images.

Animal tracking

The image-matching system is currently used by New Zealand’s Department of Conservation to track threatened populations of skinks — small lizards that, thanks to a recovery program, have multiplied in recent years. The species’s rebound, while a good sign, poses a more difficult tracking problem for conservationists as the population grows — a problem that SLOOP is helping to solve.

“We had reached the point where two-thirds of our monitoring effort was spent in front of the computer screen, and only one-third in the field directly monitoring the lizards,” says Andy Hutcheon, program manager for the Grand and Otago Skink Recovery Plan in New Zealand. “That’s a lot of eyestrain.”

Using the system, Hutcheon and his colleagues have quickly sorted out individuals from among more than 26,000 existing images. So far, they have found 15 cases in which human error incorrectly identified an individual as two distinct lizards. 

Ultimately, SLOOP may help scientists answer broader questions about animal behavior, such as on species’ breeding habits and migration patterns. For example, Hutcheon says the image-matching system has picked out at least six individuals among the entire population that have migrated between study sites, in some cases traveling up to several miles.

“Many New Zealand natives are characterized by lack of detailed data,” Hutcheon says. “New application of technology that can help us to understand their numbers and life history can only help with their conservation.”

Crowd conservation

Going a step further, Ravela’s team looked at the potential for crowdsourcing to further speed up the image-matching process.

As an experiment, the researchers posted thousands of images of salamanders, in groups of four, on Amazon’s Mechanical Turk, an online crowdsourcing marketplace. The researchers asked users to rank the images in order of similarity.

To “rate” a user’s ability, the system was programmed to know the answer to three of every four images. If a user correctly ranked these known images, the system accepted the user’s fourth answer. As incentive to participate, the researchers offered users a modest monetary reward for correct answers.

“We found about a third of the people who came were really good pattern-matchers,” Ravela says. “One guy had a 99.96 percent performance, and stayed for 3,000 comparisons.”

By combining computer-vision algorithms with crowdsourcing, the team is able to quickly identify image matches among thousands of photos with 97 percent accuracy. 

The researchers are now working to further automate the system. For example, Ravela’s students are developing algorithms that will automatically separate and outline an animal from an image background. The problem is a difficult one, as the system would have to distinguish between, for instance, a lizard’s leg and a nearby twig.  To solve these problems, Finn is developing matching algorithms using feature geometry, while Duyck is combining multiple pattern-matching algorithms to improve image-ranking.

“These are incredibly hard problems,” Ravela says. “On the other hand, doing these things manually is extraordinarily time-consuming. Is there a sweet spot between the two that allows us to solve real problems? That’s what SLOOP is trying to do.”

This work is supported by the National Science Foundation.
By Jennifer Chu, MIT News Office

Finding a gecko in the crowd

October 26, 2014

Keeping track of individuals in an endangered population of animals is a cumbersome and time-consuming task.

Conservationists physically tag animals in the wild to better follow them over time. But tagging can be intrusive for many species, and difficult to accomplish in larger populations. As an alternative, scientists have photographed animals in their natural environments and catalogued the images, along with information such as individuals’ dimensions and geographic locations.

However, as images accumulate, picking out individuals from among thousands of pictures can be a monumental task. Sai Ravela, a principal research scientist in MIT’s Department of Earth, Atmospheric and Planetary Sciences, estimates that manually sifting through a catalog of 10,000 images can take one person 15 years.

“It’s an enormous amount of time,” Ravela says. “You’re reaching the edges of what people want to do with their lives.”

Now Ravela and his colleagues at MIT have developed computer software that automates much of the image-matching process. The system, which they’ve named SLOOP, sifts through thousands of images, using pattern-recognition algorithms to analyze features in each image, such as an animal’s arrangement of stripes or spots. The system then identifies an average of 20 most likely matches for an individual.

From there, the researchers turned to crowdsourcing, asking online users to pick the most similar pair. Based on such feedback, the system reorders the list, paring it down to fewer images likely to depict the same individual.

“It’s sort of like Google, in that you type in a search term and you get back potential matches, but ultimately you’re the judge of what’s the best match,” Ravela says. “It makes biologists’ lives a lot easier than having to go through an entire catalog.”

Ravela, along with undergraduates James Duyck and Chelsea Finn, are applying the system to various endangered and threatened species, including geckos, whale sharks and skinks. The group will present details of the system at the Mexican Conference on Pattern Recognition in June.

Beyond facial recognition

In recent years, pattern-recognition algorithms have mostly been developed for facial recognition, matching individuals by features such as eyes, noses and mouths. But Ravela says these algorithms are not sophisticated enough to parse out the enormous complexity in animal patterning.

“To distinguish an individual, like a salamander Bob from a salamander Jill, is tough,” Ravela says. “On the whole, the variability we see within species really tests our assumptions of what makes a good pattern-recognition algorithm.”

His group has developed multiple algorithms to identify matching patterns, including several that adjust for changes in an animal’s lighting, orientation and geometry, and other algorithms that overlay images, comparing the positioning of spots or stripes. The researchers use combinations of algorithms to match images, depending on a species’s particular features. 

A user can upload an image to the system, along with any accompanying information such as an individual’s weight, size and location. Depending on the type of animal being catalogued, the user performs a few simple additional steps, such as marking reference points like a lizard’s eyes, nose and shoulder. The system then takes over, using algorithms to adjust the image and ranking its similarity to the rest of the catalog’s images.

Animal tracking

The image-matching system is currently used by New Zealand’s Department of Conservation to track threatened populations of skinks — small lizards that, thanks to a recovery program, have multiplied in recent years. The species’s rebound, while a good sign, poses a more difficult tracking problem for conservationists as the population grows — a problem that SLOOP is helping to solve.

“We had reached the point where two-thirds of our monitoring effort was spent in front of the computer screen, and only one-third in the field directly monitoring the lizards,” says Andy Hutcheon, program manager for the Grand and Otago Skink Recovery Plan in New Zealand. “That’s a lot of eyestrain.”

Using the system, Hutcheon and his colleagues have quickly sorted out individuals from among more than 26,000 existing images. So far, they have found 15 cases in which human error incorrectly identified an individual as two distinct lizards. 

Ultimately, SLOOP may help scientists answer broader questions about animal behavior, such as on species’ breeding habits and migration patterns. For example, Hutcheon says the image-matching system has picked out at least six individuals among the entire population that have migrated between study sites, in some cases traveling up to several miles.

“Many New Zealand natives are characterized by lack of detailed data,” Hutcheon says. “New application of technology that can help us to understand their numbers and life history can only help with their conservation.”

Crowd conservation

Going a step further, Ravela’s team looked at the potential for crowdsourcing to further speed up the image-matching process.

As an experiment, the researchers posted thousands of images of salamanders, in groups of four, on Amazon’s Mechanical Turk, an online crowdsourcing marketplace. The researchers asked users to rank the images in order of similarity.

To “rate” a user’s ability, the system was programmed to know the answer to three of every four images. If a user correctly ranked these known images, the system accepted the user’s fourth answer. As incentive to participate, the researchers offered users a modest monetary reward for correct answers.

“We found about a third of the people who came were really good pattern-matchers,” Ravela says. “One guy had a 99.96 percent performance, and stayed for 3,000 comparisons.”

By combining computer-vision algorithms with crowdsourcing, the team is able to quickly identify image matches among thousands of photos with 97 percent accuracy. 

The researchers are now working to further automate the system. For example, Ravela’s students are developing algorithms that will automatically separate and outline an animal from an image background. The problem is a difficult one, as the system would have to distinguish between, for instance, a lizard’s leg and a nearby twig.  To solve these problems, Finn is developing matching algorithms using feature geometry, while Duyck is combining multiple pattern-matching algorithms to improve image-ranking.

“These are incredibly hard problems,” Ravela says. “On the other hand, doing these things manually is extraordinarily time-consuming. Is there a sweet spot between the two that allows us to solve real problems? That’s what SLOOP is trying to do.”

This work is supported by the National Science Foundation.
By Jennifer Chu, MIT News Office

Since at least the late 19th century, when John Dewey opened his experimental Laboratory School at the University of Chicago, experiential learning — learning by doing — has had strong proponents among educational theorists. In MIT’s Department of Electrical Engineering and Computer Science (EECS), the influence of experiential-learning theory can be seen in several courses in which each student spends the entire semester working on a single programming project.

Even such project-based classes, however, miss aspects of the experience of commercial software development. “If you go to work at Microsoft, for example, you’re going to be handed code with 30 years of history, and you have to be able to quickly get up to speed, navigate hundreds of thousands of lines of code and then build on top of it, often without access to the people who originally wrote it,” says Ted Benson, a PhD student in EECS, who before coming to MIT worked for three years as a commercial software developer. “And then you need to make your contributions in a way where, 30 years later, other people can do the same.”

This spring, Benson and his thesis advisor, professor of computer science and engineering David Karger, created a new course in which rather than developing small projects from scratch, students participate in large, ongoing, open-source-software development initiatives, mentored by industry professionals. And as is the case with much modern commercial software development, they collaborate online with geographically dispersed colleagues — in this case, their fellow students at some 15 universities around the world.

The consortium of universities, and their joint open-source development projects, were the brainchild of Jay Borenstein, a lecturer in computer science at Stanford University. Borenstein got funding from Facebook, convened a working group of educators — including Karger — to design courses and other educational initiatives around development projects, worked with members of the open-source-software community to identify outstanding problems, and recruited the industry mentors.

Baptism of fire

Not only does working on real development projects impart practical skills that are difficult to acquire in a conventional classroom setting, Benson says, but it also engages the students in a way that readings and problem sets rarely do.

“There’s this age-old question for any teacher, which is how do you motivate the students to really buy into what they’re learning,” Benson says. “They’re fixing bugs and adding features to software that will touch millions of users. And when that’s your homework, it’s completely different. I’ve had students give me high-fives when they come in to report that they’ve finished something.”

One group of students, for instance, is helping repair a deep-rooted problem with the popular web-development framework Ruby on Rails. Frequently, tasks executed by commercial sites need to be processed as “transactions,” meaning that either all the aspects of the task are executed or none are: You wouldn’t want, say, a travel site charging you for one leg of a trip when it couldn’t find a return flight. Ruby on Rails had a bug, however, that meant that sometimes, failed transactions left program code out of sync with the database. MIT students are helping fix it. Another group is helping to develop a monitoring tool for the open-source database application MongoDB, so that application users can tell what types of queries the database is receiving and which servers are processing them.

Software studio

The design of the course — the Open Source Software Project Lab, or 6.S194 in MIT’s course-numbering scheme — borrows elements from both the studio critiques typical of architecture courses and the residency model used in medical schools, Benson says. At the beginning of the semester, students were presented with the nine projects identified by Borenstein. On the basis of their personal preferences, they were sorted into five teams, with each assigned to a different project with a different mentor.

On Mondays, Benson lectures, often tailoring his subject matter to questions raised by the students’ recent work. Every Wednesday, teams present their ongoing work to the rest of the class, explaining their approaches, inviting criticism and prompting general discussion of programming principles and philosophies.

Otherwise, the students work chiefly with each other, with their collaborators at the other schools, and with their mentors. Every week, each team meets with Benson for 20 minutes to describe the next stage of its project and report its progress on the previous stage. “They learn that a very valid thing to accomplish in a week is thoroughly understanding a particular technology and coming up with a plan for how you might use it,” Benson says. “Sometimes learning is their assignment.”

When students have completed work on a particular section of code, they log it into the open-source project’s online code repository, where Benson can, if he chooses, review it to see if it accords with the weekly progress report. Sometimes, indeed, he has found that it doesn’t — but in an unexpected way. “I have had to go to some students and say, ‘Give yourself credit for this!’” Benson says. “You did far more work than I would have expected you to this week.”

Scaling up

That kind of individual attention, Benson acknowledges, is possible mainly because the MIT class, in its inaugural session, is intentionally small — only 11 students. One of the questions that he and Karger spend a lot of time discussing is how to preserve its advantages while increasing its size. One possibility is to assign the students to more homogeneous projects — to have them all, for instance, work on different aspects of a single open-source application, such as Mozilla’s Firefox.

Another possibility is to introduce tiers of instruction, where some of the regular evaluation and feedback is provided by upperclassmen who have already taken the course. A peer mentorship program, Benson says, could be modeled on MIT’s celebrated Undergraduate Research Opportunity Program, in which undergraduates perform original research for either course credit or stipends. Or Benson and Karger might use some other recruitment mechanism altogether. “Some of the students seem to enjoy this so much that I wouldn’t be surprised if they would volunteer to do it,” Benson says.

Aaron Patterson, a senior software architect at AT&T and one of the student mentors, says that he would definitely participate in the course again, but that he could use some more help. “It’s a lot of work,” he says. “Next time, I would try to involve more people as mentors or reduce the number of students I have.”

Patterson doesn’t believe that programs like the Open Source Software Project Lab will supplant the conventional computer science curriculum, but he does think that they complement it. “The textbook background is important for long-term development, but I don’t think textbooks prepare you for how to apply those techniques to real-world software,” he says. “Techniques I learned in school were extremely helpful, but didn’t prepare me for dealing with — frankly — bad code from the real world.”

And with the Open Source Software Project Lab, he says, the students have more to show for their work than a stack of graded problem sets. “Overall, the students are making extremely valuable contributions,” he says. “The work being accomplished via the students I’m working with is greater than I could accomplish on my own.”
By Larry Hardesty, MIT News Office

Since at least the late 19th century, when John Dewey opened his experimental Laboratory School at the University of Chicago, experiential learning — learning by doing — has had strong proponents among educational theorists. In MIT’s Department of Electrical Engineering and Computer Science (EECS), the influence of experiential-learning theory can be seen in several courses in which each student spends the entire semester working on a single programming project.

Even such project-based classes, however, miss aspects of the experience of commercial software development. “If you go to work at Microsoft, for example, you’re going to be handed code with 30 years of history, and you have to be able to quickly get up to speed, navigate hundreds of thousands of lines of code and then build on top of it, often without access to the people who originally wrote it,” says Ted Benson, a PhD student in EECS, who before coming to MIT worked for three years as a commercial software developer. “And then you need to make your contributions in a way where, 30 years later, other people can do the same.”

This spring, Benson and his thesis advisor, professor of computer science and engineering David Karger, created a new course in which rather than developing small projects from scratch, students participate in large, ongoing, open-source-software development initiatives, mentored by industry professionals. And as is the case with much modern commercial software development, they collaborate online with geographically dispersed colleagues — in this case, their fellow students at some 15 universities around the world.

The consortium of universities, and their joint open-source development projects, were the brainchild of Jay Borenstein, a lecturer in computer science at Stanford University. Borenstein got funding from Facebook, convened a working group of educators — including Karger — to design courses and other educational initiatives around development projects, worked with members of the open-source-software community to identify outstanding problems, and recruited the industry mentors.

Baptism of fire

Not only does working on real development projects impart practical skills that are difficult to acquire in a conventional classroom setting, Benson says, but it also engages the students in a way that readings and problem sets rarely do.

“There’s this age-old question for any teacher, which is how do you motivate the students to really buy into what they’re learning,” Benson says. “They’re fixing bugs and adding features to software that will touch millions of users. And when that’s your homework, it’s completely different. I’ve had students give me high-fives when they come in to report that they’ve finished something.”

One group of students, for instance, is helping repair a deep-rooted problem with the popular web-development framework Ruby on Rails. Frequently, tasks executed by commercial sites need to be processed as “transactions,” meaning that either all the aspects of the task are executed or none are: You wouldn’t want, say, a travel site charging you for one leg of a trip when it couldn’t find a return flight. Ruby on Rails had a bug, however, that meant that sometimes, failed transactions left program code out of sync with the database. MIT students are helping fix it. Another group is helping to develop a monitoring tool for the open-source database application MongoDB, so that application users can tell what types of queries the database is receiving and which servers are processing them.

Software studio

The design of the course — the Open Source Software Project Lab, or 6.S194 in MIT’s course-numbering scheme — borrows elements from both the studio critiques typical of architecture courses and the residency model used in medical schools, Benson says. At the beginning of the semester, students were presented with the nine projects identified by Borenstein. On the basis of their personal preferences, they were sorted into five teams, with each assigned to a different project with a different mentor.

On Mondays, Benson lectures, often tailoring his subject matter to questions raised by the students’ recent work. Every Wednesday, teams present their ongoing work to the rest of the class, explaining their approaches, inviting criticism and prompting general discussion of programming principles and philosophies.

Otherwise, the students work chiefly with each other, with their collaborators at the other schools, and with their mentors. Every week, each team meets with Benson for 20 minutes to describe the next stage of its project and report its progress on the previous stage. “They learn that a very valid thing to accomplish in a week is thoroughly understanding a particular technology and coming up with a plan for how you might use it,” Benson says. “Sometimes learning is their assignment.”

When students have completed work on a particular section of code, they log it into the open-source project’s online code repository, where Benson can, if he chooses, review it to see if it accords with the weekly progress report. Sometimes, indeed, he has found that it doesn’t — but in an unexpected way. “I have had to go to some students and say, ‘Give yourself credit for this!’” Benson says. “You did far more work than I would have expected you to this week.”

Scaling up

That kind of individual attention, Benson acknowledges, is possible mainly because the MIT class, in its inaugural session, is intentionally small — only 11 students. One of the questions that he and Karger spend a lot of time discussing is how to preserve its advantages while increasing its size. One possibility is to assign the students to more homogeneous projects — to have them all, for instance, work on different aspects of a single open-source application, such as Mozilla’s Firefox.

Another possibility is to introduce tiers of instruction, where some of the regular evaluation and feedback is provided by upperclassmen who have already taken the course. A peer mentorship program, Benson says, could be modeled on MIT’s celebrated Undergraduate Research Opportunity Program, in which undergraduates perform original research for either course credit or stipends. Or Benson and Karger might use some other recruitment mechanism altogether. “Some of the students seem to enjoy this so much that I wouldn’t be surprised if they would volunteer to do it,” Benson says.

Aaron Patterson, a senior software architect at AT&T and one of the student mentors, says that he would definitely participate in the course again, but that he could use some more help. “It’s a lot of work,” he says. “Next time, I would try to involve more people as mentors or reduce the number of students I have.”

Patterson doesn’t believe that programs like the Open Source Software Project Lab will supplant the conventional computer science curriculum, but he does think that they complement it. “The textbook background is important for long-term development, but I don’t think textbooks prepare you for how to apply those techniques to real-world software,” he says. “Techniques I learned in school were extremely helpful, but didn’t prepare me for dealing with — frankly — bad code from the real world.”

And with the Open Source Software Project Lab, he says, the students have more to show for their work than a stack of graded problem sets. “Overall, the students are making extremely valuable contributions,” he says. “The work being accomplished via the students I’m working with is greater than I could accomplish on my own.”
By Larry Hardesty, MIT News Office

The John Simon Guggenheim Memorial Foundation has announced that Professor Erik Demaine and his father, CSAIL Visiting Scientist Martin Demaine, have been named 2013 Guggenheim Fellows for their work with origami from wood, plastic, metal and glass. The Demaines were selected for this honor from a group of almost 3,000 applicants and are two of the 175 scholars, artists and scientists honored by the Guggenheim Foundation this year.

“These artists and writers, scholars and scientists, represent the best of the best,” said Edward Hirsch, president of the Foundation, about the 2013 class of Guggenheim Fellows. “Since 1925, the Guggenheim Foundation has always bet everything on the individual, and we’re thrilled to continue the tradition with this wonderfully talented and diverse group. It’s an honor to be able to support these individuals to do the work they were meant to do.”

Erik Demaine, a MacArthur Fellow and Alfred P. Sloan Research Fellow, is a member of the Theory of Computation Group and the Algorithms Group at CSAIL. An accomplished artist, his interests include origami and glassblowing. Several of his curved origami sculptures are housed in the permanent collection at the Museum of Modern Art in New York.

Martin Demaine is the Angelika and Barton Weller Artist-in-Residence in the MIT Department of Electrical Engineering and Computer Science, a technical instructor in the Department of Materials Science and Engineering Glass Lab and a member of the Theory of Computation Group at CSAIL.

Since its establishment in 1925, the Foundation has granted over $306 million in fellowships to more than 17,500 individuals, including scores of Nobel laureates, poets laureate, winners of Pulitzer Prizes, Fields Medals and of other important, internationally recognized honors.
By CSAIL