Programming Laboratories
| Keywords |
| Classification |
Keyword |
| OFICIAL |
Informatics |
Instance: 2012/2013 - 1S
Cycles of Study/Courses
Teaching language
Suitable for English-speaking students
Objectives
1 - BACKGROUND
Specification, development and maintenance of software applications with GUI using client/server architectures.
2 - SPECIFIC OBJECTIVES
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.
3 - PREVIOUS KNOWLEDGE
Knowledge of Object Oriented Programming.
4 - PERCENTAGE DISTRIBUTION
Scientific Component: 40%
Technological Component: 60x%
5 - LEARNING OUTCOMES
After completing this course, the student will be able to:
- Identify and document the requirements of a Software System using "user stories"
- Describe the use cases using UML
- Implement a prototype of the User Interface
- Identify and document additional requirements
- Obtain the conceptual domain model using UML
- Obtain business process models 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
- Make versions of software components
- Documenting Java code using Javadoc
- Test the code using Junit
- Use a collaborative documentation development tool
- Use an IDE in software maintenance
- Use a version control system
Program
- Introduction to Software Engineering and Agile Modelling.
- Introduction to Engineering requirements. Requirements documentation.
- UML modelling language.
- Object-oriented software design. Modelling of architecture. Structure, behaviour and architecture design.
- User interfaces design.
- Coding with Java.
- Verification, validation and software testing.
- Software maintenance. Configurations and versioning.
- Project management.
Mandatory literature
Scott Ambler; The Object Primer, Cambridge University Press, 3rd Edition, 2004. ISBN: 978-0-521-54018-6
Thinking in Java; Bruce Eckel, Prentice Hall, 4th Edition, 2006. ISBN: 0131-87248-6
Complementary Bibliography
Alberto Manuel Rodrigues da Silva e Carlos Alberto Escaleira Videira;
UML, metodologias e ferramentas CASE. ISBN: 989-615-009-5
Russ Miles and Kim Hamilton;
Learning UML 2.0. ISBN: 978-0-596-00982-3
Ian Sommerville;
Software engineering. ISBN: 0-321-31379-8
Mauro Nunes, Henrique O.Neill;
Fundamental de UML. ISBN: 972-722-481-4
Teaching methods and learning activities
Lectures (2 hours per week) will be used to present the theoretical content, together with practical examples using the methodologies and tools to be used in laboratories. In the laboratory classes (2 hours per week), the students will work in groups of five people in a software project.
Software
ArgoUML
IDE NetBeans (Linux e Windows)
Enterprise Architect (Windows)
Umbrello (Linux)
SVN
CVS
dokuwiki
keywords
Physical sciences > Computer science > Programming > Software engineering
Physical sciences > Computer science > Programming
Evaluation Type
Distributed evaluation without final exam
Assessment Components
| Description |
Type |
Time (hours) |
Weight (%) |
End date |
| Attendance (estimated) |
Participação presencial |
56,00 |
|
|
| TP1: User Interface Prototype |
Trabalho laboratorial |
10,00 |
|
2012-10-02 |
| TP2: Requirements Specification |
Trabalho laboratorial |
14,00 |
|
2012-10-16 |
| TP3: High Level Project |
Trabalho laboratorial |
7,00 |
|
2012-10-30 |
| TP4: Prototype |
Trabalho laboratorial |
18,00 |
|
2012-11-13 |
| TP5: Detailed Project |
Trabalho laboratorial |
10,00 |
|
2012-12-04 |
| TP6: Product |
Trabalho laboratorial |
39,00 |
|
2012-12-11 |
| TP7: Product presentation |
Participação presencial |
2,00 |
|
2012-12-14 |
| TP8: Individual Performance |
Trabalho escrito |
|
|
|
| FT1: Use Cases Model |
Teste |
1,50 |
|
2012-10-08 |
| FT2: Conceptual Domain Model |
Teste |
1,50 |
|
2012-11-05 |
| FT3: Architectural Model |
Teste |
1,50 |
|
2012-11-19 |
| FT4: Java |
Teste |
1,50 |
|
2012-11-26 |
|
Total: |
- |
0,00 |
|
Eligibility for exams
Practical work (TP) will be evaluated through the documentation submitted, the application developed and individual performance in the class (TP1 to TP8).
The theoretical concepts are evaluated through the individual response to CAT sheets (FT1 to FT4).
Minimum required to pass this course: 50% in each of the practical components (TP1 to TP8) and 40% overall mark in the CAT sheets (FT1 to FT4).
This course, given its laboratory nature, can not be replaced by taking an exam.
Calculation formula of final grade
Classification = 80% TP + 20% FT
where:
TP = (TP1 + 3* TP2 + 2* TP3 + 2* TP4 + 2* TP5 + 8* TP6 + TP7 + TP8 )/20
FT = (FT1 + FT2 + FT3 + FT4) / 4
The classification of any assessment component may vary from element to element in the same group by plus or minus 2 values, based on the opinion of teachers and the self-evaluation to be conducted internally within each group.
Examinations or Special Assignments
After 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 enrollment in the course.