Go to:
Logótipo
You are here: Start > Courses/CE or Courses/Cycle of Studies or Programmes/Cycle of Studies > MIEIC > Information for Applicants
Today is sunday
Concurso para a Bolsa de Colaboradores

Programmes

Master in Informatics and Computing Engineering

General information

Official Code: 9459
Acronym: MIEIC
Description:

At the end of the first three years (1st cycle) the students will acquire a solid base instruction comprising not only the essential scientific and engineering skills, but also a wideband fundamental knowledge in several domains of informatics. At the five years integrated cycle conclusion the graduated students will exhibit an advanced instruction in Informatics and Computation Engineering, comprising a specialization area or a deep broader range of interests. In the last two years the student has an extensive subject offer, individually configurable. Possible specializations include: Software Engineering and Information Systems (divided in two sub areas with the same name) Networks and Information Technologies (divided in Internet Technologies and Information Infrastructures sub areas) Intelligent Systems and Multimedia (divided in two sub areas with the same name)

Certificates

  • Informatics and Computing Engineering (300 ECTS credits)
  • Engineering Sciences - Informatics and Computing Engineering (180 ECTS credits)

Courses Units

Algebra

EIC0003 - ECTS

SPECIFIC AIMS: This discipline has two main objectives: the promotion of logical reasoning and methods of analysis and the introduction and theoretical development of a set of concepts that will be fundamental to support the study of other disciplines along this course of studies.

Mathematical Analysis

EIC0004 - ECTS

This course aims to acquaint students with the differential and integral calculus, in order to make them able to apply basic tools of mathematical analysis in problem solving related with subjects of this degree. This course also aims to expand students’ knowledge, so that they can solve new kinds of problems. At the end of this course, the learning outcomes are: 1. To solve derivatives of functions, draw graphics and study functions in general 2. To solve integrals and use them in various engineering applications 3. To use different integration techniques and differential equations 4. To use series and polynomials, to dominate the approximation concepts.

Computer Architecture and Organization

EIC0083 - ECTS This course introduces the principles of operation and general structure of a modern computer and its general structure, with particular emphasis on the contribution of each subsystem to the overall performance. The analysis of the implementation technology of computers (logic circuits and memory), together with the basic principles of digital information representation, will allow students to identify and describe the principles of computer operation, programming languages and software development.

After completing this course, students will be able to:

- Identify and describe the major subsystems of a personal computer: processing unit, memory and peripherals;
- Explain and evaluate the performance of computers in simple scenarios involving the fundamental performance equation and Amdahl's law;
- Describe and interpret basic forms of digital representation of numerical information;
- Explain and perform basic binary arithmetic operations;
- Identify and explain the operation of basic logic circuits;
- Distinguish combinational and sequential circuits;
- Determine the logic diagrams corresponding to a Boolean expression and vice-versa;
- Explain the operation of basic logic circuits like comparators and adders, and establish the corrsponding Boolean expressions;
- Examine the operation of a Moore state machine;
- Design state machines for simple control systems;
- Classify and categorize the types of instructions of a processing unit;
- Explain the basic principles of instruction encoding and identify its impact on performance;
- Write simple programs in assembly language involving Boolean and arithmetic operations, tests and jumps;
- Describe the operation of a single-cycle processing unit;
- Specify simple extensions of the single-cycle processing unit;
- Describe and explain instruction pipelines and their impact on performance;
- Describe the operation of a pipelined processing unit;
- Apply state machines to the analysis of the control unit of a pipeline;
- Identify data and control conflicts that may occur in a pipelined instruction unit; a processing unit in the pipeline;
- Assess the impact of pipeline conflicts on performance for simple scenarios;
- Distinguish between static and dynamic memories, and identify their applications;
- Explain the working principle of the two types of memories;
- Identify the different levels of the memory hierarchy of a personal computer;
- Explain the operation principle of cache memories;
- Describe the organization of a cache memory (associativity) and the handling of cache misses; treatment of access failures.
- Evaluate numerically the influence of the memory hierarchy on performance (for simple scenarios);
- Explain the problems associated with the use of cache memory in multiprocessors.

Programming Fundamentals

EIC0005 - ECTS

1 - BACKGROUND

Informatics Engineers require expertise in programming techniques which can only be consolidated with a good basis in programming fundamentals.

2 – SPECIFIC AIMS

To develop the basic knowledge to solve medium complexity programming problems.

3 – PERCENTUAL DISTRIBUTION Scientific component: 40% Technological component: 60%

 

Discrete Mathematics

EIC0011 - ECTS

Background

Logic is the fondament of any scientific reasoning and that is the main reason for its inclusion in the first year of the program. Furthermore, in the case of a Computer Science program, Logic has direct operational relevance in multiple professional aspects.

Specific aims

The goals are the development of skills of rigorous reasoning and in the techniques of discrete mathematics required in several areas of computer science like problem solving, algorithm design and analysis, theory of computing, knowledge representation and security.

Percentual distribution

Scientific component: 100%

Technological component: 0%.

Project FEUP

FEUP002 - ECTS
  • To receive and integrate the new coming students.
  • To introduce the most important services
  • To teach “Soft Skills” and to stress their importance (soft skills: team work, communication, etc) 
  • To discuss a scientific theme/ project

 

Complements of Mathematics

EIC0009 - ECTS 1- BACKGROUND
The main aim is to introduce fundamental mathematical concepts by developing the ability to analyze problems and results and also to acquire mathematical precision. These aspects form an educational background for other subjects in the curricula.

2- SPECIFIC AIMS
Enhance the students reasoning capacity and knowledge of essential mathematical concepts. The students should acquire solid theoretical and practical training on the main concepts and results of differential and integral calculus of several variables, including the basic theorems of calculus. Knowledge of Laplace Transforms and its applications. Develop periodic functions in Fourier series.

3- PREVIOUS KNOWLEDGE
Functions and graphs. Differential and integral calculus in R1, R2 and R3.
Matrix Algebra.

4- PERCENTAGE DISTRIBUTION
Scientific component:75%
Technological component:25%

5- LEARNING OUTCOMES
Knowledge and understanding: Partial and directional derivatives for real-valued and vector-valued functions; gradient vector. The chain rule for real-valued and vector-valued functions including implicit functions. Apply parametric curves and surfaces in R3 to calculate line and surface integrals. Establishment of the relationship between the line integral and the surface integral based on the Green’s, Stokes and Gauss Theorems. Solve linear differential equations. Represent periodic functions in Fourier series.
Engineering analysis- Differential and integral calculus of several variables.
Engineering design- Engineering problems of multiple variables.
Investigations- Practical formation on the main concepts and results of differential and integral calculus in R3.
Engineering practice- Computation of physical quantities.
Transferable skills- Knowledge of differential and integral calculus of several real variable functions.

Physics I

EIC0010 - ECTS

Physics is the foundation of any Engineering field. With the advent of computers, the kind of physical problems that can be solved in an introductory course has expanded significantly. Computational physics and simulation techniques allow students to get a wider view of physical phenomena without requiring complicated analytical methods. The computational techniques developed to solve mechanics problems have been applied to other areas outside physics, giving rise to the general theory of dynamical systems.

This course aims to give the student basic background knowledge on dynamics and the computational techniques used to solve dynamical systems. A Computer Algebra System (CAS) is used, in order to allow the student to solve practical problems in mechanics and dynamical systems, rather than spending their time learning abstract analytical techniques. The knowledge on dynamics and computer modeling of physical systems acquired will be very important in other courses of their curriculum: computer graphics and visualization, games theory, simulation and scientific computing.

Statistical Methods

EIC0105 - ECTS

This course unit aims to provide students with an integrated vision of the basic concepts and techniques of Statistics.

Microprocessors and Personal Computers

EIC0016 - ECTS

BACKGROUND

The PC-compatible desktop and portable computers have become an everyday tool in modern societies. PC architecture reflects the current technological development, but also defines the limits of the computer's capabilities and performance. At the core of the PC-compatible computer, the IA-32 ISA is the most widespread instruction set architecture in use today. Both computer architecture and ISA have a deep impact on the day-to-day practice of informatics engineers.

SPECIFIC AIMS

The course unit Microprocessors and Personal Computers aims to develop, combine and apply concepts in the areas of Computer Architecture and Programming Languages. On the one hand, the course explores the relationships between the CPU instruction set and low-level programming (assembly language). On the other hand, recognizing that the architecture of modern personal computers goes far beyond the architecture of the CPU, the course addresses the general architecture of a PC, including data storage subsystem and other peripherals. The discussion is based on the family of microprocessors Intel IA-32, used in the vast majority of personal computers. Upon successful completion of this course, students will have acquired the ability to identify and describe the architecture of personal computers in use today, as well as the ability to apply assembly programming to the implementation of any algorithm.

PERCENTUAL DISTRIBUTION

  • Scientific component: 60%
  • Technological component: 40%

Programming

EIC0012 - ECTS

The main objectives of this curricular unit are to transmit to the students:
- fundamental knowledge on procedural and object oriented programming techniques;
- the ability of applying those programming paradigms to develop programs, using the C++ language as development tool.

Algorithms and Data Structures

EIC0013 - ECTS

Following up the former course on Programming, with this unit we intend: - to use notions already acquired and systematically apply data structures and algorithms to solve certain categories of problems - to use object-oriented programming - give emphasis to the organisation of programs on the basis of abstract data types. Practice is to be achieved with exercises and implementation of a small project in C++.

Physics II

EIC0014 - ECTS

Nowadays information processing, storage and transmission are done using electromagnetic phenomena. Therefore, the background knowledge for a computer engineer must include the study of electricity, magnetism and electric circuits.

This course aims to provide the students with basic knowledge on electromagnetism and signal processing. An experimental approach is used with simple on-hands experiments that the students may conduct during the practical sessions, in order to strengthen the subjects covered in the lectures and to gain experience with the use of measuring devices. The Computer Algebra System (CAS) used in Physics 1 is also used in this course to help solve problems and to visualize electric and magnetic fields.

Computer Laboratory

EIC0020 - ECTS

1- Introduction

I/O devices are an integral part of a computer, without which the usefulness or the ease of use of a computer would be significantly lower. The importance of I/O devices in computer-based systems has increased since the first generation of computers, and it continues up to this day with the ever increasing use of computers in embedded systems. However, programming of I/O devices using their programatic interface requires specific knowledge and techniques.

2- Specific Objectives

This course unit aims to endow students with the knowledge and the skills required to: -

  • use the hardware interface of the most common computer peripherals;
  • develop low level software and embedded software;
  • program in the C language (using C++ as a reference);
  • use various tools of software development.

3- Percentual Distribution

Scientific: 10%

Tecnological: 90%

Numerical Methods

EIC0021 - ECTS The course aims at providing the student with solid numerical methods foundations. It is topic oriented, covering numerical error analysis, algebraic and differential equation and systems solving, definite integration, non-linear optimization and curve fitting.
The student will be able to:
- identify numerical problems, choosing and implementing the right solution method, after doing numerical experimentation;
- understand numerical methods in the context of engineering, working on examples from engineering practice;
- criticise results, from the methodological, implementation and problem context points of view.

Computing Theory

EIC0022 - ECTS At the end of the semester, students should:
- Be capable of identifying the important contributions to computing theory and its protagonists;
- Be capable of identifying the problems that can be solved with finite automata and express them rigorously;
- Be capable of comparing deterministic finite automata (DFAs), non deterministic finite automata (NFAs), regular expressions and regular languages;
- Be capable of applying the properties of regular languages;
- Be capable of identifying problems which can be handled by context- free grammars (CFGs);
- Be capable of relating context- free grammars and pushdown automata (PDAs) in the processing of context-free languages;
- Be capable of expressing computing problems by using Turing machines;
- Be capable of relating the studied computing models with their applications in the computability theory and complexity theory.



Databases

EIC0023 - ECTS

BACKGROUND

Information Systems (IS) is a key topic in informatics engineering. Databases are the data repository that is required in any IS. The database course is a key course in the area of IS. The main objective of this course unit is to prepare students to design and develop database systems that meet the users' needs according to the organizational management goals.

SPECIFIC AIMS

This is an introductory course on databases. It is focused on the relational paradigm. It covers the design (UML model), construction (SQL data definition language), querying (SQL data manipulation language and PL/SQL) and management (optimization, access control and concurrency policies).

PERCENT DISTRIBUTION

Scientific component:50% Technological component:50% 

Computer Graphics

EIC0019 - ECTS

BACKGROUND Computer graphics has been stated and is today a very important component in the whole human-computer interaction ambience. However, its applicability goes far beyond, having nowadays a prominent position in major industries such as the cinema and electronic games. Also in technology and science it plays an irreplaceable role allowing the visualization of phenomena, often linked to simulation and virtual reality techniques. In this course, the approach to computer graphics is made under a Top-Down philosophy, starting with the subjects most related to 3D (image synthesis, modelling) and ending with a visit to several most basic algorithms in 2D. The 3D components of the programme are accompanied, in practical lessons, with exercises based on the OpenGL technology.

SPECIFIC AIMS -Transmit knowledge of concepts, techniques, algorithms, computer graphics technologies and architectures. -Strengthen the theoretical knowledge with practical application, through the implementation, testing and evaluation of algorithms discussed in theory.

PERCENTAGE DISTRIBUTION
-Scientific Component: 50%
-Technological Component: 50%

Algorithm Design and Analysis

EIC0110 - ECTS

BACKGROUND: This course unit aims to follow up and deepen the knowledge acquired in previous modules such as “Programming” and “Algorithms and Data Structures”, namely by introducing techniques for devising and implementing efficient algorithms to solve different classes of problems, as well as for analysing and assessing them.

SPECIFIC AIMS: The course is intended to provide students with the following skills:

  • be acquainted with and know how to apply efficient algorithms in graph problems, sets and strings;
  • be acquainted with and know how to apply generic tecquniques to conceive and devise a wide range of algorithm classes;
  • be acquainted with some classes of intractable problems and know how to conceive and devise algorithms to produce approximate solutions to some of those problems. 

Object Oriented Programming Laboratory

EIC0111 - ECTS
  • Develop and deepen the skills of object-oriented programming, in a modern object-oriented programming language (Java), representative of the languages used for developing application software.
  • Developing object-oriented design skills, employing UML and design patterns. 
  • Learn to develop applications with graphical user interfaces (GUI) and large software libraries. 
  • Acquire the habit of following good practices in software development (iterative development, unit testing, refactoring, pair programming, etc.). 

Operating Systems

EIC0027 - ECTS

The main objectives of this curricular unit are to provide the fundamental knowledge on:
O1- the structure and the functioning of an operating system;
O2- the use of the Application Programming Interface (API) of a real .

Software Engineering

EIC0024 - ECTS Objectives:
This course aims to acquaint students with the engineering and management methods necessary for the cost-effective development and maintenance of high-quality complex software systems.

Learning Outcomes:
At the end of the semester, students should:
- be capable of describing the principles, concepts and practices of software engineering and software life cycle;
- be acquainted with and be capable of applying the required tools and techniques to carry out and manage the various tasks in the development of high quality software;
- be capable of explaining the development methods and processes of different types of software systems.

Graphical Applications Laboratory

EIC0084 - ECTS

BACKGROUND

This curricular unit is defined in sequence with "Computer Graphics", from the 2nd semester of second year, where the main theoretical subjetcs were acquired.

SPECIFIC AIMS 

The objective of this course is to develop a set of practical skills, some of them already tough in above courses. This course is focused in development practical works, multidisciplinary as possible, namely in the areas of Computer Graphics and Interfaces, Logic Programming, Operating Systems.

PERCENTUAL DISTRIBUTION
Scientific Component: 30%
Technological Component: 70%

 

It is also an objective to give the students the capacity to develop software, namely in the creation of 3D environments (polygonal representation, illumination and interaction) and in the use of services offered by the operating system, with emphasis in communications and synchronization.

Web Languages and Technologies

EIC0112 - ECTS

The goal is providing the students with skills in the most significant languages and Web technologies in the current technological context or that were breakthroughs in the Web's evolutionary process. 

Logic Programming

EIC0026 - ECTS

The Logic Programming paradigm is a declarative approach to programming, based on formal reasoning processes, which is more appropriate to address some types of problems. Constraint logic programming allows addressing constraint satisfaction and optimization problems by modeling them in a straightforward and elegant fashion.

Aims: To get acquainted with the Logic Programming and Constraint Programming paradigms. To develop skills for abstract reasoning and declarative problem representation.

The course focuses on first-order logic programming. On the practical side the Prolog programming language is explored. Additionally, constraint logic programming is also introduced, and several application examples are provided.

Percentual Distribution: Scientific component: 50%; Technological component: 50%

Computer Networks

EIC0032 - ECTS Provide the students with basic training in Data Networks - knowledge of the essential architectural concepts and principles, the more used technologies and solutions and also the main standards. Furthermore, the student must be capable of analyzing and evaluating the performance of different types of systems and communication networks.

Compilers

EIC0028 - ECTS

Provide concepts which allow:

- to understand the languages’ compilation phases, specially imperative and object-oriented (OO) languages;

- to specify the syntax and semantics of a programming language;

- to understand and use the data structures and the main algorithms used to implement compilers.

Artificial Intelligence

EIC0029 - ECTS

This course provides a set of subjects (topics) that are the core for the Intelligent System area.


Aims:



  • To know what characterizes and distinguishes AI and how to apply it.

  • To know how to automatically represent, acquire, manipulate and apply knowledge using Computational Systems.

  • To develop a small project using AI techniques.


Percentual Distribution: Scientific component: 60%; Technological component: 40%

Database and Web Applications Laboratory

EIC0085 - ECTS
The unit aims at revisit the learning outcome of databases and web languages and technologies, providing a practical perspective on this core areas of computer engineering.
 
In this course, the students will learn how to design and develop web-based information systems backed by database management systems.

Personal and Interpersonal Proficiency

EIC0031 - ECTS

OBJECTIVES: • Identify and acquire the basic knowledges to know how to progressively maximize the successful conditions of the personal and interpersonal performance. • Apply self-control techniques and strategies of interpersonal relationships that allow managing with high mastery the efficiency of work processes implementation and the effectiveness of the outcomes to achieve in each organization. • Be aware of the importance of knowing how to use soft skills and to perform growing changes in order to develop a professional profile that contributes to improve the future performance of the computer engineer.

Distributed Systems

EIC0036 - ECTS

1 - BACKGROUND

One of the most important recent developments in computing is the growth of distributed applications, as witnessed by the sheer number of Web-based applications, many of them mobile.

2 - SPECIFIC AIMS

This course unit has to main objectives:

  • give students theoretical knowledge on distributed systems so they can make correct decisions when confronted with the need to implement such a system;
  • provide students with practical knowledge so they can develop applications taking into account potential advantages of distributed environments.

3 - PERCENTAGE DISTRIBUTION

Scientific: 50%; Technological: 50%

 

Agents and Distributed Artificial Intelligence

EIC0033 - ECTS

We assume in this course a technological-oriented approach to Software Agents design and applications. Students are expected to acquire a technological perspective on the subject.

Agents Oriented Programming is introduced as a new metaphore for designing and implementing distributed computer systems. However, students will be able to deal with agents, as well as multi-agent systems, design through the support of formalization tools, including logics (intentional, BDI...). Through small projects, students will be able to illustrate agents and MAS concepts in their practical aspects and importance.

 

Enterprise Management

EIC0034 - ECTS

This course aims at developing management competencies, integrating a solid theoretical basis, based in the presentation and discussion of concepts and methodologies, and its application to the study of a company and case study discussion. 

Software Development Laboratory

EIC0086 - ECTS The course unit has the key goal to develop the following skills in the students:
- applying a Software Engineering process to the complete development of a real software system. along the course unit, covering the specification of requirements, software architecture and design, coding, integration, test, documentation and demonstration;
- acquire fundamental knowledge and experience about agile software development practices: iteration planning, unit tests, refactoring, pattern-based design, collective ownership, pair programming, continuous integration;
- use software development tools adapted to agile methods to enable the continuous monitoring and tracking of the project along its lifecycle;
- use of large-scale APIs with class packages, to induct the component-based computing and the problems related with application integration;
- development of collaborative work integrating other project participants in design decisions, planning, delegation, negotiation, and group review;
- application and integration of the contents acquired by the students in courses within the areas of Software Engineering, Data Bases, Graphic Interfaces, Operative Systems, Programming Languages and Artificial Intelligence.

Formal Methods in Software Engineering

EIC0039 - ECTS 1- BACKGROUND
Students should have knowledge about software processes and software modelling.
2- SPECIFIC AIMS
To develop abstraction capabilities in order to describe what the system should do and not the way to do it. Be familiar with formal methods and the way they can contribute to increase the quality of software systems.
3- PREVIOUS KNOWLEDGE
Software engineering; Computing Theory; Algorithm design and analysis.
4- PERCENT DISTRIBUTION
Scientific component:75%
Technological component:25%
5- LEARNING OUTCOMES
At the end of the course students should be able to:
- Apply formal methods of specification (based on models, based on properties, based on behavior) and verification ("Model-checking, formal proofs and test) in the development of software systems.
- Identify existing formal methods and know when they should be applied and which are most suitable in each case.

Information Systems

EIC0040 - ECTS CONTEXT / BACKGROUND
This is the only course on Information Systems in MIEIC. For this reason, we want this course to be an introductory Information Systems in Organizations focusing on their role and how the they contribute to the creation of value.

SPECIFIC OBJECTIVES / SPECIFIC AIMS
The aim of this course to prepare students to understand the role of Information Systems (IS) in organizations and the importance of its alignment with the business strategy.
At the end of the course, students should be able to do a basic use of an ERP. The business information systems used in the course will be: SAP and Primavera. We will also have presentations from ERPs: Microsoft and Sage X3 NAVISION.

RESULTS OF TEACHING / LEARNING OUTCOMES
- Interpret, classify and explain how the IS contributes to an organization Value Creation
- Perform a sales and acquisition process interacting with ERP. Recognize the various steps involved.

Software Systems Architecture

EIC0048 - ECTS

BACKGROUND As the dimension and complexity of software systems grows, it becomes more important to understand them at more advanced abstraction levels. The architecture of a software system describes the global structure in terms of its components, external proprieties and its interrelations. For medium and big-dimension systems, to chose the right architecture becomes crucial to the success of its development.

SPECIFIC AIMS This course aims to introduce the concepts of software architectures, design patterns and topics directly related, such as the software components’ one. Furthermore, it aims to teach how to design, understand and evaluate software systems architectures both at the level of abstraction of macro-architecture and micro-architecture. All this to familiarize the students with the fundamental concepts of software architecture, the proprieties and applicability of the different architecture styles, the most popular design patterns, software components, reusable architectures and the relations of all these concepts with the software reuse.

PERCENTAGE DISTRIBUTION Scientific component: 50% Technologic componente: 50.

Parallel Computing

EIC0089 - ECTS

BACKGROUND

Parallel and distributed computing is becoming the computing paradigm as hardware tends to multi-processing units. The common desktop is today built with multicore processors that collectively have more processing power, than the single core processor, but cores are individually less powerful. Programmers will have to deal with multiprocessor architectures in order to use effectively the machines of today and of the future.

AIMS

Acquisition of useful knowledge to develop parallel programs. Construction of solid basis in parallel architectures, algorithms parallelization, programming models, synchronization of processes and performance measures by the development of programs.

Scientific component:50%

Technological component:50%

 

Computer Games Development

EIC0090 - ECTS

1 - BACKGROUND

Software engineers can take great advantages of having skills in the development of digital games, not only as a final product of the entertainment industry, but also due to the immersive and interactive capabilities of this technology that can enhance diverse software products, even in learning.

2 - SPECIFIC AIMS

The aim of this course is to convey knowledge about the process of computer games development, with particular emphasis on issues related to the programming of the distinct modules that compose a game engine.

3 - PERCENT DISTRIBUTION

  • Scientific component: 30%
  • Technological component: 70%

 

Software Systems Requirements Engineering

EIC0053 - ECTS

This course unit aims to endow students with planning and management skills, so that they can analyse and specify the requirements of a software system.

Operations Management and Logistics

EIC0091 - ECTS

Operational Research

EIC0037 - ECTS

The aim of this course to provide the students with competences to: - identify decision problems; - apply the different phases of the methodology for a decision problem resolution, in particular defining and structuring problems, building models, applying quantitative methods for obtaining a solution - analyse critically the obtained solution - understand the relevance of the role of an "agent of change" in the organizations

Project Management Laboratory

EIC0106 - ECTS 1 - BACKGROUND
The success of projects and software products depends not only on the field of technical skills necessary to perform the various activities of the life cycle of software development, but also, increasingly, a set of skills and management skills, behavioral and communication, such as project management skills (in its various variables of time, budget, scope, quality, resources, etc..), capacity for teamwork, relationship skills with customers and communication skills and marketing.

2 - SPECIFIC OBJECTIVES
At the end of the course students should be able to:
1.Identify the need for use of project management as well as the importance of its strategic framework;
2.Identify the different frameworks and methodologies for project management;
3. Identify and define the process areas and variables involved in project management;
4. Apply methodologies and tools for project management and teamwork;
5. Apply concepts and tools of quality management ;
6. Identify and manage project risks.

3 - PREVIOUS KNOWLEDGE
Mastery of technical skills needed to develop software projects.
Having attended the Software Development Laboratory (LDSO).

4 - PERCENTAGE DISTRIBUTION
Scientific Component: 50%
Component Technology 50%

5 - LEARNING OUTCOMES
This course unit aims to develop students’ software project management skills and team work skills in software projects. Students will be capable of solving a vast diversity of problems, which may happen in these projects. This course unit will also stimulate students’ entrepreneurship.

Markup Languages and Document Processing

EIC0107 - ECTS

BACKGROUND

The "Markup Languages and Document Processing" unit assumes as its context the widespread use of markup languages for representing semi-structured information and the existence of standardized tools for their treatment.

SPECIFIC OBJECTIVES

1. Make the students aware of the multiple non-trivial applications of markup languages;
2. Make the students familiar with the technologies of processing and storage of semi-structured information;
3. Explore the technologies in defining an annotation language and in the development of an application.

Marketing

EIC0061 - ECTS

The course aims to develop competences in the Marketing Management area, integrating a sound theoretical component, through the presentation and discussion of Marketing concepts and methodologies, with an applied component, through the development of a marketing plan and case study discussion.

Planning and Scheduling Methodologies

EIC0063 - ECTS

To address planning and scheduling problems in an integrated perspective.

 

To study traditional approaches to planning and scheduling problems.

 

To explore recent planning and scheduling methodologies, based on heuristic algorithms from the domain of Artificial Intelligence.

 

To apply heuristic techniques for planning and scheduling in problems of medium complexity.

Multimedia and New Services

EIC0064 - ECTS

The objectives of this course are: a) to present the concepts, services and their multimedia and hypermedia applications; b) to present coding techniques and representation of multimedia information; c) to introduce application development tools; d) to develop applications. 

Programming Paradigms

EIC0065 - ECTS

BACKGROUND

In previous years of the course the students learn several programming languages. Nevertheless,they missi a global view of Programming Languages.

SPECIFIC AIMS

Provide teh students with a global view of the different programming paradigms enphasising the concepts, implementation and adequacy to the class of problems so they can understand the trade-offs in the design of programming languages.

Network and System Services

EIC0092 - ECTS

1- Background
This course addresses concepts and technological aspects within the context of the current Internet network architecture. Although acting as a unified network, from the user perspective, the Internet results in fact from the interconnection of a large number of heterogeneous networks that employ diverse networking technologies. It is thus necessary to understand how these technologies interoperate in order to deliver seamless services to the users. On the other side, the Internet and the World Wide Web have become a fundamental part of our daily lives. Therefore, it is of utmost importance for a telecommunications engineer to acquire the necessary knowledge and expertise to design, install and manage efficiently all the essential services to enable the Internet to satisfy all the requirements.

2- Specific Aims
The aim of this course is to provide students with consolidated knowledge in the area of computer networks from a perspective of network designers and managers. In particular, students will learn how to identify the requirements of organizations and accordingly design the complete network infrastructure divided into sub-networks to satisfy specific requirements. They will learn the concepts associated to the routing of packets within a domain and between domains and will study the basic services necessary to install to ensure the required functionality is offered to the users.

3- Previous knowledge
Basic knowledge in data communication networks, including principles and concepts of network architectures, main networking technologies and solutions in use, as well protocols currently employed in IP networks.

4- Percentage distribution
Scientifc component: 50%
Technological component 50%

5- Learning Outcomes

At the end of the course students will be able to design and configure the network infrastructure and systems of an enterprise, equipped with all essential services such as DNS, email, Web, etc. They will be able to make the full assignment of IP addresses, install and configure routers, identify the required network services, install and configure them.

Critical Systems

EIC0073 - ECTS 1- BACKGROUND
Increasingly, are being used computer systems to support applications where their correct operation is vital to ensure the safety of users and the environment: from "anti-lock braking systems" used in automobiles, up to "fly-by-wire systems" used in aircraft and "shut-down systems" used in the chemical process industry. It is therefore vital that software engineers (and / or computer engineers) become aware of the potential implications of their work upon the safety of systems they are developing.

2- SPECIFIC AIMS
This course unit aims to broaden students’ knowledge regarding Critical Systems. This course unit will cover notions related to safety, which are fundamental during the development life-cycle of Critical Systems.
The main topics covered in this course include: a) the life-cycle phases for the development of safety critical systems, since its design and specification, to its certification, installation, maintenance and deactivation; b) Information about how to assess safety and how to determine the required measures to develop safety-critical computer systems; c) the available techniques to deal with critical safety aspects in computer systems and methodologies that can be used to improve its reliability.

3- PREVIOUS KNOWLEDGE
This course provides an introduction to safety-critical computer systems and assumes no prior knowledge about safety concepts, or any specific hardware or programming language. The previous knowledge presented by 4th year students (MIEIC) about system development (life-cycle), programming and software testing are appropriate to attend this course.

4- PERCENTAGE DISTRIBUTION
Scientific component: 70%
Technological component: 30%

5- LEARNING OUTCOMES
At the end of this course, it is expected that students will have consolidated their knowledge about: a) The need for a systemic approach to safety; b) The main software-based fault tolerance techniques; c) The main verification and validation guidelines for the reliable operation in Critical Systems.

Geospatial Systems

EIC0094 - ECTS

Database Technologies

EIC0076 - ECTS

The students should be able to design and manage large databases, namely to tune the physical schema, to optimize SQL queries, to profit from extensions to object manipulation and XML technology, and to recover and replicate data.

Distribution and Integration Technologies

EIC0077 - ECTS

The course main objectives are providing knowledge and practice acquisition of fundamental concepts in designing, architecture, choosing the the most appropriate technologies and implementing distributed business applications.

Electronic Business Technologies

EIC0078 - ECTS

Conducting business electronically is an increasingly ubiquitous approach. This course addresses this concept from a scientific-technological point of view.

Specific aims are: To understand the importance and opportunities of Electronic Business; To explain Electronic Business Models; To present Support Technologies for Electronic Business

Scientific component:50% Technological component:50%

Project Appraisal

EIC0044 - ECTS This course unit aims to provide students with knowledge of basic methodologies for the analysis of the financial and economic feasibility of investment projects in certainty and uncertainty conditions.
After the completion of the course unit, students should be capable of:
- justifying a decision or real investments
- designing a business plan

Inf: the Business Plan will be based on Portuguese relevant legislation, so basic accounting concepts and basic financial mathematics are needed.

Data Warehouses

EIC0046 - ECTS The students should be able to design, build and explore data warehouses.

Network and Systems Architecture and Management

EIC0095 - ECTS Students should acquire competences in the planning and integrated management of network and system infra-structures. Learning results should provide students with competence in the procedures for managing a network, systems, and communication services infrastructure, in particular:
- Specify, acquire, and evaluate requirements for infrastructure planning and design
- Planning and designing the network and system infrastructure
- Perform a rigorous choice of support equipments and systems based on specified requirements
- Specify functional areas in management
- Select adequate management platforms and tools

Mobile Computing

EIC0050 - ECTS

Mobile Computing had an enormous increment in the last years with the explosion of mobile devices utilization. These devices present increasing capabilities concerning computation power, communication, storage and ease of interface. Applications extend now to incresing areas from entertainment and social networking to enterprise work.
The main ojectives include the acquisition of knowledge and practice of the main concepts of design, architecture and implementation of applications, mainly business, with particular access needs to data and computing in any place and at any time. Emphasis is on the use of current and generic frameworks, taking into account the mobile devices’ specificity.
Problems and challenges to overcome include the existing great diversity of capabilities and interaction ways and interfaces.

Mobile Communications

EIC0082 - ECTS

Information Description, Storage and Retrieval

EIC0108 - ECTS

1 - BACKGROUND

The "Information Description, Storage and Retrieval" unit assumes as its context the existence of large collections of heterogeneous information which needs to be organized, described, stored and retrieved.

2 - SPECIFIC OBJECTIVES

- Make the students aware of the main issues in the organization and storage of large data collections.
- Make the students familiar with the main concepts in textual information retrieval and their application in retrieval tools.
- Explore the semantic web methods and tools, and use web resources and their descriptions in applications that make use of data semantics.

3 - PREVIOUS KNOWLEDGE

Knowledge and practice in programming languages ​​for application development.

4 - PERCENTAGE DISTRIBUTION

Scientific Component: 50%
Technological Component: 50%

5 - LEARNING OUTCOMES

On completion of this course, the student should be able to:

- Identify data sources in data repositories, online services APIs and user logs;
- Decide on the quality of the data sources and briefly characterize a selected dataset;
- Choose the document granularity and a storage model for the dataset;
- Use data manipulation tools to select appropriate data subsets and to fit the data to their intended applications;

- Describe the models used in information retrieval, specifically in web retrieval;
- Recognize the various tasks considered in information retrieval;
- Apply information retrieval evaluation measures to the comparison of web retrieval tools;

- Relate web documents with the metadata that describes or links them;
- Treat ontologies as providers of description tools;
- Explore the applications which manipulate semantic web information descriptions and create metadata sets for a chosen domain;
- Compare semantic web- based services with simpler approaches to resource description.

Dissertation

EIC0041 - ECTS

In accordance with the procedure laid down in specific standards of FEUP, characterisation of Dissertation is as follows: 1. individual Work, research and development leading to the development of a scientific dissertation about a desktop theme, or knowledge of the course towards integration and application to solving complex problems of engineering knowledge, skills and attitudes acquired along the course. 2. it may be a work of research or technological development and implementation, involving experimental media and/or simulation, which promotes the development of capacity for initiative, decision-making, innovation, creative thinking and critical, in the context of individual or group work. 3. should involve the analysis of new situations, the collection of relevant information, development and selection of design or approach methodologies and instruments proposed problem resolution, to its resolution, the Office of sin-thesis and drawing of conclusions, and the preparation of a relevant dissertation subject to public presentation and discussion of results. 4. Can be carried out in academic or academic and entrepreneurial environment. In this case the objectives, nature and form of monitoring of the work shall be subject to prior agreement between the student and the College's guiding and company, validated by the course Director, ensuring the satisfaction of the scientific and pedagogical objectives of the curriculum unit, and protect any confidentiality issues by the host institution/company.

Knowledge Extraction and Machine Learning

EIC0096 - ECTS

Background: After a season in which the different companies / institutions lot invested in data collection within the computerization of their operations, there is now the need to put this data in the service of these companies / institutions. The goal is to be able to extract knowledge from data, improving efficiency and gaining competitive advantage. It is this need that arises the Course (UC) Knowledge Extraction and Computational Learning (ECAC).

The main objectives of this course are: -Motivate to the use of techniques of knowledge extraction (EC) data, or data mining in decision support. -Develop the ability to properly utilize these techniques for automated analysis of large amounts of data. 

Percentage distribution: -Scientific Component: 70% -Technologycal Component: 30% 

Quality Management

EIC0109 - ECTS

Enterprise Information Management

EIC0097 - ECTS

Human-Computer Interaction

EIC0057 - ECTS

Aims:
1. To prepare students to analyse interactive systems concerning their quantitative and qualitative parameters.


2. To prepare students to use study, observation and questioning techniques based on the understanding of the conceptual model of system users.


3. To prepare students to use a construction process of interactive products based on the design, user assessment, conception, prototyping, validation, construction and maintenance.

Agile Software Development Methodologies

EIC0062 - ECTS No final da unidade curricular, o estudante deve:

- ter desenvolvido as capacidades mínimas e adquido os conhecimentos fundamentais necessários para autonomamente iniciar desenvolvimento ágil de software, nos seus vários papeis: engenharia de processo, desenvolvedor, gestor.

- ter adquirido espiriito critico sobre o essencial de métodos ágeis, a sua filosofia, os valores, a sua necessidade e aplicabilidade, e os desafios e oportunidades que suscitam nas pessoas e organizações que desenvolvem software.

- ter adquirido conhecimentos e experiência prática sobre desenvolvimento ágil de software;

- ter praticado algumas das variantes mais conhecidas de processos ágeis.

- ter gerido e participado num projecto real como caso de estudo a desenvolver ao longo do semestre.

Information Systems Strategic Planning

EIC0067 - ECTS

This course unit aims to endow students with theoretical and empirical knowledge about the strategic role of information systems in organisations and with the skills to strategically pan information systems in an organisation.

Dissertation Planning

EIC0087 - ECTS

O1. To learn about the processes, methodologies, and best practices associated to scientific research, with a particular focus on informatics engineering;

O2. To develop a scientific criticism spirit;

O3. To acquire the capability to elaborate a plan for the MSc dissertation project, including the state-of-the-art, in a theme to be selected;

Speech Processing

EIC0068 - ECTS

Virtual and Augmented Reality

EIC0070 - ECTS

Augmented reality is a technology which improves and augments the user’s vision of the real world with virtual images, using Computer Vision and Graphical Computing/ Virtual Reality techniques. The main aim of this course is to transmit to the students the basic knowledge of these techniques, allowing them to proceed more advanced studies in the emergent area of Augmented Reality. Furthermore, another aim is to provide the students with the capacity to do little assignments illustrating the methodologies studied. 

Robotics

EIC0071 - ECTS

To understand the basic concepts of Robotics and the context of Artificial Intelligence in Robotics.

To study methods of perception and sensorial interpretation (emphasizing computer vision), which allow to create precise world estates and mobile robots’ control methods.

To study the methods which allow mobile robots to navigate in familiar or unfamiliar environments using Planning and Navigation algorithms.

To study the fundamentals of cooperative robotics and robots' teams construction.

To analyze the main national and international robotic competitions, the more realistic robot simulators and the more advanced robotic platforms available in the market.

Improve the ability to comunicate regarding scientific and technical issues.

Improve healthy scientific approach.

Computer Systems Security

EIC0072 - ECTS At the end of this course unit, the students that have passed should be able to:
- describe the security fundamentals of computer systems;
- specify a security policy for a typical computer system and select the adequate mechanisms for enforcing the policy and for verifying its compliance;
- analise a typical communication channel and identify its associated main protection levels or the ones that should be in use;
- study, program and operate some security devices and tecniques in real situations.

Information Systems and Software Engineering Seminar

EIC0099 - ECTS

Software engineers affect society by creating applications. These applications produce value for users, but sometimes produce also discomfort and even disasters, when they fail to operate within the minimal level of quality they are supposed.

Software engineers build software that people use for different purposes, which pressures them to solve problems in new ways, and emphasizing different characteristics, such as security, usability, scalability, reliability, accessibility, efficiency, or correctness. For example, consumer software emphasizes low cost, medical software emphasizes high quality, and web software emphasizes rapid development.

The fundamental objective of this course unit is to learn, discuss, and draft solutions for issues raised by the influence of software engineering and software usage on people and society.


Intelligent Systems, Interaction and Multimedia Seminar

EIC0101 - ECTS

This course main goals are:

- to make students acquainted with Intelligent Systems research work.

- to make acquaintence with different researchers in Intelligent Systems and, through them, with different research groups active on the presented research topics.

Decision Support Systems

EIC0074 - ECTS

At the end of the course, students should be able to:

-       - understand the complexity and the qualitative aspects of decision making processes, and to use problem structuring techniques and multicriteria approaches;

-       - define the structure and the components of a Decision Support System (DSS), as well as using methodologies and techniques to design and implement DSSs;

-       - develop spreadsheet models, and design tools to support decision-making;

-       use the main concepts of Decision Theory and Multicriteria Analysis, to structure alternatives and decision criteria;

-       - develop models and optimization algorithms, as well as heuristic and simulation approaches to solve problems with a practical interest, particularly in the context of Operations Management and Combinatorial Optimization;

-       - develop simulation models and design Interactive Visual Simulation Systems.

Embedded and Real Time Systems

EIC0102 - ECTS

Software Testing and Quality

EIC0103 - ECTS Be familiarized with the terminology used in software testing. Acquire knowledge about the main techniques that may be applied in software quality control. Acquiring sensitivity to issues relating to software quality processes.

Computer Vision

EIC0104 - ECTS

Dissertation

EIC0041 - ECTS

1-BACKGROUND In accordance with the procedure defined in the specific rules of FEUP, Dissertation characterization is as follows: • Individual work of research and development, leading to the development of a scientific dissertation on a theme under the knowledge of the MIEIC programme towards integration and application to complex problem solving engineering knowledge, skills and attitudes acquired throughout the above graduation years. • Can be a work of research or technological development and implementation, involving experimental media and/or simulation, which promotes the development of capacities for decision-making, initiative, innovation, creative and critical thinking, in a context of individual or group work. • Must involve the analysis of new situations, the collection of relevant information, the development and selection or design of a methodology and approach of the proposed problem resolution tools, their resolution, the exercise of synthesis and preparation of conclusions, as well as the preparation of a relevant dissertation, subject to public presentation and discussion of results. • Can be accomplished in an academic or in an enterprise and academic environment. In this case the objectives, nature and monitoring form should be object of prior agreement between the student and the College's advisors and the company, validated by the course Director, guaranteeing the satisfaction of scientific objectives and pedagogical curriculum unit, and protecting any issues of confidentiality on the part of the host institution/company. 2-SPECIFIC GOALS • Promoting the development of capacities for decision-making, initiative, innovation, creative and critical thinking, in a context of individual work. • Individual work-research and development; • Write a scientific dissertation. 3-PRIOR KNOWLEDGE • Technological knowledge in the area of MIEIC, • Knowledge, skills and attitudes acquired throughout the above years in MIEIC. 4-PERCENTAGE DISTRIBUTION • Scientific Component: 40% to 60% • Technological Component to 40 60% 5-LEARNING OUTCOMES At the end of the curriculum unit, students must demonstrate ability to: • Analysis of new situations with collection of relevant information; • Development and selection, or definition of methodologies and instruments to solve the proposed problem; • Problem solving, with the consequent exercise of synthesis and preparation of conclusions; • Preparation of a relevant dissertation to be subject to a public presentation and discussion of results.

Dissertation Planning

EIC0087 - ECTS

O1. To learn about the processes, methodologies, and best practices associated to scientific research, with a particular focus on informatics engineering;

O2. To develop a scientific criticism spirit;

O3. To acquire the capability to elaborate a plan for the MSc dissertation project, including the state-of-the-art, in a theme to be selected;

Recommend this page Top
Copyright 1996-2024 © Faculdade de Engenharia da Universidade do Porto  I Terms and Conditions  I Accessibility  I Index A-Z  I Guest Book
Page generated on: 2024-09-29 at 20:59:26 | Acceptable Use Policy | Data Protection Policy | Complaint Portal