The University of Virginia School of Engineering and Applied Science’s new venture into student-taught classes all started with Haskell.

Nishant Shukla, a third-year computer science and math major, was talking excitedly to his friend, Anish Simhal, about the programming language over lunch one day last fall. “He was on my case about learning Haskell, and I was like, ‘Hey, you should teach a class on it,’” Simhal recalled. “He said, ‘Sure,’ sort of like a joke.” But the idea stuck.

A functional programming language, Haskell was being taught at a few larger universities, but was very different from anything offered at U.Va. And Shukla, who’d taught himself the language online and had used it in internships at WillowTree Apps and Microsoft, was eager to share his expertise. Other schools at U.Va. offered student-taught classes. Why not the Engineering School?

Shukla and Simhal, who is co-chair of the Engineering Student Council, pitched the idea of a student-taught class on Haskell to Edward Berger, associate dean for undergraduate programs, and professor Kevin Skadron, chair of the computer science department. They agreed to give it a try.

Last spring, more than 60 students enrolled in “Introduction to Haskell,” and more than 1,000 people worldwide participated online. An average of 200 students a week submitted homework assignments. Subsequently, Shukla was contacted by Packt Publishing and invited to write a book on Haskell Data Analysis. The book is scheduled to be published in 2014.

Thrilled by the response to Shukla’s class, Simhal and his council co-chair, Gautam Kanumuru, got approval to expand the program with new classes and formed a student-faculty committee on Student-Taught Classes for vetting applicants. The program’s mission is to give engineering students the opportunity to share their expertise with fellow students and teach skills necessary for industry or academia that aren’t covered by existing classes at U.Va.

The classes all award one credit on a pass/fail basis, and don’t count toward any requirements. “So everyone is really taking them for the traditional Jeffersonian value of learning for the sake of learning,” Simhal said. “You don’t get anything on paper out of it. No one gets credit for teaching, no one gets paid. The entire system, you’re doing it because you love what you’re doing.“

This semester more than 100 students are enrolled in three student-taught classes.

In “Auto Mechanics,” Silvio Mancone and Andrew Jordan have turned part of the new Lacy Design Lab into an impromptu auto body shop, using Mancone’s own car to demystify auto repair and show fellow engineers the mechanical skills they learned from their fathers growing up.

In “Brain Hacks,” Davis Blalock is capitalizing on his passion for psychology and neuroscience to teach an interdisciplinary class showing students how to apply research findings on happiness, effectiveness and other topics for improving their own lives.

And in “Data Visualization,” Kevin McVey is helping engineers learn basic design principles so they can visually represent and present their data in the most effective ways possible.

“I want to get students equipped with a new tool for communication, in one semester,” said McVey, who is a computing engineering major with a minor in architecture. A local data visualization startup, VividCortex, is providing real-world data sets for his students to work with and will give feedback on students’ final design projects.

For the student teachers, running their own classes has helped them master the material in new ways, as well as provide a sharp learning curve for how to engage an audience and present ideas effectively. And the program offers all students opportunities to learn new skills with peers who are equally interested in a topic.

“We’re really excited about the program,” Simhal said. “It sort of filled a need that no one realized U.Va. had.”