Software Engineering
Learning Outcomes:
- Tracing the evolution of software engineering from traditional practices to modern Agile methodologies
- Utilizing Eclipse IPSE and its tools (Maven, Symbolic Debugger, Javadoc) to enhance software development efficiency
- Applying Test-Driven Development (TDD) techniques to ensure the creation of readable and functional code
- Identifying and refactoring bad code smells to maintain code quality and standards using tools like CheckStyle
- Mastering software version control concepts and tools, including SVN and Git, for effective software release management
- Practicing SVN commands and workflows to manage and rectify coding errors efficiently
- Communicating software design effectively with UML diagrams and exploiting APIs for rapid application development (RAD)
- Analyzing and applying design patterns to prevent common software design problems
- Exploring various testing types, including integration and system testing, to ensure robust software functionality
- Understanding the role of Continuous Integration in maintaining a consistent testing regime
- Applying software measures to predict and improve the quality, productivity, and maintainability of software
- Differentiating between defects, faults, and failures to better manage software testing and complexity
- Comparing and contrasting Agile and Waterfall methodologies to determine their applicability in different software development scenarios
- Practicing SCRUM and other Agile techniques to enhance team collaboration and project management in software development
Skills for module:
Java
JUnit
Git
Maven
Object Oriented Programming
Design Patterns
Version Control
DevOps
Problem Solving
Critical Thinking
Communication
Project Management
Time Management
Adaptability
Software Engineering
CS2800
Learning Outcomes
- Tracing the evolution of software engineering from traditional practices to modern Agile methodologies
- Utilizing Eclipse IPSE and its tools (Maven, Symbolic Debugger, Javadoc) to enhance software development efficiency
- Applying Test-Driven Development (TDD) techniques to ensure the creation of readable and functional code
- Identifying and refactoring bad code smells to maintain code quality and standards using tools like CheckStyle
- Mastering software version control concepts and tools, including SVN and Git, for effective software release management
- Practicing SVN commands and workflows to manage and rectify coding errors efficiently
- Communicating software design effectively with UML diagrams and exploiting APIs for rapid application development (RAD)
- Analyzing and applying design patterns to prevent common software design problems
- Exploring various testing types, including integration and system testing, to ensure robust software functionality
- Understanding the role of Continuous Integration in maintaining a consistent testing regime
- Applying software measures to predict and improve the quality, productivity, and maintainability of software
- Differentiating between defects, faults, and failures to better manage software testing and complexity
- Comparing and contrasting Agile and Waterfall methodologies to determine their applicability in different software development scenarios
- Practicing SCRUM and other Agile techniques to enhance team collaboration and project management in software development
Related Material
Related Material