Informatics Engineering

PROGRAMMING PARADIGMS

General Data

Type of credits: ECTS
Number of credits: 6.00
Status: Mandatory
Type: Course
Academic Year:
Term:
Languages: Portuguese
Available for Mobility Students: No
Restricted to alliance: No
Code: Sin codigo

Coordination

Description

Theory
1

Theory/Practice
1

Laboratory
2

Instructors

Luiz Faria


 

Contents

CP1 Objects and Classes
Object-Oriented Programming
Instance variables
Public and private modifiers
Public interface of a class
Instance methods
Constructors
Overloading
Object references
Static variables and static methods
 

CP2 Inheritance, Polymorphism, and Interfaces
Inheritance
Subclasses and superclasses
Substitution principle
Calling methods and constructors of a superclass
Overriding
Polymorphism
Abstract classes
Final methods and classes
Protected modifier
Object class
Interface types
Comparable native interface
 

CP3 Object-Oriented Design
Classes and their responsibilities
Relationships between classes (inheritance, composition, and dependency)
Packages
 

CP4 Array Lists
 

CP5 Exception handling
 

CP6 Graphical user interfaces and event handling
 

CP7 File Streams, binary input/output and serialization
 

CP8 Java collections
Linked lists
List iterators
 

CP9. Generic classes and Enum types


 

Learning Outcomes

By the end of this course, the student must be able to:
CO1. Develop object-oriented programs in Java, using a large sub-set of the language effectively (BL: 3)
CO2. Describe the key object-oriented principles and design strategies (BL: 2)
CO3. Apply event-driven programming principles in graphical user interface (GUI) programs (BL: 3)
CO4. Apply linear data-structures in Java (BL: 3)
CO5. Apply exception handling in Java to produce robust code (BL: 3)
CO6. Identify new features available in new releases of the Java platform (BL: 1)
CO7. Apply unit testing (BL: 3)
CO8. Develop a software project using linear data structures and apply testing (NB: 3)