Desenvolvimento Web e Mobile - Full Stack

 

Objetivo 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 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.

 

Voltar para o início da página.

Metodologia

O curso está dividido em dois eixos: o primeiro eixo possui abordagem top-down, para auxiliar o estudante na compreensão das atividades de nível gerencial e operacional em projetos de software; enquanto o segundo eixo possui abordagem bottom-up, para dar formação tecnológica básica ao estudante para que possa perpassar pelos diferentes níveis de desenvolvimento de aplicações web e mobile. Paralelamente ou ao final das disciplinas, os estudantes deverão desenvolver um Projeto Final de Curso (doravante PFC) para que possam demonstrar o conhecimento adquirido ao longo do curso. Para a realização do PFC, os estudantes deverão entregar um Documento de Requisitos de Software, acompanhado do seu Projeto. Atividades das disciplinas de cunho prático farão considerável uso do tempo em experimentações (desenvolvimento de código e operações pertinentes). Inclusive o conhecimento abordado pelas disciplinas será preferencialmente abordado de forma prática, para ilustrar o seu emprego e reforçar os benefícios e dificuldades pertinentes. Esta prática será realizada nos laboratórios do Instituto de Informática.

 

Voltar para o início da página.

 

Informações Gerais

Público-Alvo Desenvolvedores de sistemas, softwares e aplicações web e mobile; engenheiros de software; arquitetos de software; profissionais de computação e tecnologia da informação
Carga Horária Total 390 horas
Tipo de Ensino Semi-presencial
Período do Curso 12/08/2022 a 11/02/2024
Turno Noturno às sextas-feiras, das 18:30 às 22:30; e diurno aos sábados, das 08:00h às 12:00h e das 13:00h às 17:00h
Quantidade de turmas previstas Três


Voltar para o início da página.

 

Processo seletivo

Etapas: a seleção constará de avaliações do Curriculum Vitae e do histórico escolar.

Último edital: clique aqui para conferir.

Prazo de inscrição: 19/07/2022 a 26/08/2022.

Previsão de próximas turmas:

Turma 2: 12/08/2022 a 11/02/2024;
Turma 3: 01/03/2024 a 30/08/2025.

 

Voltar para o início da página.

 

Disciplinas

Gerenciamento Ágil de Projeto (20h) Ementa: 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 (40h) Ementa: 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 (20h) Ementa: 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 (40h) Ementa: 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 (20h)  Ementa: 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 (40h) Ementa: 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 (20h) Ementa: 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 (40h) Ementa: 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 (45h) Ementa: 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 (30h) Ementa: 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çado (30h) Ementa: 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 (45h) Ementa: 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.


Voltar para o início da página.

 

Contato                                      

Coordenador: Prof. Dr. Vinicius Sebba Patto                                                                     

Subcoordenador: Prof. Dr. Iwens Gervásio Sene Júnior

Secretário: Frederico Afonso Farias

E-mail: frederico@inf.ufg.br

Telefone: (62) 3521-1181

Site: clique e acesse. 

botão cadastre-se

Voltar para o início da página.