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.