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.