The intersection of mathematics, computers and everything else. MIT News

Shardul Chiplunkar, a senior in Course 18C (Maths with Computer Science), entered MIT with an interest in computers, but was soon trying to do everything from extinguishing fires to building firewalls. He worked in audio engineering and glass blowing, had a stint for the MIT/Wellesley Toons a cappella group, and learned to sail.

“When I was entering MIT, I thought I would be interested in math and computer science, academics, and research.” “Now what I appreciate most is diversity of people and ideas.”

Academically, his focus is on the interface between people and programming. But his extracurriculars have helped him realize his secondary goal, to be a translator of sorts between the tech world and professional users of software.

“I want to create a better conceptual framework to explain and understand complex software systems, and to develop better tools and methodologies for professional software development at large through fundamental research in programming languages ​​and the theory of human-computer interaction.” “

It’s a role he was practically born to play. Growing up in Silicon Valley, at the height of the dot-com bubble, he was drawn to computers at an early age. He was 8 years old when his family moved to Pune, India for his father’s job as a networking software engineer. In Pune, his mother also worked as a translator, editor and radio newscaster. Chiplunkar could eventually speak English, Hindi, French and his native Marathi.

At school, he was active in math and coding competitions, and a friend introduced him to linguistic puzzles, which he recalls were “like math.” He excelled at the Linguistics Olympiad, where secondary school students solve problems based on linguistics – the scientific study of languages.

Chiplunkar came to MIT to study what he calls the “Perfect Major,” course 18c. But as the child of a tech dad and a translator mom, it was perhaps inevitable that Chiplunkar would figure out how to combine the two disciplines into a unique career trajectory.

While he was a natural at human languages, it was a Computer Science and Artificial Intelligence Laboratory undergraduate Research Opportunities program that solidified his interest in researching programming languages. Under Professor Adam Hiddle, he developed a specification language for Internet firewalls, and a formally verified compiler to convert such specifications into executable code, using correct-by-construction software synthesis and proof-of-construction techniques. developed by

“Let’s say you want to block a certain website,” Chiplunkar explains. “You open your firewall and enter the website address, how long you want it to block, and so on. You have some parameters in a built in language that tells the firewall what code to run. But you How to know that a firewall will code that language without a mistake? That was the gist of the project. I was trying to create a language to specify the behavior of firewalls mathematically, and to convert it into code and to prove that the code will do what you want it to do. The software will come with mathematically proven guarantees.”

He has also explored proximate interests in probabilistic programming languages ​​and program inference through cognitive science research, working under Professor Tobias Gerstenberg at Stanford University and later Joshua Rule in the Tenenbaum Laboratory in MIT’s Department of Brain and Cognitive Sciences. working under.

Chiplunkar says, “In regular programming languages, the basic data you deal with are atomic, fixed numbers. But in probabilistic programming languages, you deal with probability distributions. Instead of a constant five, you can have one random variable.” which has an average value of five, but every time you run the program it is somewhere between zero and 10. It turns out that you can calculate with these probabilities as well – and that some aspects of human cognition are computerized. There’s a more powerful way to model. Language lets you express concepts that you can’t express otherwise.”

“There are many reasons I love computational cognitive science, the same reasons I love programming and human languages,” he explains. “Human cognition can often be expressed in a representation that is like a programming language. It is more of an abstract representation. We do not know what actually happens in the brain, but the hypothesis is that some level of abstraction But, it is a good model for how cognition works.

Chiplunkar also hopes to bring a better understanding of modern software systems to the public domain, to empower techno-curious communities such as lawyers, policy makers, doctors and educators. To aid in this pursuit, he has taken courses at MIT on Internet policy and copyright law, and follows the work of digital rights and freedom activists. He believes that talking about the architecture of computer systems for broader social purposes requires a fundamentally new language and concepts for programmers.

“I want us to be able to explain why a surgeon should rely on a robotic surgery assistant, or how a law about data storage needs to be updated for modern systems.” “I think creating better conceptual languages ​​for complex software is just as important as creating better practical tools. Because complex software is so important in the world now, I want the computing industry – and I – to engage with a wider audience. be better able.

Leave a Reply

Your email address will not be published.