Weby shortcut

Desenvolvimento Web e Mobile - Full Stack

Atualizado em 20/08/18 14:41.

Informações Gerais

 

Período Turma 1: 03/2017 a 09/2018

Período Turma 2: 03/2018 – 09/2019 

Regional: Goiânia

Unidade Acadêmica responsável: Instituto de Informática

Site da Unidade Acadêmica responsável: http://www.inf.ufg.br/

 

Coordenador (a):Prof. Me. Marcelo Ricardo Quinta

E-mail: marcelo@inf.ufg.br

Sub-Coordenador (a): Prof. Dr. Vinicius Sebba Patto

E-mail: viniciussebba@inf.ufg.br

 

Objetivos do Curso

Formação de mão-de-obra qualificada para o desenvolvimento de aplicações em seus níveis, tanto web quanto para dispositivos móveis. Nos últimos anos, o desenvolvimento de ferramentas para criação de aplicações para web tem aumentado de forma considerável. Adicionalmente, as ferramentas e técnicas são cada vez mais especializadas, i.e. são direcionadas para o desenvolvimento de camadas específicas da aplicação. Seguindo essa tendência, profissionais têm se especializado em ferramentas e em camadas de aplicações. Todavia, há grande carência para se encontrar bons profissionais que entendam o desenvolvimento em diferentes camadas e consigam fluir e comunicar de forma inteligível com diversos membros de equipes de desenvolvimento. Por conseguinte, esse curso também favorece a requalificação de profissionais de áreas afins para atuarem no mercado como desenvolvedores de aplicações web e mobile e oferece atualização tecnológica para desenvolvimento de aplicações web e mobile em seus diferentes níveis.

 

Conteúdos Temáticos

 

Conteúdo Temático

CH

Teórica

CH

Prática

Ementa
Gerenciamento Ágil de Projeto

 20

 0

Manifesto ágil; métodos e frameworks ágeis; iniciação de projetos ágeis; planejamento de projetos ágeis; execução de projetos ágeis; monitoramento e controle de projetos ágeis; e melhoria contínua.
Fundamentos de Orientação a Objetos com Java

 10

 30

Apresentação do paradigma de programação orientado a objetos (classes, objetos, herança, polimorfismo, encapsulamento, acoplamento, etc) e noções de UML (principais diagramas). Apresentação da linguagem de programação Java (sintaxe, atributos, métodos, construtores, sobrecarga, sobrescrita, exceções, responsabilidades e implementação dos conceitos de OO, etc) e ferramentas básicas (IDE, Controle de Versão, JUnit, etc.) empregadas no processo de desenvolvimento em Java. Teste de unidades, compilação, depuração, refatoração, e execução de programas em Java. 
Experiência de Usuário - Fundamentos de IHC / Design e Usabilidade (UI/UX)

 20

 0

Fundamentos de UX: experiência do usuário, design de interação, arquitetura de informação e usabilidade. Métodos, Técnicas e Ferramentas de UX Design: design centrado no usuário, técnicas para pesquisa com usuários. Validação de UX. Métodos ágeis focados em UX: Agile UX, Lean UX e Design Sprint.
Fundamentos de Programação Back-End

 10

 30

Apresentação de protocolos HTTP e HTTPS, principais métodos e HTML. Apresentação de Servlets e Java Server Pages (JSP). Implementação de operações CRUD com JDBC e Framework JPA (Java Persistence API) com implementação Hibernate, utilizando mapeamento OR (Objeto Relacional) e controle de transações.
Projeto de Software

 20

 0

Fundamentos de design de software. Questões básicas de design de software: concorrência, controle e tratamento de eventos, persistência de dados, distribuição, tratamento de erro e exceção, tolerância a falhas, interação e apresentação, e segurança. Estrutura e arquitetura de software. Projeto de interface de usuário. Análise de qualidade e avaliação de design de software. Notação de design de software. Métodos e estratégias de design de software. Ferramentas de design de software
Programação Back-End Avançada

 10

 30

Integrações entre back-end e frameworks full-stack: Node, organização de projetos, I/O Assícrono, Promises, Módulos. Ferramentas para controle de pacotes, repositórios NPM. Servidores, webservices e criação de APIs. Implementação de operações CRUD com banco de dados NoSQL e implementação com MongoDB.
Fundamentos de Computação Móvel e Ubíqua

 20

 0

Computação móvel e ubíqua: conceitos, principais características, internet das coisas, smart spaces, sensibilidade a contexto, tecnologias de comunicação e desafios. Plataformas de desenvolvimento móvel e modelos de negócio para comercialização. Projeto de aplicações móveis: macro e micro arquitetura, padrões de interface com usuário, persistência de dados, segurança, privacidade e comunicação. Programação de aplicações móveis: middlewares, frameworks e sensores. Prática em desenvolvimento de aplicações móveis.
Fundamentos de Programação Front-End

 10

 30

Os fundamentos de HMTL, recomendações da W3C, semântica e acessibilidade. Aplicação de estilos com CSS: formatação de tags, utilização com HTML, seletores, herança, cores e gradiente. Padrões de nomenclaturas para organizar o CSS: BEM (Block, Element, Modifier), herança, etc. Técnicas de design responsivo. JavaScript (tipos de Dados – variáveis, strings, arrays, objetos, verificação de valores, JSON; controle de fluxo – estruturas de decisão, estruturas de repetição, funções; encapsulamento, controle de evento, processamento de arrays e manipulação de DOM). 
Programação Front-End Avançada

10 

 35

HTML5: novos elementos e atributos. APIs na especificação do HTML5 (canvas, audio e video, geolocation e storage). Pré-compiladores: Less e Sass. Introdução ao Bootstrap. Design de Componentes Bootstrap com CSS. Componentes Javascript do Bootstrap. Componentes Bootstrap do AngularJS. Especificação do Google Material Design e sua aplicação. Introdução ao SVG para sintetização de imagens vetoriais. Resolução de problemas de Acessibilidade.
Fundamentos de Programação Mobile com Android

 8

 22

 Introdução ao sistema Android: arquitetura do sistema e SDK. Desenvolvimento de interfaces gráficas: Activity, Fragment e bibliotecas. Criação de listas. Arquiteturas para a aplicação. Conexão à internet através de protocolo HTTP. Publicação de aplicativos no loja Google Play
Programação Mobile com Android Avançada

 8

 22

Tópicos em otimização de aplicação para contexto nacional. Persistência de dados. Leitura de sensores: câmera, geolocalização, beacons e NFC.
Programação Mobile com iOS

 10

 35

Introdução ao sistema iOS: arquitetura do sistema e ferramentas. Desenvolvimento de interfaces gráfica no XCode: Ações, delegates, listas e componentes de terceiros (bibliotecas). Arquiteturas para a aplicação. Conexão à internet através de protocolo HTTP. Publicação de aplicativos na Apple Store.

 

 

Listar Todas Voltar