Programming Laboratories
Keywords |
Classification |
Keyword |
OFICIAL |
Informatics |
Instance: 2018/2019 - 1S
Cycles of Study/Courses
Acronym |
No. of Students |
Study Plan |
Curricular Years |
Credits UCN |
Credits ECTS |
Contact hours |
Total Time |
MIEEC |
53 |
Syllabus |
4 |
- |
6 |
28 |
162 |
Teaching language
Suitable for English-speaking students
Objectives
Within the context of the specification, development and maintenance of software applications with graphical user interfaces (GUI) using client/server or database-crives architectures, this course aims to:
- Promote the acquisition of software engineering concepts, methods and techniques and enable students to apply them in the design and development of software systems.
- Equip students with practical skills in the use of software development tools appropriate to the specification and development of the product throughout its life-cycle, including debugging, testing and documentation of the Java programming language code.
Learning outcomes and competences
After completing this course, the student will be able to:
- Identify and document the requirements of a Software System using "user stories".
- Implement a prototype of the User Interface.
- Identify and document additional requirements.
- Obtain the conceptual domain model using UML.
- Describe the architecture using UML.
- Validate the architecture through a prototype.
- Modelling the structure of classes using UML.
- Modelling the behaviour of objects using UML.
- Prepare the User manual.
- Prepare the Deployment manual.
- Write Java classes using standard APIs.
- Documenting Java code using Javadoc.
- Test the code using Junit.
- Use a collaborative Application Lifecycle Management (ALM) tool.
- Use an integrated development environment (IDE) in software development.
- Use a version control system.
Working method
Presencial
Pre-requirements (prior knowledge) and co-requirements (common knowledge)
Knowledge of Programming languages.
Program
- JAVA programming language + Object-Oriented Programming: syntex, concepts, classes, collections, generics, SWING, I/O, Concurrency.
- Unified Modelling Language: modeling concepts; class, state and sequence diagrams. Other diagrams.
- Software Development Processes: concepts, methodologies, phases, practices, tools, artefacts, emerging technologies.
Mandatory literature
Scott W. Ambler;
The object primer. ISBN: 978-0-521-54018-6
F. Mário Martins;
Projetos de POO em JAVA, FCA - Editora Informática, 2014. ISBN: 978-972-722-792-1
Complementary Bibliography
Bruce Eckel;
Thinking in Java, Prentice Hall, 4th Edition, 2006. ISBN: 0131-87248-6
Russ Miles and Kim Hamilton;
Learning UML 2.0. ISBN: 978-0-596-00982-3
Mauro Nunes e Henrique O'Neill;
Fundamental de UML, FCA - Editora Informática, 2004. ISBN: 978-972-722-481-4
Alberto Manuel Rodrigues da Silva e Carlos Alberto Escaleira Videira;
UML, metodologias e ferramentas CASE. ISBN: 989-615-009-5
Henrique O.Neil, Mauro Nunes, Pedro Ramos;
Exercícios de UML. ISBN: 978-972-722-616-0
Teaching methods and learning activities
Tutorial lectures (2 hours per week) will be used to briefly overview the programatic topics, providing further studying references to openly discuss matters regarding cross-cutting issues around the application of acquired knowledge by the students.
In the laboratory classes (2 hours per week), the students will work in groups of four or five people in a software project, as well as in specific challenges (in pairs or triads), as means to consolidate the learning outcomes.
Software
IDE NetBeans
Dokuwiki
Enterprise Architect
SVN / GIT
keywords
Physical sciences > Computer science > Programming
Physical sciences > Computer science > Programming > Software engineering
Evaluation Type
Distributed evaluation without final exam
Assessment Components
Designation |
Weight (%) |
Participação presencial |
10,00 |
Teste |
20,00 |
Trabalho laboratorial |
70,00 |
Total: |
100,00 |
Amount of time allocated to each course unit
Designation |
Time (hours) |
Elaboração de projeto |
80,00 |
Estudo autónomo |
26,00 |
Frequência das aulas |
56,00 |
Total: |
162,00 |
Eligibility for exams
Practical work (PROJ) will be evaluated through the documentation submitted, the application developed and individual performance in class.
The theoretical concepts are evaluated through the individual response to two tests (M1, with consultation, and M2, without consultation)
The consolidation of specific topics will be ascertained by a set of regular exercises (EXE) to be completed throughout the course. These exercises wont have a direct impact on the final grade, yet they award points (XP).
Minimum required to pass this course: 40%, at least, at all assessment items (PROJ, M1 and M2) and a total score of 3000XP on the exercises (EXE).
This course, due to its laboratory nature, can not be replaced by taking an exam.
Calculation formula of final grade
Classification = 80% PROJ + 10% M1 + 10% M2
where:
PROJ = Project final grade.
M1 = First test grade.
M2 = Second test grade.
The classification of the practical component (PROJ) may vary from element to element in the same group b, based on the opinion of teachers and the self-evaluation to be conducted internally within each group.
Examinations or Special Assignments
Further to the demonstration of the product, an oral session may be required for some of the students.
Special assessment (TE, DA, ...)
Students under special regimes are expected to submit the practical work required for this course as ordinary students.
Students that are not required to be present in the classes, have to present the evolution of their work to the teacher simultaneously with the regular students, and conduct the same theoretical tests.
Classification improvement
Improving the classification requires a new enrolment in the course.