Software Engineering
Develops a theoretical and applied understanding of the concepts and techniques of software engineering emphasizing agile methodologies, software architectures, project planning and management, risk management, requirements engineering, prototyping, goal modeling, design techniques and quality measures, security considerations and protections, quality assurance techniques, testing methodologies, configuration management and control, sustainment, and tool support.
Course Outcomes
Upon completion of this course, you will be able to do the following:
- Analyze requirements for a complex software system and identify appropriate architectural approaches.
- Design, implement, test, and maintain software to satisfy the requirements of a software system.
- Communicate software requirements and designs effectively in writing.
- Apply ethical reasoning together with professional standards to the development of software systems.
- Employ software project management principles to orchestrate team efforts, mitigate risks, and produce high quality software systems.
- Identify the appropriate software process model(s) for particular software system needs.
- Apply techniques from security and reliability engineering to create dependable software systems.
Announcements
How to do a Sprint
Extra Credit
Accessing Feedback in Blackboard
Snow Day
GR Postponed
Rescheduling for Snow Days
Real Programmers
UI Design postposted
Project Sprints
Upcoming Project Sprint
Project Repositories
Welcome to Comp Sci 350!
subscribe via RSS