SUBJECT

Title

Software Technology

Type of instruction

lecture + practical

Level

master

Part of degree program
Credits

5

Recommended in

Semester 2

Typically offered in

Spring semester

Course description

Purpose: The course gives a broad overview of the process and methodologies of software development and its execution. We cover all phases of development from requirements to maintenance and quality assurance with emphasize on architectural design. The course tries to deliver a balanced mixture of theoretical knowledge and practical skills with currently used technologies.

Competencies delivered:

Students completing the class will understand software development process, its different strategies and methodologies.
They will be able to make sensible architectural decisions and plans well in advance using the acquired mixture of theoretical and hands-on skills.

Prerequisties:

  • advanced knowledge of at least one object oriented programming language

  • understanding of web technologies full stack (client, database, server...)

  • (optional) project experience

Readings
  • R. C. Martin: Clean Code: A Handbook of Agile Software Craftsmanship, Prentice Hall 2008.

  • F. P. Brooks: The Mythical Man-Month: Essays on Software Engineering, Addison-Wesley 1995.

  • J. Humble, D. Farley: Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation, Addison-Wesley 2010.

  • E. Gamma, R. Helm, R. Johnson, J. Vlissides: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1994.

  • M. R. Blaha, J. R. Rumbaugh: Object-Oriented Modeling and Design with UML, Pearson, 2004.

  • L. Bass, P. Clements, R. Kazman: Software Architecture in Practice. 3rd ed. Addison