On the first day of introductory computer science class EECS 183 — Elementary Programming Concepts — 82 percent of the students enrolled in the class had never seen code before, according to Computer Science Prof. Mary Lou Dorf, the course’s instructor.
But now, at the end of the semester, students have coded a range of final projects from scratch.
Those projects were on display Thursday at a showcase in the Michigan League ballroom. Serving as a replacement for a final exam, the showcase aims to give students the opportunity to put the materials they learned throughout the course into practice.
Several representatives from company sponsors, such as JP Morgan and Stryker, also attended the showcase and spoke with students about recruiting throughout the event.
Dorf, who has been teaching the course for over 10 years, said she thinks the projects are more rewarding than a final exam.
“They’ve got to do it on their own,” Dorf said. “It builds confidence, it builds self-efficacy.”
The projects were separated into four categories — creative artificial intelligence, iOS apps, web schedulers and Arduino projects. Arduino is an open-source hardware and software platform.
Students were required to work in groups of four and choose one of the categories to work within for the assignment, but otherwise had no strict guidelines to follow.
LSA sophomore Madelyn Celovsky’s group created a project within the creative artificial intelligence category. Their code was designed to mimic the lyrical style of the pop artist Prince.
“It takes all the words that Prince uses and feeds it into a program, feeds into dictionaries which then goes into a generator which creates these sentences that are in his style,” Celovsky said.
LSA freshman Kyle Zappitell said his group chose to make an iOS app.
“We created an app called Locator,” he said. “Basically what it does is whenever you want to eat, if you want to eat with someone, you can go on our app, sign in with Facebook and connect with your friends.”
To create the app, Zappitell said the group created their own server to transport data between two people.
“We track your location using Google Maps and then we send that location data to the server, and then that’s also sent to your friends on Facebook,” Zappitell said. “There’s this box where you can just enter in whatever you want, like places to eat.”
Though his team fulfilled the project requirements, Zappitell said he plans to continue working on the app with his team after the class to improve it.
“Eventually we want to add more places, like recommended places to eat,” he said. “We have a good app here and we can definitely take it places.”
Students making projections in the Arduino category were required to make improvements to the game “Space Invaders” using Arduino hardware.
LSA freshman Janera Martinez said her group used the hardware to make a game they called “Space Invaders of the Lost Ark.”
“The objective is to collect all the artifacts without getting hit by the space invader,” she said. “It took a lot of hours of coding and there were a lot of drawbacks. In the end, it all worked out, which was a great feeling.”
She said her group faced various challenges throughout the process of its creation, including gauging the constraints of the hardware’s memory.
“One of the issues we had was that after we tried to implement so many features, the memory wasn’t enough to take them all in,” she said. “It wasn’t working at all, it just stopped working completely which really made us scared and we weren’t sure if we would be able to fix it so we had to start at block zero.”
The final project option was to create a web scheduler. Amanda Liu, School of Music, Theatre & Dance and LSA freshman, said her team’s project aimed to make scheduling classes at the University easier.
Liu said making the project, called Squirrel Scheduler, was difficult because the group had to use a different coding language from what they learned in the class.
LSA junior Mike Bazzi, another member of the group, said they had to learn the new language online.
“You go step by step, you start out with ‘make the page blue,' ” Bazzi said. “And then you go to 'how do I put a picture on the page' and then you find out how to add footers and headers. You can get creative and fun with it.”
Dorf said EECS 183 is one of her favorite courses to teach because it attracts a variety of students.
“We have students in this class from every college,” Dorf said. “Most of them are from LSA, but we have students from the music school, we have students from public policy, we have them from the med school, we have them from engineering, we have them from all sorts of different colleges.”
Engineering junior Diana Gage, an instructional aid for the class, said it was rewarding watching the students learn a new skill.
“It's so cool to see how students progress because a lot of them come in not knowing how to code, they’ve never seen any of it,” Gage said. “Then by the end, they’ve made a website or an app or something which is really marketable and cool.”
Gage said the projects were challenging, but gave students an opportunity to learn and explore the field of coding.
“It’s a hard course,” Gage said. “I would say if you put in the time and the effort, anyone can learn to code. The challenges would be time management, starting the projects early, figuring out how to think about things. It’s not easy, but if you put in the time, it pays off.”