Finding Marvel characters, automating tasks, live translation: all part of a Robins computer programming course

May 28, 2019
Could you program a computer to do more than just the basics?

Could you program a computer to do more than just the basics? Like search the internet for Richmond Spiders basketball players and automatically create a spreadsheet about them? Or reconcile receipts automatically? These are just some of the final projects from the Introduction to Computing Techniques for Economics and Business course in the Robins School this semester.

“I learned way more than I ever thought would be possible in a semester,” said Bobby Piluso, ’19. “I went from not knowing how to download Python onto my computer to writing my own code from scratch.”

Understanding how to code in Python, a high-level general-purpose programming language, is extremely attractive to employers according to Dr. Saif Mehkari, associate professor of economics.

“Knowing basic programming has the potential to make students much more productive at work after graduation,” Mehkari said. “With campaigns like Apple’s ‘Everyone Can Code’, I think that in 10 to 15 years the average college student will be expected to know how to code, similar to how college graduates today are expected to know how to use email.”

The course is designed to teach Robins students how to use basic programming in a real world setting, and to also work with data.

“It expands their ability to use the computer to be more productive,” Mehkari said.

For the final project of the semester, Mehkari wanted the students to get creative. He told them to apply the basic programming skills they had learned to any project they wanted, and present it. But he had no idea what was coming next.

“We created a program that generated a list of superheroes from the Marvel database and what comics they appear in,” said Feli Heinzel, ’19. “The program also gave a brief description of the first three comics, including the name, cover, and release date.”

But that was just the beginning, as the projects ran the gamut from serious to eccentric. Some projects translated English into other languages, or sifted through a large NBA dataset to answer fun facts about players asked by the user, while others looked for irregularities on financial statements, and used Bloomberg in the finance lab to get live data and run financial models.

“During one presentation, students had their program translate the spoken English phrase “I love baseball” into German, which was then spoken out in a Portuguese accent,” Mehkari said. “Then as a gag project, one of the groups wrote a second program that displayed whether or not it was Christmas today. This was great because they learned how to programmatically get the date and time in Python. Really all the projects were just brilliant and the students were awesome.”

And students like Heinzel and Piluso loved it, because it embedded everything they had learned in the classroom to their memory.

“In order to succeed at coding, you can't just look at examples and memorize them,” Piluso said. “One of the biggest parts of the course was learning the basics, and then going home and applying that knowledge to write code for a specific situation using class notes. Dr. Mehkari said coders and programmers are the best problem solvers, and after taking this course, I realize what he meant. This course requires you to think creatively with each assignment as there are numerous ways to answer any question.

Mehkari loved teaching this course, because he says it gives students an opportunity to think creatively, and get out of their comfort zone with computing.

“They were amazed to learn what a computer could do,” Mehkari said, “and they realized how, after just a semester of programming, they were able to incorporate really advanced things like speech recognition and email automation into their programs.”

Heinzel thinks this innovative mindset will give her an advantage after graduation, because not only does she have the basic skills to code, but she also has a thorough understanding of what different pieces of code do and why.

“Being able to analyze large amounts of data in a quick and efficient way is getting more important in today’s business and economic environment, so being able to apply these skills will help me in my professional and personal development,” Heinzel said. “Dr. Mehkari encouraged us to go through our practice problems and quizzes to not only learn the theoretical knowledge of coding, but to truly understand how it can make our lives easier. I encouraged all my friends in the business school to take his class since it teaches valuable business and life skills.”