PPGComp students must take the mandatory courses and complete their credits (CR) with optional courses, preferably from their research line. 24 CR are required for the master's degree and 36 CR for the doctorate. The mandatory courses common to both courses are:
Mandatory courses
Algorithms and Data Structures (3 credits, 45h, code 23034P) Syllabus: Basic Concepts: Function of algorithms in computing. Recurrences. Abstract data types. Sorting methods. Data structures: Elementary (lists, stacks, queues). Hash tables, Binary trees, Balanced trees: AVL and red-black, Heaps. Graphs: Elementary algorithms. Paths. Search for shortest paths. Study of Computational Complexity in a generic way and with applications in the data structures studied.
Computer Architecture (3 credits, 45h, code 23035P) Syllabus: Review of the basic concepts of computer architectures. Architectures for specific applications. Exploration of parallelism at the instruction level. Exploration of parallelism at the thread level. Multiprocessors and multicomputers. Emerging architectures.
Elements of Computation and Automation Theory (4 credits, 60h, code 23036P) Syllabus: Classical computability: computation models, computable functions, Turing machine, lambda calculus, mu-recursive functions. State machines and formal languages: recognition and transduction machines; deterministic and non-deterministic machines; finite and pushdown automata; Mealy and Moore machines; UML state machines. Process calculus: concepts of concurrency; formalisms for concurrent processes; UML concurrency diagrams. Dioid algebra. Petri nets.
Individual Work (3 credits, 45h, code 23060P)
Syllabus: The Individual Work discipline (for enrollment from the 2nd semester of the course) consists of the completion of a monograph in preparation for the master's dissertation. It may involve theoretical studies, bibliographical review, carrying out projects and experiments, or a combination of these or other activities that support the student in preparing the work plan for his/her dissertation.
For the master's degree, the following are still mandatory:
Preparation of Dissertation (0 credits, code 23057P) Syllabus: Preparation of the master's dissertation (for enrollment of students from the 4th semester of the course) for the dissertation defense.
Dissertation Project (3 credits, 45h, code 23059P) Syllabus: Preparation of the master's dissertation (for enrollment of students from the 3rd semester of the course) for the qualifying exam.
For the doctorate, the following are still mandatory:
Preparation of Thesis (Comp Eng.) (1 credits, 15h, code 23154P) Syllabus: Preparation of the doctoral thesis (for enrollment from the 4th semester of the course).
Thesis Project (Comp Eng.) (3 credits, 45h, code 23153P) Syllabus: Doctoral thesis project (for enrollment from the 3rd semester of the course).
Exclusively for Capes scholarship holders, the following are mandatory:
Master's degree
Teaching Internship in Undergraduate Studies (2 credits, 30h, code 23058P) Syllabus: The Teaching Activity discipline is a teaching internship that the student carries out under the guidance of a PPGComp professor. The internship, with a minimum duration of 30 class hours and a maximum of 60 class hours, consists of performing teaching activities in an undergraduate discipline that is under the responsibility of the professor supervising the teaching activity. Typical activities are: preparing and teaching theoretical or practical classes, conducting experiments, demonstrations or exercises, etc.
Doctorate
Teaching Internship I (Comp Eng) (2 credits, 30h, code 23155P) Syllabus: Teaching internship under the guidance of a professor from the program, with a minimum duration of 30 class hours. It consists of performing teaching activities in an undergraduate discipline that is under the responsibility of the supervising professor, such as: preparing and teaching theoretical or practical classes, conducting experiments, demonstrations or exercises, among others.
Teaching Internship II (Comp Eng) (2 credits, 30h, code 23156P) Syllabus: Teaching internship under the guidance of a professor from the program, with a minimum duration of 30 class hours. It consists of performing teaching activities in an undergraduate discipline that is under the responsibility of the supervising professor, such as: preparing and teaching theoretical or practical classes, conducting experiments, demonstrations or exercises, among others.
The other subjects, presented below by line of research, are optional for both levels:
Research line: Foundations and Applications of Artificial and Computational Intelligence
Aggregations in classifiers based on fuzzy rules (3 credits, 45h, code 23140P) Syllabus: Data classification. Classification systems based on fuzzy rules. Fuzzy reasoning method. Aggregation functions and fuzzy measures.
Machine Learning Applied to Bioinformatics (3 credits, 45h, code 23053P) Syllabus: Introduction to probabilities and probabilistic models. Hidden Markov Chains (HMMs). Alignment of pairs of biological sequences with HMMs. Decision Tree Learning. Bayesian Learning. Unsupervised Learning: clustering algorithms and application to gene expression analysis. Reverse engineering of biological networks, Relevance networks, Gaussian graphical models and Bayesian networks.
Fuzzy and Interval Computing (3 credits, 45h, code 23048P) Syllabus: Fuzzy Sets: definition and basic concepts of fuzzy sets; membership functions; operations; extension principle; fuzzy numbers; fuzzy relations; basic connectives of fuzzy logic; approximate reasoning; linguistic variables; systems based on fuzzy rules; fuzzy inference methods; defuzzification methods. Interval Mathematics: basic definitions; operations; properties; function evaluation. Interval Fuzzy Sets: definition and basic concepts of interval fuzzy sets; membership functions; operations; extension principle; interval fuzzy numbers.
Data Visualization and Exploratory Data Analysis (3 créditos, 45h, código 23148P) Ementa: Translating information into a highly effective visual context. Image file types and visualization software. The Grammar of Graphs. Tidy data. Visualization types according to the data. Aesthetics elements of graphs. Statistically exploring data sets. Visualizing time series and trends. Visualizing Geospatial data. Transform information in a visualization to tell a story and make a point.
Tools for Multi-Agent Systems (3 credits, 45h, code 23039P) Syllabus: This discipline aims to analyze the transformations of Law and the judicial system caused by the information society, highlighting the advances in information technology, the problems related to the exposure of privacy and excessive advertising and their impact on individual and collective rights.
Fundamentals of Educational Technologies (3 credits, 45h, code 23092P) Syllabus: Interfaces in educational systems. Assistive Technologies. Virtual and Augmented Reality in Virtual Objects. Dual Environments in teaching and learning. Educational games.
Distributed Artificial Intelligence and Multiagent Systems (3 credits, 45h, code 23041P) Syllabus: Overview of the evolution of the area: cooperative agents vs. autonomous agents, distributed AI vs. multiagent systems vs. agent societies. Distributed problem solving. Distributed planning. Distributed decision making. Distributed learning. Organization of distributed AI systems and multiagent systems: coordination, negotiation. Organization of agent societies: micro and macro-social levels; roles, services, commitments; values, norms, institutions.
Introduction to Information Retrieval (3 credits, 45h, code 23093P) Syllabus: Introduction to information retrieval; preprocessing and indexing; stemming; performance evaluation; classical information retrieval models (boolean, vector and probabilistic); query expansion and relevance feedback; advanced topics in information retrieval.
Introduction to Time Series Learning (3 credits, 45h, code 23157P) Syllabus: Data organization in time series. Strategies for handling missing data. Statistical models for time series. State space models for time series. Machine learning models in time series. Neural networks with echo states. Model evaluation. Applications.
Introduction to Deep Learning (3 credits, 45h, code 23144P) Syllabus: Fundamentals of deep learning. Study and analysis of the state-of-the-art in deep learning applications with an emphasis on computer vision.
Introduction and Algorithms for Computational Biology (3 credits, 45h, code 23052P) Syllabus: Introduction to Computational Molecular Biology. Biological Databases. Introduction to Algorithms for Computational Biology. Global and Local Alignment of Biological Sequence Pairs. Structure Prediction of Biological Macromolecules. Principles and Applications of Docking and Molecular Dynamics. Typical Problems in Biology.
Introduction to Deep Learning (3 créditos, 45h, código 23152P) Ementa: Fundamentals of deep learning. Study and analysis of the state-of-the-art in deep learning applications with an emphasis on computer vision.
Scientific Research Methodology (2 credits, 30h, code 23158P) Syllabus: Introduction to scientific research and technological development. Ethics in scientific research. Study of the scientific research method. Organization of scientific papers. Literature consultation, theoretical basis and bibliographic review. Preparation of research papers.
Optimization (3 credits, 45h, code 23055P) Syllabus: Combinatorial optimization. Multiobjective optimization. Search and optimization algorithms. Genetic algorithms. Genetic programming. Case studies: structure optimization; parameter search; general routing, partitioning and allocation problems. Conventional approaches: Linear programming. Integer programming.
Data Mining Principles and Applications (3 credits, 45h, code 23042P) Syllabus: Overview of the Knowledge Discovery in Databases (KDD) process. Data warehouses. Pre-processing: data loading, transformation and cleaning (ETL). Main predictive and descriptive data mining techniques: Classification, Regression, Association Rules and Clustering. Use of the WEKA tool. Experiments with public databases. Data mining and flexible computing.
Agent-Based Simulation (3 credits, 45h, code 23049P) Syllabus: Simulation. Multi-agent Systems. Dynamic Systems. Conventional Simulation versus Agent-Based Simulation. Analysis and use of agent-based simulation environments.
Social Simulation: theory and applications (3 credits, 45h, code 23003P) Syllabus: Simulation. Models. Social Simulation. Dynamic Systems. Micro and macro simulation. Agent-based simulation environments. Applications using cellular automata techniques and multi-agent systems.
TE EComp: Flexible Computing (3 credits, 45h, code 23089P) Syllabus: Study of topics of interest for research in the Flexible Computing line.
Advanced Topics in Multiagent Systems (3 credits, 45h, code 23095P) Syllabus: Specific and/or advanced applications in multiagent systems.
Information Fusion Topics in Fuzzy Modeling (3 credits, 45h, code 23159P) Syllabus: Information Fusion. Aggregation and Pre-Aggregation Functions: definition and properties. Tnorms, T-conorms and Uninorms. Overlap and Grouping Functions and Indices. Averages. Fuzzy Integrals. Generalizations and interval extension.
Research line: Robotics, Intelligent Automation and Computing Systems Description
Reinforcement Learning: Fundamentals, Methods and Applications (3 credits, 45h, code 23160P) Syllabus: Theoretical and practical foundations of reinforcement learning. Modeling problems such as Markov decision processes: classical algorithms, policy optimization methods and actor-critic algorithms. Implementation of reinforcement learning strategies to develop behaviors in autonomous robots.
Internet Architecture (3 credits, 45h, code 23141P) Syllabus: Internet Fundamentals. Interconnection. Topology. Routing. Internet Security.
Heterogeneous Computing (3 credits, 45h, code 23142P) Syllabus: Emerging systems with AI, virtual and augmented reality, robotics and IoT sensors use heterogeneous computing, in which processing is distributed among different types of functional units interconnected via an asymmetric system (GPU, application coprocessors, CPUs, FPGAs). This course presents a review of the area focusing on case studies of embedded neural networks in robotics and sensor applications. Describe the concepts of heterogeneous computing, and the different architectural components. Understand the challenges of parallel programming in heterogeneous systems. Evaluate the performance (performance-watt and accuracy) of embedded machine learning models.
Nonlinear Control (3 credits, 45h, code 23098P) Syllabus: Introduction. Phase plane analysis. Stability analysis via Lyapunov. Variable structure control. Analysis in the continuous time domain. Analysis in the discrete time domain. Notions of adaptive control. Design and synthesis of control systems.
Tools for Physical Synthesis (3 credits, 45h, code 23094P) Syllabus: VLSI design. Logic synthesis flow and physical synthesis. Algorithms and data structures for VLSI design.
Fundamentals and Technologies for Mixed Environments (3 credits, 45h, code 23056P) Syllabus: Introduction and motivation. Fundamentals of virtual, mixed and augmented reality systems. Virtual environments: collaborative and distributed. Technologies for tracking, immersion and presence. Interfaces for tactile and force feedback. Technologies and systems for spatial audio. Dual worlds (telepresence and teleoperation).
Fundamentals and Technologies for Perception (3 credits, 45h, code 23043P) Syllabus: Types of Sensors. Representation of Uncertainty. Feature Extraction. Modeling, Recognition and Interpretation of Information. Mapping and Localization.
Introduction to High Performance Computing (3 credits, 45h, code 23143P) Syllabus: Main hardware architectures for high performance processing. Theoretical aspects of parallelism. Main programming environments for high performance.
Introduction to Computer Graphics (3 credits, 45h, code 23162P) Syllabus: Introduction and motivation. Geometric Modeling, Geometric Transformations and Projections; Visibility; Rasterization; Lighting Models; Texture Mapping; Applications and Advanced Topics.
Introduction to Intelligent Robotics (3 credits, 45h, code 23100P) Syllabus: Trends, challenges, scope and opportunities in Intelligent Robotics. Introduction to Mobile and Manipulator Robotics and their scientific problems. Introduction to Robotic Perception and Robotic Vision. Introduction to Robotic Architectures: Reactive, Deliberative and Hybrid.
Innovation Laboratory (3 credits, 45h, code 23099P) Syllabus: Introduction to innovation management. The innovation process. Contingencies in innovation projects. Idea generation. Idea selection. Organization for innovation. Special topics in innovation.
Robot Modeling and Control (3 credits, 45h, code 23097P) Syllabus: Spatial descriptions and transformations. Rigid body movement. Kinematic modeling. Dynamic modeling. Trajectory generation. Robot control. Robot programming. Non-holonomic behavior.
Linguistic and Multimodal Models for Autonomous Robotics (3 credits, 45h, code 23161P) Syllabus: Theoretical and practical foundations of LLMs: tokenization, embeddings, positional encoding and attention mechanisms, with emphasis on Transformers encoder, encoder-decoder and decoderonly architectures. Model training: reinforcement learning with and without human feedback; finetuning techniques. Prompt engineering. Chain of thought. Content vectorization. Multimodal models (VLMs) and applications aimed at situational awareness and task planning in autonomous robots.
Digital Systems Design (3 credits, 45h, code 23038P) Syllabus: Review of the basic concepts of digital systems. System specification. Logical synthesis. Implementation styles. Design flow. Design tools. Design space exploration. Reconfigurable systems. Trends.
Robot Perception (3 créditos, 45h, código 23149P) Ementa: Types of Sensors. Feature Extraction. Modeling, Recognition and Interpretation of Information. Model-based and Learning-based methods. Representation of Uncertainty.
Embedded Systems (3 credits, 45h, code 23046P) Syllabus: Introduction to embedded systems. Specification of complex systems. Design concepts. Hardware architectures. Embedded software. Synthesis of hardware and software. Design tools. Design aiming at low consumption. Trends.
Integrated Systems (3 credits, 45h, code 23045P) Syllabus: Introduction to integrated systems. CMOS technology. MOS transistors. Manufacturing of integrated systems. Combinational circuits. Sequential circuits. Design rules. Modeling and simulation. Design tools. Testing and design for testing. Reliability of CMOS circuits. Trends.
TE EComp: The Oil, Gas and Biofuel Industry and the Coastal and Oceanic Ecosystem (2 credits, 30h, code 23131P) Syllabus: Oil. Oil exploration. Drilling. Oil transportation. Oil refining. Environmental issues. Challenges and opportunities in computing and automation.
TE EComp: Control Applied to Oil, Gas and Biofuel Industry Systems (2 credits, 30h, code 23145P) Syllabus: Classical Control. Modern Control. Non-linear Control.
TE EComp: Digital Technologies for Coastal and Oceanic Ecosystems in the Oil, Gas and Biofuel Industry (3 credits, 45h, code 23132P) Syllabus: Concepts and tools of computing. Modeling and automation applied to coastal and oceanic ecosystems with regard to issues relevant to the Oil, Gas and Biofuel industry.
Advanced Topics in Digital and Embedded Systems (3 credits, 45h, code 23047P) Syllabus: Advanced concepts of Embedded Electronic Systems. Digital Electronic Circuits. Digital Systems. Development trends of digital and embedded systems.
Topics in Computer Security (4 credits, 60h, code 23146P) Syllabus: Understanding information security principles. Information security laws, norms and standards. Concepts and types of threats, risks and vulnerabilities of information systems. Contingency Plan. Systems evaluation techniques and metrics.