Professional Master’s Degree


1. Mandatory Disciplines


RESEARCH METHODOLOGY 01 (02 Credit Units, 30 Credit Hours).

Syllabus: Research elements; Ethics and research; Types of knowledge and research; Research styles in computer science; Stages of research work; Choice of theme; Literature review; Mapping and systematic review.


RESEARCH METHODOLOGY 02 (02 Credit Units, 30 Credit Hours).

Syllabus: Problem formulation, research hypotheses and objectives, motivation and justification, work limitations; Methodological research procedures; Research data collection and analysis techniques; Levels of research requirement: articles, projects, reports and dissertations; Writing support techniques and tools.


RESEARCH ADVISEMENT 01 (02 Credit Units, 30 Credit Hours).

Syllabus: After the change in the curriculum structure in October 2017, this is a mandatory activity of the program that aims to prepare a text to be handed in to the examining board, with:

- Planning and execution of the literature review.

- Literature Review on the research topic.


RESEARCH ADVISEMENT 02 (02 Credit Units, 30 Credit Hours)

Syllabus: Problem review, research hypotheses and objectives, motivation and justification, work limitations; Research methodology. Product: Text on the methodological procedures of the research to be handed in to the examining board.


RESEARCH ADVISEMENT 03 (02 Credit Units, 30 Credit Hours).

Syllabus: Execution of the research; Preliminary results and conclusions. Product: Text to be handed in to examining board.


RESEARCH ADVISEMENT 04 (02 Credit Units, 30 Credit Hours).

Syllabus: Final results and conclusions; Article writing and submission; Products: Text to be handed in to Examining Board and Articles.


 ADDITIONAL ACTIVITY (04 Credit Units, 60 Credit Hours).

Syllabus: Conducting extracurricular activities to complement the degree of the master student, such as: teaching internship, institution internship, laboratory internship, presentation at events, article publishing, research application in institution, etc.


2. Elective Disciplines


DATA ALGORITHMS AND STRUCTURES (04 Credit Units, 60 Credit Hours).

Syllabus: Introduction to the concept of algorithm: notation; data types and primitive operations. Information flow control structures. Functions and procedures. Recursion. Implementation of algorithms. Introduction to algorithm analysis. Computational complexity. Data structures: lists, stacks, queues, hashing, trees. Sorting algorithms. Search algorithms.


SYSTEM ANALYSIS AND DESIGN (04 Credit Units, 60 Credit Hours).

Syllabus: Systems analysis and design methods, techniques and tools Object-oriented modeling for systems analysis and design Software standards and antipatterns; Description and discussion of the 23 GoF standards (Creative ones, Structures, and Behaviors).


DIGITAL CONTROL (04 Credit Units, 60 Credit Hours).

Syllabus: Signal sampling. Sampling theorem. Signal representation and discrete time systems. Notions of feedback control. Performance Specifications of PID Controllers. Controllers design using geometric root location. State feedback control. State estimation. Notions of optimal control and quadratic regulation


DATE MINING AND BIG DATA (04 Credit Units, 60 Credit Hours).

Syllabus: Introduction to the concepts of the process of knowledge discovery. Data preparation techniques. Data reduction techniques. Data mining tasks and techniques: classification, regression, cluster detection, association rule discovery, summarization, dependency modeling, trend detection, and exception. Concepts and techniques of data visualization. Mining of visual data. Examples of data mining in specific domains such as bioinformatics, geographic information systems, image databases, textual document databases, multimedia databases, Web systems, temporal space databases, data-stream based systems. Data Mining Tools. WEB Data Mining, structured, unstructured and unstructured data. Dimension Reduction, Hashing. Big data. MapReduce. Frequent Item Mining, Data Flow, Sentiment Analysis, Recommendation Systems, PageRank, Grouping, Cogrouping.


ELECTRONIC APPLIED TO SYSTEMS (04 Credit Units, 60 Credit Hours).

Syllabus: Electronic Devices. Multistage Circuits. Digital Systems: Logic Circuits; Integrated Circuits; Special circuits; Analog-Digital Interface; Circuit Analysis and Design. Elements of Electronic Instrumentation; Signal generators and analyzers; Digital Signal Acquisition and Processing.



Syllabus: Software Requirements: Concepts; Requirements Analysis; Requirements Gathering Techniques; Requirements Specification; Software Requirements Modeling; Data modeling; Requirements Management Processes; User Stories in Extreme Programming and Using Design Thinking.


SOFTWARE ENGINEERING (04 Credit Units, 60 Credit Hours).

Syllabus: Fundamentals of Software Engineering. Software Crisis. Software life cycle. Software processes. Software project management. Requirements analysis and specification. Software analysis and design. Version and configuration management. Verification and validation. Maintenance.


DIRECTED STUDY (04 Credit Units, 60 Credit Hours).

Syllabus: The syllabus will be according to the offer of the discipline linked to the directed study.


COMPUTER FUNDAMENTALS (04 Credit Units, 60 Credit Hours).

Syllabus: Formalisms for language description: grammars and automata. Regular languages, context-free languages, recursively enumerable, context-sensitive languages. Universal machines. Turing machines. Computability Asymptotic analysis. Algorithm design techniques. Problem classes: P, NP, NP-hard, and NP-complete.


SOFTWARE MANAGEMENT (04 Credit Units, 60 Credit Hours).

Syllabus: Feasibility study; Metrics; Estimates; Risk management; Techniques for determining the project schedule; Project planning; Human aspects; People and Resource Management; Tracking and control mechanisms Teamwork and Agile Project Management.


SYSTEM IDENTIFICATION (04 Credit Units, 60 Credit Hours).

 Syllabus: Notions of linear regression; interpolation and extrapolation Least squares estimation; practical algorithms, PLS and PCA. Signal modeling; notions about orthogonal series and wavelets. Dynamic models - physical modeling and stochastic modeling Identification of AR, ARX and ARMAX models; non-polarized estimators; Practical considerations in dynamic identification projects; Recursive estimation; Nonlinear dynamic models; introduction to polynomial structures and neural networks.


ARTIFICIAL INTELLIGENCE (04 Credit Units, 60 Credit Hours).

Syllabus: Neural Networks: Definition and Characteristics. History, Basic Concepts and Applications. Artificial neuron. Interconnection Structures. Neural Processing - Learning and Data Recovery. Types of Learning - Supervised and Unsupervised. Learning Rules - Neural Algorithms. Components of an Algorithm. Genetic (AG); GA development; Reproduction and Selection. Other Techniques and Operators; Combinatorial Optimization Problems, graph coloring, industrial production; Fuzzy Logic: Introduction. Fuzzy sets. Fuzzy Relations and Compositions. Fuzzy systems. Control Based on Language Rules.



Syllabus: Human factors and ergonomics in interactive software: theory, principles and rules. Usability: definition and methods for evaluation. System and interface design paradigms: Participatory Design, User Centered Design. Development of graphic interfaces; Interface development patterns.


COMPUTER PROGRAMMING (04 Credit Units, 60 Credit Hours).

Syllabus: Object-oriented programming paradigms. Program development using an object-oriented language. Introduction to the development of graphical interfaces. Interaction with database.


PROGRAMMING FOR MOBILE DEVICES (04 Credit Units, 60 Credit Hours).

Syllabus: Overview of mobile and wireless technologies. Mobile and Wireless Programming APIs; Use of a mobile programming platform; Integration between mobile devices and the Internet; Data Persistence.


PARALLEL PROGRAMMING (04 Credit Units, 60 Credit Hours).

Syllabus: Parallel programming: concepts, commands and algorithms. Study of a language for parallel programming. Applications of engineering programming techniques, such as the use of parallel solvers in systems of dense and sparse equations from this area.


WEB PROGRAMMING (04 Credit Units, 60 Credit Hours).

 Syllabus: Web programming with Servlets, JSP and JSF. Development of object-oriented systems according to the MVC (Model-View-Controller) standard. Data Persistence.


SOFTWARE DESIGN AND ARCHITECTURE (04 Credit Units, 60 Credit Hours)

 Syllabus: The Requirements Analysis process; Survey and specification of requirements for Software Architecture; Architectural styles; Software Design Patterns; Quality attributes; Architecture Documentation.


DATABASE DESIGN AND IMPLEMENTATION (04 Credit Units, 60 Credit Hours).

Syllabus: Data Modeling and SQL. Reverse Engineering and Standardization. Project for Relational Databases using CASE Tools. Advanced SQL: Subquerys, Aggregate Functions, CASE Clause, Views, Stored Procedures, Triggers. DBMS Failure Recovery. Distributed Database. Query Processing and Optimization. Competition Control.



Syllabus: PROCESSES: Software development process concepts: phases, workflows, iterations and increments, roles, artifacts, and activities; Concepts and application of the main software processes: Cascade, Prototyping, Evolutionary, Iterative and Incremental; Unified Process Agile Methods: XP, Scrum, Lean Software Development, Crystal Clear, Software Process Modeling and Execution, Software Process Technology, Software Process Definition.

QUALITY: What is Software Quality, Software Product Quality, Software Process Quality, Basic Concepts (Quality Characteristics, Error, Failure, Defect), Standards and Regulatory Bodies. Software Process Quality: ISO 9000 Standards, ISO / IEC 12207, ISO / IEC 15504, CMMI, MPS.BR. Software Product Quality: Product Quality Model, Measuring Software Product Quality, ISO / IEC 9126 and 14598 Standards, ISO / IEC 25000. MPS: IDEAL Model; Process modeling aimed at improving maturity in organizations; Integrated development process modeling considering Maturity models.


SENSOR NETWORKS (04 Credit Units, 60 Credit Hours).

Syllabus: Introduction to sensor networks. Wireless sensor networks. Sensor node architecture. MAC. Routing and dissemination. Grouping of knots. Study of low consumption embedded systems. RSSFs characterization. State representation models. Wireless Communication Architecture. Control and supervision of embedded systems. Applications. Query Processing. Aggregation of data. Localization, synchronization, power control and energy saving. Transport layers. QoS. Security.


AUTONOMOUS MOBILE ROBOTS (04 Credit Units, 60 Credit Hours).

Syllabus: History and navigation techniques of mobile robots most used in the literature; Autonomous mobile robot components and subsystems, including microprocessors, sensors and actuators; Introduction to navigation control concepts in mobile robots: Auto-Localization, Trajectory Planning and Robotic Navigation; Main techniques for obtaining autonomy, intelligence and adaptability; Applications in tasks of exploration, navigation, object collection and strategy planning; Intelligent control algorithms applied to mobile robotics.


KNOWLEDGE-BASED SYSTEMS (04 Credit Units, 60 Credit Hours).

Syllabus: Introduction to knowledge-based systems. Engineering and knowledge elicitation. Knowledge representation techniques. Expert Systems. Case Based Reasoning. Other approaches. Case Studies.


COLLABORATIVE SYSTEMS AND CSCW (04 Credit Units, 60 Credit Hours).

Syllabus: Fundamentals of Collaborative Systems (Groupware, CSCW, theories and models of collaboration).

Development of collaborative systems. Application of Collaborative Systems in organizational environments (society, companies, schools, etc). Collaborative systems applied to software development. Evaluation of collaborative systems. Distributed Software Development. Approaches to Collaborative Software Engineering: Empirical Studies, Tools and Methodologies.



Syllabus: Review of essential computer architecture concepts such as buses, internal and external memory, input and output devices, CPU, ALU, RISC and CISC architectures, addressing, instruction set, and parallel architectures. Review of essential operating system concepts such as processes, memory management, input and output, file systems. Review of essential networking concepts, such as the OSI model, TCP / IP model, and details of each layer of both models, with emphasis on each layer's protocols, as well as IPv4 and IPv6 logical addressing.


EMBEDDED OPERATING SYSTEMS (04 Credit Units, 60 Credit Hours).

Syllabus: Real Time Operating Systems; Embedded Operating Systems: design and implementation; Scheduling; Laboratory activities.


SOFTWARE TESTS (04 Credit Units, 60 Credit Hours).

Syllabus: Testing process management; Registration and tracking of problems. Software testing; Software testing principles and techniques: unit testing; integration test; regression test. Test oriented development; test automation; test case generation. Human interface testing; web application testing; alpha, beta and acceptance tests; testing tools; test plans and case studies; Test Lifecycle: Planning, Specification, Execution and Reporting.


APPLIED COMPUTER TOPICS (04 Credit Units, 60 Credit Hours).

Syllabus: Free course subject in which the student conducts an individual research work under the supervision of the advisor, conducting a comprehensive theoretical or practical study and / or in the area of ​​his master dissertation.


SPECIAL TOPICS IN OPERATING SYSTEMS (04 Credit Units, 60 Credit Hours).

Syllabus: State-of-the-art operating systems, with an emphasis on operating systems that deal with the details of modern processors, such as many aspects of parallelism, including access to different cache levels. Operating system details for distributed systems, with emphasis on the client server model, including simulation with parallel operating systems.