Advanced Programming - Software Architecture

Year:
2nd year
Semester:
S1
Onsite in:
UPC
Remote:
ECTS range:
5 ECTS

Professors

img
Professors
Juan López Rubio
UPC

Prerequisites:

Conceptual bases of object-oriented programming and Java programming. Management of most common containers: sets, lists, maps, graphs.

Pedagogical objectives:

Carry out object-oriented analysis tasks, object-oriented design using correctly software design patterns. Develop automated program testing environments. Add to the programs the level of persistence of data using relational databases. Be able to carry out tasks of: object-oriented analysis, object-oriented design using correctly software design patterns. Be able to develop automated testing environments for programs. Be able to implement a level of data persistence using relational databases.

Evaluation modalities:

Project, assignments and laboratory.

Description:

The student will learn advanced programming concepts related to:

Topics:

  • Introduction to software tests.
  • Iterative software development processes. Introduction to Scrum.
  • Introduction to object-oriented analysis.
  • Introduction to object-oriented design.
  • Introduction to databases.
  • Completing object-oriented design with design patterns.
  • Study of some relevant design patterns.
  • Pattern aggregation: the model-view-controller pattern.

Required teaching material

All material is made available on the course e-learning web site. [books] - Freeman, E.; Freeman, E.; Sierra, K.; Bates, B. Head First design patterns. 1st ed. Sebastopol, CA: O'Reily, 2004. ISBN 0-596-00712-4. - Larman, C. Applying UML and patterns: an introduction to object-oriented analysis and design and iterative development. 3rd ed. Upper Saddle River, N.J.: Prentice Hall PTR, 2005. ISBN 0-13-148906-2. - Writing effective use cases / Alistair Cockburn. Boston : Addison-Wesley, cop. 2001. ISBN: 0201702258 [links] - Java design patterns - example tutorial. https://www.journaldev.com/1827/java-design-patterns-example-tutorial - Design-patterns https://www.oodesign.com/ [devices] Personal Computer with 16 GB of RAM

Teaching volume:
lessons:
27 hours
Exercices:
Supervised lab:
13 hours
Project:
14 hours

Devices:

  • Laboratory-Based Course Structure
  • Open-Source Software Requirements