Computer software engineering program offers excellence at scale, promise in keeping pace with technological, systems advancements
Ranked No. 10 nationally, leading-edge discipline touts faculty strengths, research
As the nation’s 10th-ranked program by U.S. News & World Report, Purdue’s computer software engineering program in the Department of Computer Science is examining the development and improvement of software products and processes. The department is jointly in the College of Science and the College of Engineering.
The future of software engineering is immensely promising as technology continues to advance at an astonishing rate. Modern software systems are increasingly complex and there are countless applications to how this engaging area of research is improving lives.
Exceptional academic experiences
Program graduates create new software processes that are efficient, reliable and secure. They do this by improving existing products, positively affecting the performance, usability and functionality, thus leading to increased user satisfaction and adoption. This area of study helps to identify vulnerabilities in software products and develop effective methods for preventing and addressing security threats.
Jonathan Rosenthal, a doctoral student from Zurich, Switzerland, said he and other students benefit from the software engineering program’s focus on helping them engineer innovative software solutions. “A goal of our work is to enhance the efficiency and reliability of the current technological landscape and also to fortify its foundations against emerging security challenges,” he says.
Additional Information
Specialty rankings by U.S. News & World Report for graduate and undergraduate programs are based solely on peer assessments by department heads in each specialty area. For the area of computer software engineering, the survey included 146 schools and was conducted in fall 2022 and early 2023.
The intersection and centrality of computer science research is paved by software engineering approaches.
From the rise of artificial intelligence and machine learning, which are transforming the way software is designed, developed and deployed; to the increasing use of cloud-based technologies, which allows software to be accessed and used from anywhere in the world; to the protective future of information security, as more data is stored and processed online, the need for secure and reliable software is critical.
World-class faculty
In addition to providing a world-class education, the faculty conduct research in the field of software engineering. They are focused on applying advanced program analyses toward problems related to fault isolation and various kinds of bug detection. This includes analyses related to race conditions in concurrent programs, and specification inference for large-scale software systems.
Purdue’s Center for Programming Principles and Software Systems is a research center dedicated to addressing interdisciplinary questions in the fields of software engineering and programming languages. The group addresses how the software landscape is changing in fundamental ways and looks for solutions to computing challenges related to artificial intelligence, systems and security.
Innovation for the future
Through leading-edge research and partnerships with industry leaders, Purdue provides students with opportunities to engage in undergraduate research projects and gain real-world experience through internship programs.
Software engineering will continue to play a crucial role in artificial intelligence and machine learning, cloud-based technologies, and information security. Through education and research, Purdue will pursue development in the area of software engineering, continuing to attract top students and faculty at our world-class department.
Lin Tan, the Mary J. Elmore New Frontiers Associate Professor in Data Science and professor of computer science, has conducted research in software engineering, software dependability, software-AI synergy and software text analytics. One of her recent research focuses is on the study and design of code language models for software engineering tasks.
“We want neural network models to understand program syntaxes and semantics. Thus, we have been adding domain knowledge of source code to neural network models to improve and automate software engineering tasks,” Tan says.
Tan adds, “One such task is automated program repair, which helps developers improve software reliability by generating patches automatically to repair software defects.”
Purdue’s software engineering-connected faculty:
Writer: Emily Kinsell, ekinsell@purdue.edu