Software Engineering

Techniques used in large scale scientific or technical software development, including requirements analysis, specification, systems design, implementation, testing, validation, verification, and maintenance.

Upon completion, students will be able to:

  • Analyze complex software requirements and translate them into clear and concise specifications.
  • Demonstrate proficiency in designing software systems, considering factors such as modularity, scalability, and maintainability.
  • Implement software solutions using appropriate tools and frameworks
  • Demonstrate the skills of testing, validation, and verification of software components and systems to ensure correctness and reliability.
  • Express the importance of maintenance and evolution in software engineering, including techniques for enhancing and adapting existing systems.

Grade Basis: L
Credit hours: 3.0
Lecture hours: 3.0