Base Knowledge
Having attended the curricular unit Programming Fundamentals
Teaching Methodologies
The following teaching methodologies are used in this curricular unit:
– Expository method: an explanatory method were theoretical foundations and concepts are presented by the teacher and discussed with the class, followed by demonstrative examples;
– Experimental method: an active method were the student develops the knowledge through the use of problem solving and project development.
Learning Results
It is expected that by the end of the course each student is entitled to:
– Know the basic concepts of Object Oriented Programming (OOP): objects, classes, polymorphism, inheritance;
– Model and manage static and dynamic data structures (tables, vectors, hash tables and java collections);
– Interact with persistent storage: files (binary, text and object files);
– Be able to structure, develop, run, and test programs using Java language.
Program
Introduction to Java language
– Primitive types
– Arrays of primitive types
– Operators
– Execution control instructions
Classes
– Objects and references
– The Garbage Collector
– Constructors
– The keyword this
– Constructors that call constructors
– Static members
– Overloaded methods
– Arrays of objects
– Inner and nested classes
Packages
– Components organization
– Access modifiers
Composition and inheritance
– Composition
– Inheritance
– Choose between composition and derivation
– The super keyword
– The final keyword
Polymorphism
– Upcasting
– Object class
– Abstract classes
– Interfaces
Collections
– Interfaces derived from Collection
– Some concrete implementations
Exceptions
Files
Curricular Unit Teachers
Álvaro Nuno Ferreira Silva SantosGrading Methods
The evaluation will be carried out through the following components (a 0..20 scale will be used):
Written exam (12 marks)
- Individual written test with limited access to information
- Focuses on all contents of the course
- Minimum mark: 35%
Practical assignment (5 marks)
- Groups of 2 elements, to be communicated by the end of October
- Work description will be available in the 1st week of November
- Submission deadline: last day of classes
- Minimum mark: 35%
- Submission of the assignment via Nónio, in a ZIP file containing the project and the technical report (PDF)
- Penalty: 5% for each hour of delay
- The defence is mandatory
- The grade achieved in the work is valid for all assessment phases of the current academic year
Attendance in classes (3 marks)
- For each attended theoretical class, the student accumulates 0.2 up to a maximum of 3 marks
- Only attendance from the 2nd week onward will be counted for marks
- Students who have a status that exempts them from attending classes (e.g. student-worker) can obtain the 3 marks by taking a test at the end of the semester
- These students, upon starting the additional test, will automatically loose any marks that were obtained from attending classes
- This component is not subject to a minimum grade.
Internship(s)
NAO
Bibliography
Martins, F. M. (2017). Java 8: POO + construções funcionais. FCA. ISBN 9789727228386
Jesus, C. (2013). Curso prático de Java. FCA. ISBN 9789727227501
Martins, F. M. (2014). Projectos de POO em Java. FCA. ISBN 9789727227921
Flanagan, D. (2014). Java in a nutshell: A desktop quick reference (6.ª ed.). O’Reilly. ISBN 1449370829