Informatics Engineering
PROGRAMMING PARADIGMS
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)