|
Introduction to Object Oriented Programming
Scholar Year: 2019/2020 - 1S
| Code: |
INF32146 |
|
Acronym: |
IPOO |
| Scientific Fields: |
Informática |
Courses
| Acronym |
N. of students |
Study plan |
Curricular year |
ECTS |
Contact time |
Total Time |
| INF |
112 |
|
1º |
6,0 |
75 |
162,0 |
Teaching language
Portuguese
Intended learning outcomes (Knowledges, skills and competencies to be developed by the students)
Teaching and practice of introductory concepts of object-oriented programming based on the Java language.
Syllabus
Paradigm of Object Oriented Programming
History and evolution of programming languages.
Fundamental concepts of object orientation: Classes, Objects, State and Attributes, Behavior and Methods, exchange of Messages.
Data abstraction and information masking.
Modularity and encapsulation.
Classes and Instantiation.
Basic Concepts of Object Oriented Programming Using the Java Language
Classes and objects, attributes and data types, object creation, constructors, methods, and parameters.
Decision-making and logical operators. Expressions.
Primitive types and types by reference.
Class composition.
Methods and class variables. Constants.
Repeat instructions.
Grouping of objects: Matrices and collections. Generic classes.
Functional processing of collections.
Applying the basic concepts of Object Oriented Programming
Application identifiers and documentation.
Use of class libraries.
Organization of classes: packages and visibility.
Class design: cohesion and coupling.
Responsibility-oriented class design
Code rewriting (Refactoring).
Testing and debugging code
Software
IDE BlueJ para desenvolvimento em Java: http://www.bluej.org
IDE NetBeans para desenvolvimento em Java: http://netbeans.org
Demonstration of the syllabus coherence with the UC intended learning outcomes
Lectures
- Theoretical concepts
- Practical examples developed during classes.
Laboratory classes
- Execution of laboratory work (evaluated).
Autonomous Work
- Conducting a project with two phases.
- Monitoring theoretical and practical classes.
Teaching methodologies
Distributed evaluation with final exam
Demonstration of the teaching methodologies coherence with the curricular unit's intended learning outcomes
Consists of two components: Practical and Theoretical
Practice:
- Laboratory work (min. 0 values.Total of 12 Laboratories, expected 6 evaluated without prior notice)
and
- 1 project with 2 phases (min. 7.5 values in each phase, 9.5 average values in the two phases)
Theoretical:
- 2 theoretical tests (min. 7.5 values in each, 9.5 mean values in the two tests)
or
- Exam (min. 9,5 values)
Assessment methodologies and evidences
Normal:
Practical component, best between:
- 20% Laboratories + 80% Project;
- 100% Project.
Theoretical Component:
- By Tests: Average of 2 tests. By Exam: Exam Grade.
Final grade: 50% Practice + 50% Theoretical
Regular and Special:
In case of use, in the Normal Season, of one of the Components, Practical or Theoretical, it will be reused.
Practical Component (if there was no use of this component in the Normal Season, the project must be delivered in the Regular/Special ).
Theoretical Component (if there was no use of this component in the Normal Season, the examination must be performed in the Regular / Special).
Final grade: 50% Practice + 50% Theoretical
Primary Bibliography
David Barnes & Michael Kölling;Objects First with Java (6th Edition), Pearson Education Limited, 2016. ISBN: 978-1292159041 |
Secondary Bibliography
F. Mário Martins;Java 8 POO + Construções Funcionais, FCA, 2017. ISBN: 978-972-722-838-6 |
Bertrand Meyer;Object Oriented Software Construction , Prentice-Hall, 1997. ISBN: 978-0-1362-9155-8 |
Observations
SUPPORT HOURS
José Sena Pereira [F262] - Tuesday - 14:00 - 16:00 *; Thursday - 11:00 - 12:00 *
Cédric Grueau [F259] - Tuesday - 09:30 - 10:30 *
João Capinha [F206] - Thursday - 16:30 - 17:30 *
(*) By prior appointment by the student
|
|