SOFTWARE ENGINEERING

SOFTWARE ENGINEERING

SOFTWARE ENGINEERING 101: Introduction to Software Engineering (SOFT 101, 3 Credits)) 
Conceptualizes problem solving using an object-oriented programming language, algorithm design, structured programming, fundamental algorithms and techniques. 
 
SOFTWARE ENGINEERING 201: Introduction to SW Project Management (SOFT 201, 3 Credits)
Introduces personal software processes for individual professionalism, time and defect estimation, yield, and productivity. Software tools. Project based. 

SOFTWARE ENGINEERING 221: Introduction to Quality Assurance Methods (SOFT 221, 3 Credits) 
Covers testing and quality in software engineering, concepts, tools, and methods in testing and quality management, teamwork and communication in software engineering. Project based. 
 
SOFTWARE ENGINEERING 250: Design and Usability in Software (SOFT 250, 3 Credits)  
Covers software process from the design perspective, engineering design process, user-centered design and software safety design, user interface, software architecture and design patterns and software design constraints. 
 
SOFTWARE ENGINEERING 301: Foundations of Software Engineering W/Lab (SOFT 301, 4 Credits) 
Introduces software programming design patterns. Explores common design patterns across different problem domains. Project driven LAB. 
 
SOFTWARE ENGINEERING 321: Best Practices in Software Engineering (SOFT 321, 3 Credits) 
Introduces best practices in software construction in the context of a team project, including refactoring, defensive programming, unit testing, and configuration and release management. 
 
SOFTWARE ENGINEERING 341: Introduction to Distributed Systems (SOFT 341, 3 Credits)
Covers design and implementation of distributed software components, process and memory management underlying software applications, sockets, protocols, threads, JSON, XML, serialization, reflection, security, and events.  
 
SOFTWARE ENGINEERING 381: Introduction to IT Systems Management (SOFT 381, 3 Credits)
Introduces modern IT Systems management approaches and methods such as ITIL. Provides an overview of IT systems within organizations. 

SOFTWARE ENGINEERING 401: Security Concepts in SW Engineering (SOFT 401, 3 Credits)
Introduces security concepts, cryptography, hashing, penetration testing, encryption, authentication, and authorization. 

SOFTWARE ENGINEERING 421: Web Application Programming (SOFT 421, 3 Credits) 
Covers design and implementation of Web application, languages, frameworks, technologies, tools and methods used to realize Web client and server solutions. Determines approaches for securing, testing, as well as determining the quality and reliability of Web applications.  

SOFTWARE ENGINEERING 440: Technical Leadership (SOFT 440, 3 Credits) 
 Focuses on application software processes, project management, and technical leadership. Project-based course
 
SOFTWARE ENGINEERING 451: Introduction to Embedded Computing (SOFT 451, 3 Credits)
Covers electromechanical sensors and electrical actuators, analog-to-digital and digital-to-analog conversion, hardware and software interfaces for embedded systems. IoT devices.  

SOFTWARE ENGINEERING 491: Software Engineering Capstone Project (SOFT 491, 3 Credits)
Deep exploration of a chosen topic with faculty approval and support. Student lead, project-driven course.