Subjects
Of the subjects in the Common Core (Compulsory), the PhD student must take at least three four-credit subjects from the common core, without restrictions regarding the selectivity chains. The Master's Course student must take one subject in each of the selectivity chains , one in Computing Fundamentals and Methods and the other in Computing Systems.
Common Core Disciplines
Computing Fundamentals and Methods
Computation Theory |
Credits: 04 |
Summary: Automata theory and formal languages, Turing machines and recursive function theory, notions of computability and basic complexity classes. |
Algorithm Design and Complexity |
Credits: 04 |
Summary: Algorithm analysis - principles and examples; criteria and evaluation; elementary data structures; strategies for designing algorithms; algorithms and graphs; the fast Fourier transform and applications; Pattern Recognition; treatability. |
Computing Systems
Fundamentals of Computer Systems |
Credits: 04 |
Summary: Computer Organization: Computer components, instruction cycles, pipelining, buses, caches, RAM memory, RISC x CISC architectures, Instruction level Parallelism (Out of Order Execution, Branch Prediction, Superscalar Execution, Speculative Execution, Very Large Instruction Word) , Symmetric Multiprocessors (cache organization and coherence). Operating systems: kernel structuring, process management, memory management, file management, I/O management, micro-kernels, exo-kernels. |
Digital signal processing |
Credits: 04 |
Summary: Fourier Transform and Z Transform, Sampling Theory, Signals in the frequency domain and their characterization, Interpolation and Quantization, Voice and Audio Signal Processing, Digital Filtering and Spectral Analysis |
Mandatory subject in both courses
Seminar |
Credits: 02 |
Summary: Lectures by guest researchers and PPGInf students |
Optional subjects
Proof Theory |
Credits: 04 |
Summary: The course provides a solid foundation for students who intend to do research in the area of automated deduction and formal methods. |
Artificial Intelligence I |
Credits: 04 |
Summary: Introduction: What is AI, an overview, problems, problem spaces, and basic problem-solving methods. Knowledge: representation and use. Goal. Knowledge. General aspects of knowledge-based systems. |
Artificial Intelligence II |
Credits: 04 |
Summary: Acquisition and representation of knowledge. Form of automatic reasoning. Non-monotonic reasoning. Advanced Troubleshooting Systems. Mechanical learning. Natural language processing. Expert systems. Connectionist systems. Smart interfaces. |
Declarative Languages |
Credits: 04 |
Summary: Physical system of symbols; Symbolic processing; Declarative languages and AI; Pure functional language: Rewriting, primitive functions, functional paradigm: equational, saved equations, recursion, pattern matching, polymorphism, lazy evaluation, high order functions, local definition; applications, LISP, PROLOG. |
Software Engineering 2 |
Credits: 04 |
Summary: Empirical studies in Software Engineering; primary, secondary, and tertiary studies; research strategies; qualitative and quantitative studies. |
Topics in Software Engineering |
Credits: 04 |
Summary: LPS motivation; definition and examples of LPS; LPS functional and operational specification; systematic literature review on LPS; Domain Engineering; Application Engineering; tools to support the construction and evolution of LPS; adoption strategies; variability management in the following artifacts: business processes, features, requirements, architecture, implementation; presentation and comparison of specific methods (compositional, annotative, parametric, and transformational approaches); type systems for LPS. |
Teaching Internship in Undergraduate Education in Computer Science |
Credits: 04 |
Summary: Working in the classroom (theoretical/practical classes), assisting students outside the classroom, correcting tests and exercises, attending didactic/pedagogical lectures scheduled for the subject, participating in subject coordination meetings, preparing classes and other tasks inherent to teaching practice. |
Parallel Programming |
Credits: 04 |
Summary: Introduction to parallel and distributed computing. Performance evaluation. Parallel and distributed processors. PRAM model and algorithms. Message exchange models and algorithms. Parallel programming. Scheduling algorithms. PVM. MPI. Java. |
Formal Methods for Real-Time Processing |
Credits: 04 |
Summary: Introduction to real-time processing. Formalization of time and clock. Formal methods. Graphic method. State-based method. Logic-based method. Method based on process algebra. Software partition. Task allocation. Task scheduling. Fault tolerance. Clock synchronization. |
Image processing |
Credits: 04 |
Summary: Fundamentals of Digital Signal Processing. Image capture. Representation and processing of images. Signal sampling. Transforms applied to digital signal processing. Development of applications using specific software. |
VLSI architectures |
Credits: 04 |
Summary: Reconfigurable devices, Modeling of combinational and sequential circuits in VHDL, specification and synthesis of algorithmic machines, register optimization, scheduling and operator allocation, hardware acceleration techniques. |
High Performance Processing |
Credits: 04 |
Summary: Parallel algorithms, Principles of parallelism, Interconnection networks, High-performance protocols, SIMD/MIMD architectures, Scheduling, Load balancing, Management of geographically distributed resources, Fundamentals of Cluster computing, Fundamentals of Grid computing |
Distributed systems |
Credits: 04 |
Summary: Definition of Distributed System, Parallel and Distributed Architectures, Aspects in the Design of Distributed Systems, Distributed Process Management (Processor Scheduling, Process Migration, Message Exchange, Remote Procedure Call, Distributed Shared Memory), Process Groups, Process Synchronization Distributed, Distributed Deadlock, Distributed Mutual Exclusion, Distributed File Management, Notions of Fault Tolerance. |
Pattern Recognition |
Credits: 04 |
Summary: Introduction; Bayes' theorem; Parametric Classifiers; Parametric Discriminant Functions; Performance Assessment; Non-Parametric Classifiers; Feature Extraction; Learning Theory; Unsupervised Learning. |
Topics in Computing Formalisms |
Credits: 04 |
Summary: Subject with variable syllabus |
Topics in Computing Systems |
Credits: 04 |
Summary: Subject with variable syllabus |
Topics in Computing Fundamentals and Methods |
Credits: 04 |
Summary: Subject with variable syllabus |
Individual Work on Computing Fundamentals and Methods |
Credits: 02 |
Summary: Individual guided and written work throughout an academic period resulting from research or study of a topic proposed by a responsible advisor. |
Individual Work on Computing Systems |
Credits: 02 |
Summary: Individual guided and written work throughout an academic period resulting from research or study of a topic proposed by a responsible advisor. |
Computer Research Topics |
Credits: 02 |
Summary: Subject with variable syllabus |
Multiagent Systems |
Credits: 04 |
Summary: This subject deals with intelligent agents and multi-agent systems (SMA), including a basic theoretical foundation in the area of Distributed Artificial Intelligence. Various aspects related to SMA will be studied, such as reasoning models, communication and interaction protocols, architectural definitions, modeling methodologies, using a practical agent-oriented application development approach. SMA development tools and platforms will be used in implementation work to better consolidate the knowledge acquired. |
Design and Complexity of Algorithms 2 |
Credits: 04 |
Summary: |
Formal and Computational Logic |
Credits: 04 |
Summary: Semantic elements of first-order logic and their limitations, calculation of sequents for first-order logic, löwenheim-Skolem and compactness theorems, Gödel's completeness and incompleteness theorems, Lindstr om's theorems on the maximality of first-order logic -order and a language to formalize mathematical and computational objects. |
Parallel Architectures |
Credits: 04 |
Summary: |
Cryptography |
Credits: 04 |
Summary: Classical Cryptography: schemes and cryptanalysis; Shannon's theory: entropy, perfect secrecy and information theory; Symmetric block ciphers: DES and AES; Cryptographic summary functions: the Merkle-Damgard paradigm; RSA and Rabin Cryptosystem; Discrete logarithm-based public key cryptography: finite fields and elliptic curves; Digital signature schemes; Generation of pseudo-random numbers. |
Modeling and Verification of Integrated Systems in Silicon |
Credits: 04 |
Summary: Modeling of monolithic integrated systems - or systems on silicon (SoC - System on Chip) - at a transactional level; SystemC as a modeling tool at abstracted levels; Complexity of silicon systems. |
Advanced Topics in Computing Systems |
Credits: 04 |
Summary: Subject with variable syllabus |
Advanced Topics in Computing Formalisms and Methods |
Credits: 04 |
Summary: Subject with variable syllabus |