Official Code: | 9812 |
Acronym: | MI:ERS |
Upon completing this course, the student should master the main concepts of Linear Algebra and Analytic Geometry. Namely, he must understand, be able to work with and use the main properties of the concepts of matrix, determinant, real vector space and linear function.
With this course, it is intended that students will know and understand
some of the main classical results of Calculus. These results, for their historical
importance in the explanation of scientific phenomena and on the resolution of scientific problems, should be known by every student of the area of science.
Study of the fundamental discrete structures that serve as a theoretical basis for the area of Computer Science/Informatics.
The students should be able to undestand how a digital computer works, including concepts in architecture and operating systems, and have a broad perspective of Computer Science.
To initiate students in imperative programming by presenting fundamental concepts of algorithmics and knowledge of the C programming language. To enable students with the ability of building algorithms from informal specifications. Introduce some fundamental algorithms.
Understanding and ability to make use of the concepts and results covered in the syllabus, namely through the resolution of exercises of practical nature.
Teach fundamental concepts and results about three computational models (finite automata, pushdown automata, Turing machines) and the related classes of formal languages, with emphasis on regular and context free languages.
Introduction to functional programming using the Haskell language.
Objectives:
Introduction to methods of solving ordinary differential equations with emphasis on equations and systems of linear differential equations.
Integral over path and Surfaces. Integral theorems of Vector Analysis.
Inverse function theorem and implicit function theorem and its main applications.
Introduce the basic working concepts for the modern computer, namely, the internal representation of programs and data, the hardware components and their interactions and, ways to evaluate its performance.
To learn techniques for designing and analyzing algorithms.
This module will introduce basic concepts of interactive systems design and development, including not only theoretical concepts (usability, user centred design) but also practical ones (low fidelity prototyping via graphical user interface implementation).
To know the main topics of propositional logic and first order logic, with a special focus on automated therem proving.
This course aims to present the concepts and the basic principles of Classic Mechanics, and relativity, with emphasis on understanding and application in the analysis of real world situations . Students should have the ability to manipulate fundamental concepts and knowi how to apply them to solve problems. Students will be motivated to consider the principles of Mechanics in other areas of knowledge and in technology.
To introduce the fundamental concepts, principles and methods of statistics. Emphasis is given to the understanding of the concepts and to the critical application of the methods.
Provide the student experience in the use, administration and programming of some of the systems / applications currently used in the Windows environment. The particular focus is on the programming environment of Visual Basic for Applications.
The student should know the concepts and basic results of Group Theory and Ring Theory, both at the level of application in the classical examples of these structures and in an abstract level.
The main aim of this subject is given a mathematical problem, to study sufficient conditions for the existence and unicity of its solution, to establish a constructive method to solve it, to study and control the errors involved, to give an algoritmh for the solution and to implement it in a computer and to study and interpret the numerical results.
Introduce students to the fundamental theoretic and practical principals of database systems.
Upon completing this course, the student should:
- have a good insight of the fundamental concepts and principles of statistics, and in particular those from basic inference statistics.
- know the common inference statistical methods and how to apply them to concrete situations;
- know the basic properties of regression linear models and be able to apply the theory to the analysis of real data, including model fitting, interpretation and forecasting;
- be able to identify and formulate a problem, to choose adequate statistical methods and to analyze and interpret in a critical way the obtained results.
It is also expected that the student acquires familiarity with the programing language and software environment R, in the framework of problems solving.
Objectives: Study fundamental concepts and techniques of general use for Artificial Intelligence.
To present the key concepts of the logic programming paradigm, as a declarative approach to programming, and to establish the relationship with other fields such as Compilers, Artifitial INtelligence and Data Basess.
The proposed syllabus is taught in lectures where the main concepts are introduced and practical examples are explained. During lectures students are also required to do presentations related to the topics presented in the syllabus. In the labs students will learn specific skills related to multimedia systems through the exploration of a specific topic that they have to chose from the syllabus. Students will need to surpass problems by creating a prototype of a system. Students will deploy a project and create an application that must reflect the concepts presented during the lecture. All learning outcomes will help students understand the fundamental principals of multimedia systems and have a direct correspondence to the described syllabus. It covers the state of the art technology and the necessary background to design and develop sophisticated interactive applications. This course aims to teach students how multimedia systems are currently being used in different industries.
The goal is to instill in students the same curiosity, passion to discover and desire to convey knowledge that drives researchers to explore new areas related to multimedia systems.
By the end of this course the student are expected to learn and understand state of the art technology related to the following specific concepts:
* Understand which are the principals of 3D animation based on the traditional concepts of 2D animation
* Explore the different types of motion capture systems, virtual reality and how they can work together
* Understand the main concepts related to information theory and data visualization.
* Understand the use of color, text and diagrams when representing information
* Deployment of a multimedia project, create a demo and its correspondent documentation which must reflects its result.
Understanding the roles and procedures performed by network system administrators. Presentation of general principles that further illustrated and consubstantiated with extensive laboratory practice with the implementation and maintenance of some concrete examples of flexible services in critical contexts with simulated faults.
Study and implementation of a compiler and interpreter of a programming language.
This course provides a theoretical and experimental introduction to electric circuit theory, basic analog electronics and digital systems.
The internship has the goal to measure the capacity of students to meet the challenges of a competitive work market, and to improve the curricula of students with their future professional integration in the industry in mind. During the internship the students must develop the following capabilities:
1. integrate themselves in the work-flow processes of a company;
2. be autonomous;
3. apply the knowledge assimilated during the first three years of the course in analysing and solving problems;
To provide students with a first experience in research through an assignment in the context of a research project.
This is an introductory course on data communication networks aimed at familiarizing the students with their fundamental concepts, based on the Internet and the TCP/IP protocol stack.
The goal of this curricular unit is the familiarization of the students with the concepts and technologies used in the development of applications centered on the web.
Consolidating and enrich the knowledge on networks previously gained by the students, providing them with the necessary skills for the configuration, maintenance and monitoring and troubleshooting IP networks with static or dynamic routing and the respective basic services.
The objective of this course is to introduce students to the conceptual models and software tools used large software development projects.
Study and comparison of different (Turing-complete) models of computation, their computational power and limitations.
After completing this course students are expected to
- know the classical models of computation;
- be able to prove the equivalence of several Turing-complete models;
- know the fundamental results and methods used in the study of computability and complexity;
- be able to classify concrete examples of problems and prove their (un)decidability within several classes of computability.
The internship has the goal to measure the capacity of students to meet the challenges of a competitive work market, and to improve the curricula of students with their future professional integration in the industry in mind. During the internship the students must develop the following capabilities:
1. integrate themselves in the work-flow processes of a company;
2. be autonomous;
3. apply the knowledge assimilated during the first three years of the course in analysing and solving problems;
To provide students with a first experience in research through an assignment in the context of a research project.
Students should:
- get familiar with techniques of operations research and constraint programming
and their application to modeling and solving deterministic and stochastic decision and optimization problems.
- develop skills for understanding computational complexity of concrete problems, and choosing algorithms, programming languages and libraries/APIs for solving them.
This course is about designing algorithms for computational problems, and how to think clearly about analyzing correctness and running time. The main goal is to provide the intellectual tools needed for designing and analyzing your own algorithms for new problems you need to solve in the future.
Introduce the students to advanced concepts on the theory and practice of computational models for parallel and distributed memory architectures. Hands-on experience on programming distributed memory architectures with MPI, programming shared memory architectures using processes, threads and OpenMP and programming many-core architectures with GPU.
Cryptography has evolved, in the as decades, from an obscure branch of knowledge used only by military departments and spies to an essential component of digital communication and software writing. With the dematerialisation of a large number of human activities, it is crucial to use cryptography to ensure a large set of properties that are inherent to "real life" activities. This is why cryptography has such an essential role both in internet protocols as in other digital communication systems.
The objective is:
1- Understand the security problem with computer networks as well as security problems in general.
2 - To get acquainted to a sufficient large set of cryptographic protocols such that it is possible to port "real life" activities to the digital realm.
3- The study of cryptographic algorithms and their possible applications.
This unit has as main objectives to provide an introduction to the main data mining methodologies and also to convey knowledge on programming for data analysis using R.
Study of syntactic an semantic formal models of programming language, in order to provide a deep understanding of the mechanisms behind programming language definition, design, and implementation.
The main goal of this unit is to introduce the students to structured documents based on the XML (eXtended Markup Language) formalism and its processing.
The objectives of this unit include knowledge of concepts and basic norms, as well as languages related to the several facets of structured document processing, such as: typing, graphical formatting, transformation and semantics. Data manipulation in XML format from programs and web service implementation for communication among heterogeneous systems is also addressed.
Knowledge of the fundamental principles of the operation of mobile communication networks, focusing on: the key technological aspects; the 2nd, 3rd, and 4th generation mobile networks; and the main services provided by mobile communication networks.
We aim to provide students with an introduction to the fundamental problems in the design and implementation of distributed systems. On completing this course, students must be able to:
(a) Explain what is a distributed system, why should an application be built as a distributed system, and what are the desirable properties of such systems;
(b) Describe the principles guiding the construction of distributed systems, the main problems and associated challenges, and perceive the efficiency and limitations of proposed solutions;
(c) Build systems that use basic OS mechanisms such as UNIX sockets, as well as higher level middleware RMI and Web Services.
Introduction to the fundamental issues in the design and implementation of hardware and software solutions for embedded systems.
Present to students the capabilities and limitations of these systems and the rationale behind their wide usage em different enviroments.
Introduce the students to development in these platforms, providing and enviroment for work organization within the teams.
The aim of of information theory is to expose fundamental concepts related to information and its applications in systems and communications networks and computer science.
This module will present generic computer vision topics to the students, namely: image capturing technology, core image and video processing algorithms, basic pattern recognition algorithms, computer vision application fields.
The student should be able to:
Recognize different problems solvable through the use of data mining techniques discussed and detailed in content.
Identify and specify data mining tasks similar to those discussed.
Obtain and pre-process data for the algorithms and tasks addressed.
Understand and use data mining algorithms.
Obtain, interpret, evaluate and use data mining models.
Implement some of the algorithms and propose changes to improve them.
Introduction to the design principles and implementation techniques of declarative programming languages.
Learn advanced concepts of databases, namely through the inclusion of the use of relational databases in generic programming languages. Students learn will special emphasis the application programming interfaces (APIs) in C language of relational database management systems, such as MySQL. They develop the ability to augment such system through modules written in C language. Learning of concepts of spatial database, through the study of the PostGIS module. Spatial SQL. Data warehousing and advanced aggregation operators.
This course aims to dig deeper into select topics of data networks. It goes wireless, mobile, deals with some operators technologies and some research proposals. There is a balance of lectures and lab work that touches the subjects of the course, so that the student is able to apply the theoretical knowledge in practical examples.
To understand current trends in Program Verification techniques and approaches, to the certification of program properties, namely model checking and deductive methods.
The purpose of this course is to provide students with:
The main objective of this course has is to induce among the students critical thinking about social and ethical questions raised by the use of computers and the Internet. Another objective concerns informing the students of legislation relevant to their future profession. A final outcome is the improvement of their capacities of oral and written communication.