Disciplines

INF-0318 - Object Oriented Analysis and Architectural Design

Discipline Presentation:

Topics Covered:

  • Construction of use-case models.
  • Static and dynamic software modeling.
  • Design Patterns.
  • Architectural Design, Architectural Design Styles and Patterns.
  • Software Architecture and Quality Attributes.


INF-0319 - Object-Oriented Design and Implementation

Course Presentation

Topics covered:

  • Principles of Object Oriented Design (OOP).
  • Project of Classes and Class Hierarchies (Inheritance).
  • Relationships Project.
  • Use of polymorphism in OOP.
  • Mathematical Progressions.
  • State Machinery Project.

INF-0320 - Human Computer Interfaces

Topics Covered:

  • Techniques and methodologies for designing and evaluating user interfaces in software systems.
  • Principles of User-Centered Design and Universal Design.
  • Study of human factors, social and technological aspects. Evaluation and understanding of the user experience.

INF-0321 - Software Verification and Validation

Course Presentation

Topics covered:

  • Static techniques: reviews, static code analysis.
  • Test techniques: black box and white box.
  • Scope of tests.
  • Quality requirements tests.
  • Tests in an agile environment.
  • Practices with automation of tests.


INF-0323 - Languages ​​and Environments for Software Programming

Discipline Presentation:

Topics covered:

Practical discipline that will exercise the following concepts:

  • Programming Environment and Tools.
  • Objects and Classes.
  • Inheritance and Aggregation.
  • Polymorphism and Dynamic Coupling.
  • Abstract Classes and Interfaces.
  • Exceptions and Packages.

INF-0325 - Modeling and Database Design

Discipline Presentation:

Topics covered:

  • Relational model and SQL queries.
  • Advanced SQL queries.
  • Introduction to non-relational databases.
  • Document-oriented database and Graph-oriented database.
  • Data semantics.

INF-0329 - Practice in Software Engineering

Topics covered:
Practical discipline that will exercise the following concepts:

  • Programming Environment: Java, SDK (eclipse), git, jenkins, junit, mockups, etc.
  • Agile Process: Specification to be used in the discipline.
  • Practical Project: Specification (Functionality, Software Architecture).
  • Sprints planning.
  • Execution of the Object Oriented Project.

INF-0330 - Software Requirements and Specification Models

Discipline Presentation:

Topics covered:

  • Introduction to software engineering (sociotechnical view).
  • Requirements Engineering.
  • Requirements gathering techniques: interviews, brainstorming, focus group, workshop, among others.
  • Introduction to agile methods (values ​​and principles).
  • Writing user stories effectively.
  • Design Thinking: Principles and Tools.


INF-0331 - Componentization and Software Reuse: Concepts and Practices

Course Presentation

Topics covered:

  • Fundamentals of software components: main characteristics, properties and categories.
  • Component-Based Software Engineering: Software design based on component composition; Components and UML
  • Component technologies: Distributed components; Web Components.
  • Components and Service Oriented Architecture (SOA): Standard Service Component Architecture (SCA); Components and microservices.
  • Container-based architecture and subsystem componentization.
  • Software Reuse: Opportunistic x systematic reuse; Aspects of reuse and strategies.
  • Transformation and reuse systems.
  • Architectures, models and reuse.

INF-0332 - Service Oriented Architecture - SOA & WebServices: Concepts and Practices

Course Presentation

Topics covered

  • Software Architecture: Monolithic, SOA, Web Services and Micro Services.
  • Building APIs: Traditional WS (SOAP), REST, GraphQL.
  • Migration of monolithic systems for micro service.
  • Good practices in building an API.
  • API documentation.
  • API security.
  • API Management.
  • Chatbots
  • Containers (Kubernetes, Istio, Patterns).
  • Practice of building and using APIs.


INF-0333 - Software Project Management: Economic Aspects and Planning

Discipline Presentation:

Topics covered:

  • Traditional and agile project management techniques (Scrum and Kanban);
  • Knowledge areas of PMI and its processes with an emphasis on the planning process: Integration Management: Project scope management; Project schedule management; Project cost management; Quality Management; Manage Project resources; Communications Management; Risk management; Procurement Management; Stakeholders
  • Project planning and control techniques such as: Work Breakdown Structure (WBS); Techniques for estimating time and cost; PERT and Gant; Risk management.

INF-0334 - Topics in Software Engineering - I

Discipline Presentation:

Topics covered:
This course consists of a series of lectures by professionals in the labor market.

  • Internet of Things: Contextualization about the Internet of Things; IoT device cases; IoT in the corporate business; Accelerators; How to embark on an IoT project.
  • Machine Learning: Theory of Artificial Neural Networks; Practice on Artificial Neural Networks.
  • Big Data: What is Big Data; Use cases; The negative side of Big Data; Big Data roles and professions; Big Data solutions engineering. How to deal with Big Data?
  • Cloud Computing: Cloud Overview; Cloud Architecture and Security; Players, advantages and disadvantages; DevOps and continuous integration.
  • Mobile: Why mobile? Relevance for brands and companies; Challenges in the adoption of Mobile by companies; Approaches to Mobile development.

INF-0335 - Environments for Software Design

Discipline Presentation:

Topics covered

  • Introduction to the set of tools used in the software design, development and delivery process.
  • Aspects of software versioning, such as conflict resolution, merging, ramifications, among others.
  • Introduction to continuous integration.