Programming Laboratory
Keywords |
Classification |
Keyword |
OFICIAL |
Computer Science |
Instance: 2015/2016 - 2S
Cycles of Study/Courses
Teaching language
Portuguese
Objectives
Strengthening the knowledge of structured programming by developing small and medium dimension programming projects.
Learning outcomes and competences
After completing this unit, students should be able to:
- use existing libraries based on API documentation
- develop modular programs with clearly documented interfaces between components
- write simple unit tests for invariants of data structures
- use an integrated development environment (IDE)
- use a version control system to coordenate team work
Working method
Presencial
Pre-requirements (prior knowledge) and co-requirements (common knowledge)
Imperative and functional programming
Program
Revisions on Java programming. Classes, objects and packages. Arrays and strings. Visibility and acces modifiers. Constructors and encapsulation. Static methods and atributes. The Object class. Pitfalls of inheritance. Classes vs. interfaces. Enumerations. Pitfalls of "null" references. Equality comparisons. Pitfalls on overriding the equality test method.
Programming with generics in Java. Type inference. Wrapper classes. Generic collections interfaces in the standard library.
Using exceptions for error handling. Throwing and catching exceptions. Checked vs. unchecked exceptions. Recomendations on the use of exceptions.
Functional specification for an API; notions of pre, post conditions and invariants. Translation to Java. Writing tests for validation of simple invariants.
Using an integrated development environment (IDE). Using a version control system for coordinating team work.
Mandatory literature
Reges Stuart;
Building Java programs. ISBN: 9780137062904
McConnell Steve;
Code complete. ISBN: 0-7356-1967-0
Teaching methods and learning activities
Demonstration classes combing exposition of concepts and methodologies and practical assigments in computer laboratories.
Evaluation Type
Distributed evaluation with final exam
Assessment Components
designation |
Weight (%) |
Exame |
25,00 |
Trabalho laboratorial |
75,00 |
Total: |
100,00 |
Eligibility for exams
Students who obtain less than 40% mark on the practical assignments are not elligible for exam.
Calculation formula of final grade
20% * first assignment + 55% * second assignment + 25% * final exam