ABINGTON, Pa. — Two Penn State Abington computer science majors created scheduling software for a real-life customer, experiencing the full development life cycle — from coding to client meetings — while working on the buildout.
Senior Alec Goldenberg and junior David Martinez tackled the client’s request as part of the class CMPSC 487 Software Engineering, taught by Ishtiaque Hussain, assistant professor of computer science.
“An undergraduate software-engineering course can give students a glimpse into the real world. In my course, that's what I tried to do, have a real customer and let students build a solution for the problem,” Hussain said.
He offered the students several alternatives for their course project, and they chose the most challenging one.
“Dr. Hussain told us it had a higher chance of failure compared to the other options,” Martinez said.
“But he encouraged us to pick this one because he was trying to see what we were capable of,” Goldenberg said.
The problem was presented by Zafer Hatahet, division head for science and engineering at Abington. Each semester, Hatahet would spend hours manually scheduling courses using multiple parameters including the list of classes, requirements and faculty preferences.
“Dr. Hatahet was looking for something a little more robust than pencil and paper,” Martinez said.
Hussain said they had numerous meetings with the customer during the fall semester.
“We showed him prototypes of the solution, got his feedback, and modified and implemented features to his satisfaction. The students learned firsthand that a customer's requirements change all the time. It requires great communication skills in eliciting and confirming the actual need, and then technical skills in implementing and delivering the software.” he said.
According to Martinez, it was an iterative process.
“It was a great learning experience, and it was humbling. We would go over the coding with Dr. Hussain, and he would pick it apart,” he said.