The software engineering course has impacted computer science and information technology (IT) majors at Montclair State University through its various topics relating to the development and analysis of software and applications.
Professor Zakia Sultana has taught this course since the fall of 2018 semester. Sultana completed her bachelor’s degree in Dhaka, Bangladesh, earned her master’s degree in 2011 from Wayne University in Detroit, Michigan and her Ph.D. in 2018 from Mississippi University.
After Sultana finished her Ph.D., she began her teaching career at Montclair State.
“Software engineering was a concentration in my Ph.D. program. I thought that teaching this course [would] help me better serve the students,” Sultana said. “Students will learn better in future careers, both in academic and industrial fields.”
Throughout this course, students learn important techniques of software development and how they will be able to use each principle in the future. There are many flow models that students learn to use when designing a process, such as iterative process modeling. This involves processes that are repeated more than once.
Various diagrams such as use-case, class, data-flow and sequence diagrams are taught as well. These diagrams show how the activities and functions perform and how the data would flow from one place to another.
Although software engineering is required for computer science students, it is beneficial to IT students, who can develop and build software in a creative way based on the process models, techniques and activities they learn.
Michael Mahabir, a senior IT major, learned new topics that are related to software engineering and he thought that these topics were unique.
“Based on my experience, I recommend other IT students to take software engineering because it can benefit IT students to learn about a topic like software engineering,” Mahabir said. “It has a lot of potential in the field of information technology. My lack of understanding software engineering as a course has led me to take an interest in taking this course and to help me understand it a lot more.”
The second level of software engineering refers to different types of techniques that are used for the implementation and maintenance of high-quality software systems. It is beneficial for students to learn these techniques because the software can then be implemented in a creative way and will work properly.
Nevin Collora-Elsayed, a junior computer science and mathematics major, enjoys software engineering.
“I like to collaborate with my classmates to create projects that have real-world applications,” Elsayed said.
The lessons taught in software engineering are crucial for students within the IT and computer science fields because of how they can help to set up students for future success.