Go to:
Logótipo
You are in:: Start > CC3034

Software Architecture

Code: CC3034     Acronym: CC3034     Level: 300

Keywords
Classification Keyword
OFICIAL Computer Science

Instance: 2020/2021 - 2S Ícone do Moodle Ícone  do Teams

Active? Yes
Web Page: https://www.dcc.fc.up.pt/~zp/SeWenta/ASW20/
Responsible unit: Department of Computer Science
Course/CS Responsible: Bachelor in Computer Science

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
L:B 1 Official Study Plan 3 - 6 56 162
L:CC 57 Plano de estudos a partir de 2014 2 - 6 56 162
3
L:F 3 Official Study Plan 2 - 6 56 162
3
L:G 0 study plan from 2017/18 2 - 6 56 162
3
L:M 2 Official Study Plan 2 - 6 56 162
3
L:Q 0 study plan from 2016/17 3 - 6 56 162
MI:ERS 79 Plano Oficial desde ano letivo 2014 3 - 6 56 162
Mais informaçõesLast updated on 2021-03-30.

Fields changed: Calculation formula of final grade, Tipo de avaliação, Melhoria de classificação, Tipo de avaliação

Teaching language

Suitable for English-speaking students

Objectives

The goal of this course is to introduce students to the conceptual models and software tools used in large software development projects.

Learning outcomes and competences

The objectives of this course are the development of the student's ability to:

    • model and design object-oriented programs;
    • use modeling and software development tools;
    • know specialized systems used in application development.

 

Working method

B-learning

Pre-requirements (prior knowledge) and co-requirements (common knowledge)

Reasonable programming skills

Program

 

    1. Java and object orientation
      1. Java language
      2. Structuring
      3. Encapsulation
      4. Reuse
      5. Code conventions
    2. Design patterns
      1. General concepts on patterns
      2. Creational patterns
      3. Structural patterns
      4. Behaviour patterns
    3. Application interfaces and frameworks
      1. Concept definition
      2. Analysis of the basic JAVA API
      3. Analysis of some frameworks
    4. Application servers
      1. Web application models
      2. Web interfaces
      3. Application components
      4. Develop.
    5. Modeling software in UML
      1. Concept of model and diagram
      2. Types of diagrams
      3. Class diagrams
      4. Use case diagrams

 

Mandatory literature

Java in a Nutshell: Desktop Quick Reference for Java Programmers
D. Flanagan, O'Reilly ; Java in a Nutshell. ISBN: 1-56592-262-X

Comments from the literature

The syllabus covers the fundamental concepts related to with program design following a object oriented approach, starting with a review of these concepts in Java, following with the study of object oriented design patterns and finishing with the study of the UML modelling language. The assignments are an opportunity for students to design and implement larger programs and apply the acquired knowledge in their modelling. During these assignments are also used typical tools used in software development, such as integrated development environments and application servers. The teaching methodologies enable both the explanation of all the syllabus concepts and its consolidation by students. The distributed evaluation ensures that each subject is assessed immediately after being learned and the articulation between theoretical and practical assessment allows students to consolidate their knowledge on each concept or technology after acquiring experience with them.

Teaching methods and learning activities

Theoretical classes follow the flipped classroom model. Students must watch the videos exposing the material before the respective theoretical class. During these classes, either face-to-face or telematic, the discussion on the presented topics is promoted and students' questions answered.

Practical classes are used for working on practical assignments that consolidate the concepts exposed in the theoretical classes.

Software

Eclipse Neon - Ambiente integrado de desenvolvimento (IDE)
Papyrus - Editor UML para Eclipse
Plugin GWT para Eclipse
Google Chrome
Plugin de desenvolvimento GWT para o Google Chrome
Papyrus 0.8.0 - Editor UML para Eclipse
Robocode - Jogo de programação em tempo real
JDK 1.8 - Tookit de desenvolvimento Java

Evaluation Type

Distributed evaluation with final exam

Assessment Components

designation Weight (%)
Teste 60,00
Trabalho laboratorial 40,00
Total: 100,00

Amount of time allocated to each course unit

designation Time (hours)
Frequência das aulas 56,00
Trabalho laboratorial 60,00
Estudo autónomo 46,00
Total: 162,00

Eligibility for exams


Only students who participate in a minimum of 2 tests and 2 assignments will be considered as having attended the course unit.

Calculation formula of final grade

The assessment is distributed in 6 moments, 3 theoretical tests contributing with 12 points for the final grade (maximum of 20 points), and 3 individual practical assignments contributing with 8 points to the final grade. The weight and subjects covered by each theoretical test are the following:

    • Test 1 - 2 points - Java and object orientation;
    • Test 2 - 5 points - Design patterns, APIs and frameworks;
    • Test 3 - 5 points - Application servers, UML Modelling.

The weight and subjects covered by each individual practical assignment are the following:

    • Assignment 1 - 2 points - Java e object orientation;
    • Assignment 2 - 3 points - Design patterns, APIs and frameworks;
    • Assignment 3 - 3 points - Application servers, UML Modelling.

 

Examinations or Special Assignments

Theoretical tests are of multiple choice quizzes, answered on the computer during lab classes, according to the calendar of the course unit. Each test will assess the topics presented in the preceding few weeks.


The assignments are carried out in groups of up to 2 students during lab hours, and also evaluated during lab hours.

Special assessment (TE, DA, ...)

Students with a special assessment status, as well as other students that provide an acceptable justification, can take any of the assessments in a date and time arrange

Classification improvement

29-03-2021 As assessment changed to "Distributed with a final exam",there will also be an appeal. Therefore, the previous text has no effect. ("Since assessment is distributed without final exam, there will be no supplementary or grade improvement exam").
Recommend this page Top
Copyright 1996-2025 © Faculdade de Ciências da Universidade do Porto  I Terms and Conditions  I Acessibility  I Index A-Z  I Guest Book
Page created on: 2025-06-15 at 17:58:17 | Acceptable Use Policy | Data Protection Policy | Complaint Portal