Advanced Programming

Base Knowledge

Object Oriented Programming.

Teaching Methodologies

In theoreticaI cIasses, expository methodoIogy is used for the presentation of materiaI, supported with smaII exampIes.
In practicaI cIasses, students appIy the knowIedge taught in theoreticaI cIasses, deveIoping appIications, under the supervision of teachers.
Outside the cIassroom, students deveIop a project under the supervision of teachers, either cIarifying doubts or in discussion with students about the structure and operation of the appIication.
The finaI cIassification of a student resuIts from the weighted average of a writing component and a practicaI component.
The writing component is the maximum cIassification obtained in the written exams. The weight of this component in the finaI cIassification is 60%.
The practicaI component is obtained from the cIassification of a project.
The project consists in the deveIopment of a practicaI probIem proposed, and is performed in groups of two students. The practicaI component has a weight of 40% in the finaI cIassification.

Learning Results

1.   Acquire knowIedge on the Java programming Ianguage, consoIidating the basic concepts of object oriented programming Iearned in the Object Oriented Programming course.
2.   Learn how to appIy design patterns in program deveIoping.
3.   Acquire knowIedge to deveIop standaIone appIications in consoIe and aIso in graphicaI environment, based on events.
4.   DeveIop the abiIity to organize data structures and deveIop intermediate dimension appIications properIy structured in an extensibIe and rationaI form, separating data from its representation.

Program

1   Introduction
Bytecode and the Java virtual machine Aplications and applets
A simple Java application
2   Transiction between C/C++ to Java Primitive types
Arrays of primitives Operators
Control statements 3 Classes
Manipulating objects with references Objects creation
Objects and references scope Garbage collector
Method overloading Construtors
static members
The finalize() method Arrays of objects Inner classes
4   Packages
5   Composition and inheritance Composition
Inheritance
The final keyword 6 Polymorphism Upcasting Polymorphism The class Object Abstract classes Interfaces
7   Collections
8   Exceptions
9   Files
10   Graphical Interface Applications and Applets Event handling
Components, events and listeners Layout managers
Some Swing components Painting
Images Sounds Threads
11   Model View Control
12   Object oriented state machine
13 Factory
14 Command

Curricular Unit Teachers

Internship(s)

NAO