Advanced Software Engineering
Program Overview
The Robert H. Buckman College of Engineering Online Education Program
The Robert H. Buckman College of Engineering Online Education Program offers various online degrees and certificates.
Doctoral Programs
- Doctor of Engineering
Master Programs
- Aeronautics & Astronautics
- Autonomy
- Biomedical Engineering
- Civil Engineering
- Dual Degree MSE+MBA
- Electrical & Computer Engineering
- Engineering Education
- Industrial Engineering
- Interdisciplinary Engineering
- Internet of Things
- Mechanical Engineering
- Microelectronics and Semiconductors
- Nuclear Engineering
- Robotics
- Software Engineering
- Systems Engineering
Graduate Certifications
- Applied Heat Transfer
- Digital Signal Processing
- Hypersonics
- International Development
- Microelectronics and Semiconductors
- Noise Control
- Regulatory Affairs and Regulatory Science for Medical Devices
- Systems
- Teaching and Learning in Engineering
Courses
The program offers various courses, including but not limited to:
- Semiconductor Fabrication 101
- Additive Manufacturing
- Design for Security
- Data Science
- Building Water Essentials
- Model-Based Systems Engineering
- Product Safety: An Introduction for Effective Engineering Design
- Small Modular and Advanced Reactor (SMR/AR) Technology
- Systems Engineering Processes and Professional Competencies
Professional Certifications
- Lean Six Sigma Green Belt
- Lean Principles
- Lean Six Sigma Black Belt
- Lean Six Sigma Green Belt Refresher
- Agile Project Management
- Project Management Essentials
- PMP Exam Preparation
Advanced Software Engineering
ECE50874
Credit Hours:
3
Description:
Software engineering is a complex endeavor. Software engineers work in diverse teams to create and comprehend complex information, such as: code structure, implementation rationale, dynamic software behavior, change implications, and team dynamics. In this class, we will learn modern software engineering practices and discuss state-of-the-art research in software engineering. The students will work on research projects to understand and extend the state of the art in software engineering.
Topics Covered:
- Software process and lifecycle: Requirements analysis, design, testing, release, maintenance
- Empirical software engineering; socio-technical approaches and findings
- Reuse-oriented programming and open-source software (e.g. code search, trust)
- Security and automated testing tools (static/dynamic/fuzzing)
- Software improvement (code clones, similarity detection)
- Software archaeology and code comprehension
- Software 2.0; AI and machine learning
Prerequisites:
Undergraduates: ECE 368 and another programming-intensive course: One of ECE 30862 (OOP), 461 (SE), 463 (Networks) 468 (Compilers), 469 (OS), comparable course from CS with instructor approval, or comparable experience (e.g. programming-intensive internship; substantial outside projects
Graduate students: No formal prerequisites, but appropriate programming experience will be essential to understand the material.
Applied / Theory:
Homework:
Approximately 6 homework assignments
Projects:
1 semester-long project
Exams:
1 midterm exam
Textbooks:
Required:
Winters, Titus, Tom Manshreck, Hyrum Wright, and Safari, an O’Reilly Media Company. Software Engineering at Google. 1st ed. 2020.
Sommerville, Ian. Software Engineering. 10th ed. Pearson India; 2018.
Recommended Reference:
Brooks, Frederick P. The Mythical Man-month: Essays on Software Engineering. Anniversary ed. Reading, Mass.: Addison-Wesley Pub., 1995.
Computer Requirements:
Instructor(s)
James Davis
Student Resources
Quick Resources
- Student Resources
- Academic Calendar
- Buying Textbooks
- Disability Resource Center
- Library
- Online Writing Lab
Your Courses
- Access Your Courses
- Registration Deadlines
Exams
- Exam Process
- Find an Exam Proctor
- Student Responsibilities
What’s Next for Prospective Students
Apply
- Start Your Application
Degree Program Applicants
- Aeronautics & Astronautics
- Autonomy
- Biomedical Engineering
- Civil Engineering
- Doctor of Engineering
- Dual Degree MSE+MBA
- Electrical & Computer Engineering
- Engineering Education
- Industrial Engineering
- Interdisciplinary Engineering
- Internet of Things
- Mechanical Engineering
- Microelectronics & Semiconductors
- Nuclear Engineering
- Robotics
- Software Engineering
- Systems Engineering
Graduate Certificate & Non-Degree Admissions Information
- Non-Degree (Course Only)
- Applied Heat Transfer
- Digital Signal Processing
- Noise Control
- Teaching and Learning in Engineering
- Systems
- Regulatory Affairs and Regulatory Science for Medical Devices
- Graduate Certificate in Microelectronics and Semiconductors
