CSCI-P 566 Software Engineering II
3 credits
- Prerequisite(s): None
- Delivery: On-Campus
Description
This course covers the analysis, design, and implementation of software systems. Students learn requirements specifications through data and process modeling, software design methodologies, and software quality assurance, including testing and verification. The course also covers software development processes.
The second course in the sequence shifts focus to contemporary issues and advanced practices in software development. It covers topics like continuous delivery and continuous deployment (CI/CD), distributed systems, cloud computing, security, and emerging trends.
Topics
Continuous integration and continuous deployment (CI/CD)
- Automation in the software pipeline
- Deployment strategies (Blue-Green, Canary, etc.)
- Monitoring and logging in deployed applications
Distributed systems and scalability
- Principles of distributed systems
- Scalability patterns
- Service orchestration and choreography
Cloud computing and containerization
- Basics of cloud services (IaaS, PaaS, SaaS)
- Docker and Kubernetes
- Serverless architectures
Security in software engineering
- Secure coding practices
- Threat modeling
- OAuth, JWT, and API security
Collaborative software development
- Version control with Git and GitHub
- Code review practices
- Team dynamics and conflict resolution
Emerging trends in software engineering
- Quantum computing and software engineering
- Machine learning in software development
- Ethical considerations in software engineering
Learning Outcomes
- Design and manage CI/CD pipelines efficiently. CS 2
- Evaluate and integrate principles of distributed systems and cloud computing in the design of complex architectures. CS 2
- Master and innovate on best practices in software security, ensuring robust protection and proactive mitigation strategies. CS 2
- Synthesize and engage with contemporary trends, anticipating and debating future directions and ethical dilemmas of software engineering. CS 2
Policies and Procedures
Please be aware of the following linked policies and procedures. Note that in individual courses instructors will have stipulations specific to their course.