Base Knowledge
N/A
Teaching Methodologies
Not available
Learning Results
It is expected that at the end of the course the student will be able to:
1. Identify the basic concepts of Object Oriented Programming (OOP): objects, classes, polymorphism and inheritance;
2. Implement and manage static (uni and multi-dimensional tables) and dynamic (java collections, namely arrays, vectors and hashtables) data structures;
3. Use persistent memory structures: files (binary, text and objects);
4. Plan, develop and test programs using the Java language.
Program
1. Introduction to the Java language;
Structure and syntax of the Java language; Structure of classes and methods; Data types; Flow control; Passing parameters by copy and by reference; Data output and input (Scanner); User interaction; Java Libraries; Java API;
2. Object Oriented Programming (OOP): Classes and Objects;
Creation and instantiation of objects; Communication between objects; Passing objects by parameter (copy of the reference and copy of the value); Builders; Visibility modifiers; Instance and class variables and methods;
3. Handling of Exceptions;
Types and handling of exceptions; Throwing exceptions; Exception Hierarchy;
4. Static data structures: Unidimensional and Multidimensional Tables;
Creation of tables; Size and indexes of the tables; Initialization of tables; Copy of tables; Passing tables as parameters;
5. Dynamic data structures: Java Collections;
ArrayList, Vector and Hashtable (Dictionaries); Search and iterate data structures; Collection Framework; Collections types: Set, List, Map, SortedSet, SortedMap; Collection implementations; Interface Comparable and Comparator; Arrangement of structures;
6. Files: Text, Binary and Object; Java Properties;
Reading data from input devices; Data flow; Streams; Access to files and directories; Manipulation (reading and writing) of Text, Binary and Object files;
7. Object Oriented Programming (OOP): Inheritance and Polymorphism;
Introduction to the concept of Heredity; SubClasses and SuperClasses; Visibility modifiers Redefinition of inherited methods (method overriding); Class Hierarchy; Polymorphic reference.
Página 3
Internship(s)
NAO
Bibliography
Flanagan, D. , & Evans, B. (2019). Java in a nutshell – A desktop quick reference (7.ª ed). O’Reilly.
Jesus, C. (2013). Curso prático de java. FCA.
Martins, F. (2017). Java 8 – POO + construções funcionais. FCA.
Martins, F. (2014). Projectos de POO em java. FCA.
Urma, R., Fusco, M., & Mycroft, A. (2018). Modern java in action – Lambdas, streams, functional and reactive programming. Manning.