Anas "Nash" Mahmoud’s career is in the classroom as an assistant professor of computer science at LSU, but his focus is on getting his students in touch with what’s happening in computer science and ready for the world beyond campus.
“It’s something I’m trying to push,” Mahmoud says. “I’m still in touch with my experience as a student, and I try to make my class very practical by pushing the students to apply what they’ve learned.”
Mahmoud has a master’s degree and Ph.D. in computer science and engineering from Mississippi State University. He teaches a senior-level course, Software Systems Design, and heads LSU’s Software Engineering and Evolution Lab (SEEL), which conducts research with the goal of providing high-quality and error-free software. His specialty is requirements engineering. “I’m interested in gathering people’s needs, understanding what clients want the program to do, and translating the stakeholders’ visions into working code,” he says.
We recently spoke with Mahmoud about his work and what computer science students can expect from working with him in the classes and programs he leads.
Improving the Quality of Code through SEEL
Mahmoud says he started SEEL about a year ago with the purpose of trying to make programmers’ lives easier by developing tools to automate tasks they do manually.
Graduate students in the lab do the research, and undergraduates assist them by collecting data and sometimes helping to write papers. “The undergraduates get exposed to the latest research in the field of software engineering, get their names on papers they co-author and learn to work in professional settings,” Mahmoud says. “At SEEL, we implement a set of professional standards that students have to comply with in order to produce high-quality and impactful research.”
One of the lab’s current projects involves studying the relationship between project success and team diversity in open-source software (OSS), he says. The research involves analysis of massive data sets collected from online open-source platforms, with the goal of understanding the specific influence various types of diversity — such as gender, country of origin and tenure — have on OSS success. Understanding such factors can help in team composition and problem-assignment tasks, which in turn can lead to the development of better and more sustainable software, Mahmoud says.
Creating a Bridge to the Professional World Through Software Systems Design class
Mahmoud says he tries to maintain a focus on what’s happening in the real world in his Software Systems Design class. Students in the class are exposed to problems that real software companies have to deal with on a daily basis.
The majority of the students are seniors who are in their last year of computer science studies. They finalize and present their final project, which should show what they’ve learned in school and from other people’s experiences. Students are encouraged to find clients from outside campus. For example, one student worked with a hospital to create an app that lets everyone in the hospital stay in touch with each other. “These are real-life projects, not just class projects,” Mahmoud says.
Fifteen to 20 guests from the industry are invited to watch the final presentations, where students spend five to 10 minutes basically trying to sell their products. “A lot of our guests are from companies that create end-user software, mobile apps and video games,” he says. “They’re very interested in our students.”
“A lot of the students aren’t comfortable with public speaking, so I try to take them out of their comfort zone,” he says. ”I tell the industry people to be critical and give harsh feedback because the students are heading into the real world, and they’re going to go on tough interviews.”
Many students get internship offers or interviews based on their presentations, he says.
Giving Back to the Community Through Google igniteCS
Google’s igniteCS program provides funding for university students to give back to their communities through computer science mentorship. Mahmoud advises a team of mostly female undergraduate students who put together a proposal to teach computer science this spring at McKinley High School, which was affected by the flood in August.
The students wrote the proposal, the budget and a teaching plan, and they received a grant from Google to carry out the program, Mahmoud says. “The funding provided by Google IgniteCS is used to buy educational programmable kits, which they will use to teach high-school students at McKinley the basics of computer programming,” he says. “They’re also organizing a field trip to encourage the high-school students to come to LSU, tour our new engineering building and experience college life as computer science students.”
The program helps the undergraduates by getting them involved in giving back, Mahmoud says. ”It’s a great experience for them to work in a Google-sponsored program, in which they have to do all the work to see it through,” he says.