Programming Labs (271144)

Learning Outcomes

In this course, students are intended to:

  • Develop and deepen competence driven from object-oriented programming in Java;
  • Widen skills acquired on other courses, based on object design, using UML and design patterns;
  • Acknowledge and apply techniques to create components and applications that allow to produce high-quality software;
  • Understand the utilization of informal programming languages as tools for application specification and development;
  • Acquire and apply code refactoring.

Study Program

  • Advanced Java: Collections, GUI, I/O and other libraries;
  • Unit tests and test-driven development Junit;
  • Object-oriented design in UML: class, sequence and state diagrams;
  • Design patterns;
  • Refactoring
  • Techniques to create components and applications that allow to produce high-quality software.

Bibliography

MAIN REFERENCES

Eckel, B. (2006) Thinking in Java. Prentice-Hall, 4th Edition.
Beck, K., (2002) Test-driven development, Addison-Wesley.
Metsker, S., (2006) Design Patterns in Java, Addison-Wesley.
Fowler, M. (1999) Refactoring: Improving the Design of Existing Code, Addison-Wesley.