Object Oriented Programming Laboratory
Keywords |
Classification |
Keyword |
OFICIAL |
Programming |
Instance: 2010/2011 - 2S
Cycles of Study/Courses
Acronym |
No. of Students |
Study Plan |
Curricular Years |
Credits UCN |
Credits ECTS |
Contact hours |
Total Time |
MIEIC |
103 |
Syllabus since 2009/2010 |
2 |
- |
6 |
70 |
162 |
Teaching language
Portuguese
Objectives
Specific aims:
To develop skills in the development (design, programming and testing) of fairly complex programs, using object oriented technologies, including the Java programming language, the Unified Modeling Language, the Eclipse IDE, and the JUnit unit testing framework.
Learning Outcomes:
At the end of this course, students should be able to:
- develop (design, code, document, analyze, test and maintain) object oriented programs with UML and Java;
- use tools to support the various phases of program development and maintenance;
- use patterns and frameworks.
Program
The Java language: elements of language and differences from C++.
Unit testing and test-driven development with JUnit.
Java libraries (Java API): overview, collections, input / output and graphical user interfaces.
Object-oriented design with UML (Unified Modeling Language): principles of object-oriented design, overview of UML, class diagrams, sequence diagrams, state diagrams, model driven development, examples.
Design patterns.
Program documentation and coding standards.
Refactoring.
Tools for dynamic program analysis (debugging, profiling).
Version control.
Optional topics to be addressed in the last lectures: reflection and run-time type information, design by contract, features of other object-oriented languages; multithreading; meta-programming.
Integrated project.
Mandatory literature
Bruce Eckel;
Thinking in Java. ISBN: 0-13-027363-5
Russ Miles and Kim Hamilton;
Learning UML 2.0. ISBN: 978-0-596-00982-3
Complementary Bibliography
Kent Beck;
Test-driven development. ISBN: 978-0-32-114653-3
Erich Gamma... [et al.];
Design patterns. ISBN: 0-201-63361-2
Martin Fowler ; with contributions by kent Beck... [et al.];
Refactoring. ISBN: 0-201-48567-2
Teaching methods and learning activities
Theoretical exposition and discussion of program topics, more concentrated at the beginning of the semester.
Hands-on lab for the iterative development of two projects in object-oriented technologies, in groups of two students:
- a first "guided project" identical for all groups, to be held in the first half of the semester;
- a second "integrated project", with separate subjects for different groups, to be held in the second half of the semester, possibly in coordination with other courses the same semester.
Individual computer based programming test, in the middle of the semester.
Software
Eclipse
Enterprise Architect
Evaluation Type
Distributed evaluation without final exam
Assessment Components
Description |
Type |
Time (hours) |
Weight (%) |
End date |
Attendance (estimated) |
Participação presencial |
70,00 |
|
|
Guide project - part outside classes |
Defesa pública de dissertação, de relatório de projeto ou estágio, ou de tese |
24,00 |
|
2011-04-01 |
Integrated project |
Defesa pública de dissertação, de relatório de projeto ou estágio, ou de tese |
32,00 |
|
2011-06-03 |
Individual computer based programming test |
Exame |
4,00 |
|
2011-03-16 |
Presentation and discussion of integrated project |
Exame |
2,00 |
|
2011-06-10 |
|
Total: |
- |
0,00 |
|
Amount of time allocated to each course unit
Description |
Type |
Time (hours) |
End date |
Individual study |
Estudo autónomo |
30 |
2011-06-09 |
|
Total: |
30,00 |
|
Calculation formula of final grade
Assessment components and their weights:
- 15% - individual computer based programming test;
- 25% - guided project;
- 20% - intermediate delivery of the integrated project;
- 40% - final delivery of the integrated project.
All components have a minimum grade of 40%.
Special assessment (TE, DA, ...)
All components are mandatory for all students.
Students excused from attendance at school (student workers, etc..) should present the work on the same dates of the remaining students and should regularly meet their teachers to show the progress of their work.
Classification improvement
Frequency of the course the following year.