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) |
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.
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.
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%
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%.
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.
This course unit aims to provide students with an integrated vision of the basic concepts and techniques of Statistics.
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
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.
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++.
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.
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: -
3- Percentual Distribution
Scientific: 10%
Tecnological: 90%
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%
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%
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:
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 .
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.
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.
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%
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.
This course provides a set of subjects (topics) that are the core for the Intelligent System area.
Aims:
Percentual Distribution: Scientific component: 60%; Technological component: 40%
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.
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:
3 - PERCENTAGE DISTRIBUTION
Scientific: 50%; Technological: 50%
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.
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.
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.
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%
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
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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%
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.
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.
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%
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.
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.
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;
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.
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.
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.
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.
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.
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.
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;