FLAGProfessional Web & Mobile Developer

Porto
06 Set 2018
a 30 Abr 2019
Pós-laboral e Sábados

3ª e 5ª feiras (18h30 - 21h30) + Sábados (10h00 - 17h00)

Chat

Programação para a Web e Mobile está associada ao conceito de desenvolvimento de sites e aplicações web e mobile usando as linguagens de programação mais utilizadas no mercado.

O Web e Mobile Developer é o profissional criativo responsável pelo desenvolvimento de sites dinâmicos, portais e aplicações destinadas tanto ambiente web como mobile, sendo atualmente uma das profissões mais procuradas no mercado de trabalho.

O Curso FLAGProfessional Web & Mobile Developer é um curso prático de longa duração, desenhado especificamente para a preparação de profissionais de desenvolvimento para a web e de aplicações mobile, recorrendo às mais avançadas tecnologias do mercado atual. O curso contempla, para além dos módulos de formação, diversos workshops e a realização de 4 projetos, sujeitos a avaliação. Todos os participantes com avaliação igual ou superior a 16 valores têm a possibilidade de estágio na nossa rede de parceiros.

Objetivos:
Dotar os formandos de todos os conhecimentos teóricos e competências necessários para ingressar no mercado de trabalho e assumir uma atividade profissional ligada à Programação Web: programação de web sites, desenvolvimento e manutenção de plataformas de gestão de conteúdo, programação de aplicações para a web, criação de aplicações mobile para Android e iOS, entre outros.

 

Destinatários

Todos os interessados em iniciar ou consolidar uma atividade profissional como Programador Web e Webmobile.

Pré-Requisitos

  • Conhecimentos de Sistema Operativo (Windows ou MacOS) na ótica do utilizador
  • Gosto e apetência pela Programação

Metodologia

Os cursos FLAGProfessional são cursos de longa duração, com 3 sessões por semana, estando disponíveis nos seguintes horários: manhã, tarde e noite. Estes cursos têm por objetivo dotar os participantes dos conhecimentos técnicos e teóricos para o correto desenvolvimento das competências profissionais para um segmento de mercado, através de módulos de formação destinados à utilização de ferramentas específicas, workshops e sessões teóricas complementares.

Os cursos FLAGProfessional desenvolvem-se com graus de exigência extremamente elevados, o que obriga a uma total disponibilidade para o correto acompanhamento das matérias lecionadas, bem como dos projetos a realizar. Ao longo do curso, os formandos desenvolvem diversos projetos, orientados pelo formador responsável, criando o seu portfólio de trabalhos.

No final do curso, os formandos desenvolvem um projeto final, demonstrativo de todos os conhecimentos e competências adquiridos, que culmina numa apresentação e defesa presencial perante um júri.

A avaliação dos projetos é atribuída numa escala de 0 a 20 valores, atendendo aos seguintes critérios:

  • Planeamento
  • Criatividade
  • Originalidade
  • Autonomia
  • Aplicação dos conhecimentos

A avaliação final do formando reflete os seguintes níveis de ponderação:

  • Assiduidade e relação interpessoal: 5%
  • Projetos intermédios: 60%
  • Projeto final: 35%

Os formandos com avaliação final superior a 16 valores são colocados em estágio, em empresas parceiras da GALILEU.

Programa

O Curso FLAG Professional Web & Mobile Developer é composto pelos seguintes módulos:

  • Fundamentos de Web Development (3h)
  • Instalação e configuração de plataforma (3h)
  • Gestão e desenvolvimento do Projeto (3h)
  • Lógica (6h)
  • XHTML (12h)
  • Cascading Style Sheets (CSS) (12h)
  • Introdução à Programação Orientada para Objetos (OOP) (6h)
  • Javascript (21h)
  • HTML5 + CSS3 (15h)
  • Workshop: Jquery (6h)
  • Projeto Prático (9h)
  • Estruturação de Base de Dados e Linguagem SQL (12h)
  • PHP (30h)
  • HTML5 + CSS3 Avançado (15h)
  • Workshop: Content Management Systems (3h)
  • Projeto Prático (12h)
  • Workshop: De Website para Web App (6h)
  • PhoneGap (12h)
  • Fundamentos de Mobile Apps Development (3h)
  • Programação Java para Android (24h)
  • Desenvolvimento de Aplicações para Android (24h)
  • Projeto Prático (18h)
  • ANSI-C (18h)
  • Programação em Objetive-C (18h)
  • Desenvolvimento para iPhone/iPad (30h)
  • Projeto Prático (18h)

Fundamentos de Web Development (3h)

Protocolos de Comunicação na Web

  • Protocolos da Internet
  • Endereços de Internet
  • Estabelecer uma ligação

Modelo Cliente/Servidor

 

Instalação e configuração de plataforma (3h)

  • Instalação de um servidor Apache
  • Instalação de um servidor PHP e MySQL
  • Configuração dos respetivos servidores


Gestão e desenvolvimento do Projeto (3h)

  • Boas práticas para o desenvolvimento de um Projeto

 

Lógica (6h)

  • Sequência Lógica
  • Algoritmo
  • Simbologia
  • Diagramas
  • Constantes
  • Variáveis

 

XHTML (12h)

Conceitos sobre XHTML

  • A estrutura de uma página XHTML
  • Sintaxe XHTML
  • Validação através de DTD
  • Atributos standard
  • Entidades
  • Modularização do XHTML

Definição de Tags

  • Especificar cor de fundo de página
  • Especificar a cor default dos textos
  • Especificar as cores dos links
  • Utilizar imagens como fundo

Formatar Texto

  • Lista de fontes
  • Tamanhos para a fonte
  • Indentar texto
  • Criar listas
  • Listas de marcas
  • Listas de numeração
  • Adicionar carateres especiais à página
  • Colocação de imagens na página
  • Opções de alinhamento de imagens
  • Colocar texto a contornar imagens

Utilização de Tabelas

  • Criar tabelas
  • Tag SPAN
  • Formatação de células

Adicionar Links

  • › Links relativos e absolutos
  • › Adicionar Links E-mail
  • › Criação de âncoras

Construir um formulário

  • › Inserir e confi gurar um formulário
  • › Adicionar campos de texto
  • › Adicionar check boxes
  • › Adicionar radio buttons
  • › Adicionar listas / menus
  • › Adicionar botões
  • › Testar os formulários

 

Cascading Style Sheets (CSS) (12h)

Criar estilos embedded
Controlar cores e tipografia

  • › Aplicar cores
  • › Comentar o código
  • › Modifi car estilos de texto
  • › Modifi car fontes
  • › Criar external style (linked)

Formatar com Cascade

  • › Classes de formatação
  • › Utilização de ID´s
  • › Regras com seletores contextuais
  • › Aplicar regras a elementos com atributos específi cos
  • › Criar regras que usem Cascade
  • › Importação de estilos
  • › Aplicação de estilos inline

Controlar o BOX MODEL

  • › Controlar margens e padding´s
  • › Criar limites
  • › Controlar dimensões de um elemento
  • › Propriedade floating
  • › Propriedade overflow

Personalizar listas para barras de navegação

  • › Barra de navegação vertical
  • › Barra de navegação horizontal
  • › Utilização de imagens

Controlar Layout com position

  • › Centrar um design
  • › Layout baseados na propriedade float
  • › Layouts Fixos
  • › Layouts liquid
  • › Layouts Elásticos

Hacks e Filtros
Bug’s e correção dos mesmos

 

Introdução à Programação Orientada para Objetos (OOP) (6h)

Conceitos de Programação

  • › Identificar Programas e Linguagens de Programação
  • › Explorar o processo de desenvolvimento de um Programa
  • › Programação Orientada a Objetos
  • › Conceito OOP, características de uma linguagem OOP
  • › Programação baseada em Eventos
  • › Efetuar Cálculos
  • › Literais, operadores e funções
  • › Armazenar dados em variáveis e constantes
  • › Controlar a Execução de um Programa
  • › Utilizar Estruturas de Decisão
  • › Utilizar Estruturas de Repetição

 

Javascript (21h)

Os 3 Layers da Web

  • › DHTML
  • › HTML para conteúdos
  • › CSS para apresentação
  • › Javascript para interação
  • › Livrarias de Javascript

Programar com Javascript

  • › Correr um programa
  • › Declarações de javascript
  • › Comentários
  • › Variáveis
  • › Controlar o fl uxo de um programa com condições e loops
  • › Funções, reutilização de código
  • › Objetos

Controlar o documento

  • › DOM: O documento Object Model
  • › Aceder ao texto dos elementos do documento
  • › Aceder aos atributos dos elementos
  • › Aceder aos elementos que pretendemos
  • › Mudar de estilos
  • › Exemplo prático
  • › Utilização de livrarias externas

Eventos

  • › Gestores de eventos
  • › Listeners para eventos
  • › Exemplo prático

Animação

  • › Princípios de Animação
  • › Controlar o tempo com javascript
  • › Animação segundo um caminho

Melhoramento de Formulários

  • › HTML DOM extensions
  • › Validação de formulários
  • › Controlos de formulários personalizados

Erros e Debug

  • › Gerir erros
  • › Erros comuns
  • › Debug com firebug

 

HTML5 + CSS3 (15h)

HTML5

  • › Introdução
  • › Markup
  • › Boas práticas

CSS3

  • › Borders
  • › Backgrounds
  • › Colors
  • › Fonts
  • › Text Effects

 

Workshop: Jquery (6h)

Introdução ao jQuery

  • › Origem
  • › Utilização

Seletores

  • › Sintaxe
  • › Manipulação

Elementos DOM

  • › Manipulação

 

Projeto Prático (9h)

 

Estruturação de Base de Dados e Linguagem SQL (12h)

Base de Dados Relacional

  • › Tabelas, registos e campos
  • › Relações: 1-1, 1-Muitos, Muitos-Muitos, Zero, 1, Muitos
  • › Chaves: Primária, Única, Estrangeira
  • › Índices: índice alternado, índice de chave estrangeira

Normalização

  • › Primeira Forma (1NF)
  • › Segunda Forma (2NF)
  • › Terceira Forma (3NF)

SQL

  • › Pesquisar com o comando SELECT
  • › Filtrar com o comando WHERE
  • › Ordenar com o comando ORDER BY
  • › Agrupar com o comando GROUP BY
  • › Pesquisas complexas (Inner Join, Outer Join Queries, Nested

Queries, Composite Queries – UNION)

  • › Escrever com o comando INSERT INTO
  • › Atualizar com o comando UPDATE
  • › Apagar com o comando DELETE

 

PHP (30h)

  • Introdução ao PHP
  • › Anatomia de um script
  • › Tipos de dados
  • › Variáveis e operadores
  • › Estruturas de controlo e decisão
  • › Gestão de erros
  • Funções
  • › Sintaxe base
  • › Retornar valores
  • › Domínio de variáveis (scope)
  • Arrays
  • › Introdução às arrays
  • › Operações (comparação, contagem, pesquisa e gestão de elementos)
  • › Iterações (ponteiros)
  • › Ordenação
  • Strings
  • › Introdução às strings
  • › Comparação, pesquisa e substituição de carateres
  • › Formatação
  • OOP
  • › Declarar uma classe e criar instâncias
  • › Métodos e propriedades
  • › Interfaces
  • Programação Web
  • › Formulários e URLs (GET, POST, Uploads)
  • › HTTP Headers (redireccionamento, cookies, sessões)
  • › Envio de emails (função mail)
  • Integração com MySQL
  • › Abrir e fechar uma ligação ao MySQL
  • › Executar comandos SQL
  • › Processar dados da base de dados
  • Streams
  • › Aceder a ficheiros
  • › Trabalhar com diretorias


HTML5 + CSS3 Avançado (15h)

HTML5

  • › Audio e Video
  • › Canvas e SVG
  • › Geolocation
  • › Outras features

CSS3

  • › CSS3 Transitions
  • › CSS3 animation
  • › CSS3 2D/3D Transforms
  • › Media Queries

 

Workshop: Content Management Systems (3h)

OpenSource

  • › Java
  • › Perl
  • › PHP

Software proprietário

  • › ColdFusion
  • › Java
  • › ASP.NET

Projeto Prático (12h)

 

Workshop: De Website para Web App (6h)

Diferenças entre um website e uma aplicação mobile web nativa
Tecnologias

  • › HTML
  • › CSS
  • › Javascript
  • › jQTouch Libraries

Integração de uma web app com as funções mobile

 

PhoneGap (12h)

  • Introdução
  • › Usar o Phonegap
  • › Compreender os princípios do Phonegap
  • › A aplicação
  • Instalação e confi guração
  • › Phonegap Build
  • › Escolha de ambiente
  • Princípios básicos
  • › Usar o Phonegap com o Xcode
  • › Usar o Phonegap com Android
  • Eventos
  • › Compreender eventos
  • › Compreender os tipos de eventos
  • Rede e notifi cações
  • › Extrair informação do device
  • › Confi gurar uma rede
  • › Usar notifi cações
  • Acelerómetro
  • › Usar o objeto acelerómetro
  • › Métodos de usar o acelerómetro
  • › Opções do acelerómetro
  • Compasso
  • › Métodos de usar o compasso
  • › Opções do compasso
  • Geolocalização
  • › Compreender a geolocalização
  • › Objetos de posição e coordenadas
  • › Métodos de geolocalização
  • Media
  • › Ficheiros de media
  • › Objetos de media
  • › Erros
  • Câmara
  • › Usar o objeto câmara
  • › Método Getpicture
  • › Opções da câmara
  • Armazenamento
  • › Opções de armazenamento
  • › Usar o objeto database
  • › Usar o objeto localstorage
  • Ficheiros
  • › Compreender os fi cheiros de sistema
  • › Compreender diretorias e fi cheiros
  • › Ler e escrever fi cheiros
  • › Transferência de fi cheiros
  • › Erros
  • Contatos
  • › Compreender a criação de contatos
  • › Encontrar um contato
  • › Erros
  • Captura
  • › Capturar video
  • › Capturar audio
  • › Capturar imagens
  • Aplicação
  • › Design da aplicação
  • › Criar a aplicação
  • › Otimizar a aplicação


Fundamentos de Mobile Apps Development (3h)

Aplicações, Design e Arquitetura mobile

  • › Tecnologias
  • › Design
  • › Interfaces
  • › Plataformas
  • › Emuladores e Simuladores

Plataformas

  • › iOS
  • › Android
  • › Blackberry
  • › Blackberry Playbook Tablet OS
  • › Windows 7

Como desenhar e construir uma mobile app

  • › Estratégia mobile
  • › Arquiteturas mobile
  • › Cliente-servidor
  • › Tipos de conexão
  • › Sincronização

Interfaces de hardware para mobile

 

Programação Java para Android (24h)

Características da Linguagem

  • › Java Virtual Machine
  • › Interpretada
  • › Portabilidade
  • › Multithreaded
  • › Carga Dinâmica de Código
  • › Orientação a Objectos

Java Technology – Overview

  • › Java SE, EE and ME
  • › Java Virtual Machine (JVM)
  • › Software Based Technology
  • › Java Run-Time Environment (JRE)
  • › Garbage Collector

Paradigma de Orientação a Objectos

  • › Abstração
  • › Encapsulamento de Atributos e Comportamentos
  • › Usar o UML
  • › Exercicio – Criar dois diagramas de UML

Messaging

  • › Definição de métodos e chamadas
  • › Parametros / Argumentos
  • › Retorno
  • Desenvolvimento de Aplicações Java
  • › Ferramentas de Desenvolvimento Java
  • › Criação de fi cheiros JAR
  • › Escrever, compilar e executar aplicações Java

Introdução à Linguagem Java

  • › Sintaxe e palavras-chave da linguagem
  • › Identifi cadores e convenções da linguagem

Instanciação

  • › Object Blueprint
  • › Classes e Objectos – Defi nição
  • › Declaração de Classes
  • › Instâncias

Variáveis e Tipos de Dados

  • › Atribuição e declaração de variáveis
  • › Tipos de dados Primitivos e de Referência/Objetos
  • › Casting de tipos de dados
  • › Escopo de variáveis
  • Operadores e Expressões
  • › Funcionalidade
  • › Precedência

Arrays

  • › Defi nição de Arrays
  • › Declaração, atribuição e instanciação de Arrays
  • › Atribuição e leitura de índices
  • › Exercício – Array simples

Controlo de Fluxo

  • › Repetição
  • › Decisão
  • String e StringBuffer
  • › String
  • › StringBuilder
  • › Exercício – String & StringBuilder na API

Herança

  • › Hierarquia da Herança
  • › SubClass e SuperClass
  • › Re-defi nição de Métodos
  • › Dynamic Method Binding

Framework Java

  • › Pacotes de Classes
  • › Application Programming Interface (API)
  • › Documentação da API

Qualificadores e Modificadores de Acesso

  • › Para: Classes, Variáveis e Metodos
  • › Interface de Objecto pública e implementação privada

Polimorfismo

  • › Variáveis, parâmetros e arrays polimorficos

Tratamento de Excepções

  • › Objectos de Excepção
  • › try/catch/fi nally statement
  • › Java’s Catch ou Specify Requirement
  • › Collections
  • › Vector, Enumeration, List etc.
  • › Input – Output
  • › Input e Output Streams
  • › Leitura e Escrita local e remota
  • › Persistência de Objeto – Serialização

Desenvolvimento de Aplicações para Android (24h)

Android em Geral

  • › Objectivos do Curso
  • › Visualizando o market
  • › Android Market
  • › Versões da plataforma
  • › Arquitectura
  • › Framework
  • › Core Applications
  • › Device input e output
  • › Device radios
  • › Nativo vs Web
  • › Desktop vs Mobile
  • › Introdução ao Emulador (AVD)
  • › Introdução ao Eclipse e ao plugin ADT (painéis, shortcuts)

Introdução a Activity/Intent

  • › Application components (intro)
  • › Activity/Context
  • › View
  • › Activity Lifecycle
  • › Application/Task
  • › Intent
  • › Intent/telefone e browser
  • › Pasta layout
  • › Application manifest
  • › Pastas de recursos
  • › Trace logging
  • › Widgets
  • › TextView
  • › Button
  • › Event listener
  • › Multiple Activities
  • › Introdução ao “android debug bridge” (ADB)
  • › Deploy da aplicação de demonstração para o telefone

Views e Layouts

  • › View/ViewGroup
  • › Posicionamento regras e tamanho da View
  • › Valores de Tamanho e de Cor
  • › AbsoluteLayout
  • › FrameLayout
  • › LinearLayout
  • › RelativeLayout
  • › SlidingDrawer
  • › TableLayout
  • › ScrollView
  • › Ficheiro de Layout
  • › Adicionar View ao Layout
  • › Estilos/Temas
  • › Drawables (introdução)
  • › Densidade de Ecrã e ImageView
  • › Orientação de Ecrã (portrait vs landscape)

Mais Views, Botoes Customizados, Criação de Formulários

  • › Menu/OptionMenu
  • › EditText
  • › CheckBox
  • › RadioButton/RadioGroup
  • › Dialog: Alert, Custom, List, Radio
  • › Toast
  • › 9 Patch Graphics
  • › StateListDrawable
  • › WebView/WebViewClient
  • › Custom View
  • › Intent (Informação Extra / Filtragem)
  • › Passagem de informação entre Activities

Serviços

  • › Application (class)
  • › Threads
  • › Handlers/Loopers/Message Queues
  • › Serviços (Locais e Remotos)
  • › AIDL e Broadcast Receiver
  • › Alarm Manager
  • › Notifi cation Manager
  • › DDMS

ContentProviders / Resolvers

  • › ContentProviders/Resolvers
  • › REST
  • › SQL review e SQLite Database
  • › Insert, Update, Delete, Select
  • › SQLiteOpenHelper
  • › BaseColumns

Adapters

  • › Adapters
  • › Spinner
  • › ListView
  • › GridView
  • › Gallery/ImageSwitcher

Projeto Prático (18h)

ANSI-C (18h)

Fundamentos

  • › Variáveis e tipos de informação
  • › Expressões e operações
  • › Estados, funções, input e output, looping

Compilador C

  • › Fases da compilação
  • › Processamento através de ligação e carregamento
  • › Criar ficheiros intermédios com compilação personalizada

Pré-processador C

  • › Aprender a usar usar o pré-processador para importar ficheiros, definir macros e constantes
  • › Gerir compilação condicional

Definir e invocar Funções

  • › Modular código usando funções reutilizáveis

Classes de armazenamento

  • › Variáveis dentro e fora do espetro
  • › Armazenamento para variáveis automáticas

Expressões

  • › Regras de precedência
  • › Ordens de avaliação
  • › Expressões de listagens
  • › Operador trigraph

Estruturas de controle

  • › While, do… while e for
  • › Estruturas
  • › Alinhamentos multi-nível

Pointers, Arrays e Strings

  • › Aprender a trabalhar com Pointers
  • › Relações entre Pointers
  • › Funções de bibliotecas strcpy, strcat e sscanf

Estruturas de dados

  • › Usar declarações de estutura para criar tipos de informação personalizada em C.

Alocação de memória dinâmica

  • › Controlar a memória do programa usando dinamicamente as expressões malloc, realloc e free.

Compreender endereços e a aritmética dos Pointer

  • › Arrays multi-dimensionais, estruturas de pointers, arrays de pointers

Trabalhar com streaming e fi cheiros input/output

  • › Inputs e outputs standards
  • › Ficheiros de sistema
  • › Ler e escrever texto e informação binária

Programação em Objetive-C (18h)

XCode

  • › Aprendizagem do interface
  • › Criação e gestão de projectos
  • › Compilação

Introdução ao Objective-C

  • › Defi nição de classes e métodos
  • › Alocação e dealocação de objetos
  • › Troca de mensagens entre objetos

Foundation Library

  • › Bibliotecas base C e Objective-C
  • › Tipos essenciais como texto, números, datas, listas, dicionários, ficheiros e diretorias

Objective-C 2.0

  • › Coletores de memória
  • › Propriedades dinâmicas
  • › Enumeração rápida

Gestão de memória

  • › Mecanismos retain/release e zonas autorelease
  • › Aprendizagem de erros mais comuns

Tópicos avançados

  • › Protocolos
  • › Categorias
  • › Key-value coding
  • › Exceções
  • › Paralelismo

Objective-C Runtime

  • › Tipos dinâmicos
  • › Métodos de NSObject

Serialização

  • › Escrita e leitura de objetos para outros meios
  • › Property lists

Desenvolvimento para iPhone/iPad (30h)
Interface Builder

  • › Tipos de elementos gráfi cos
  • › Desenho de aplicações
  • › Comunicação com o código fonte

Criação de aplicações

  • › Exposição aos princípios e regras para a criação de
  • aplicações focadas na experiência do utilizador.
  • Padrões de desenho
  • › Utilização de model-view-controler, delegate, data source, target-action
  • › Bindings, notifications

UIKit

  • › Table views
  • › Navigation controlle
  • › Tab bar controller e outros elementos específi cos de iPad

Eventos de interação

  • › Utilização dos eventos de toque para interagir com os elementos da aplicação

Gráficos e animação

  • › Personalização e animação de elementos gráficos com Core

Graphics e Core Animation

  • › Visualização e manipulação de imagens

Persistência de dados

  • › Introdução à biblioteca CoreData
  • › Técnicas de leitura e escrita para diferentes meios

Sensores do dispositivo

  • › Exploração do acelerómetro
  • › Bússola, entre outros

Mapas e Localização

  • › Integração de mapas utilizando a framework MapKit
  • › Métodos para descoberta da localização actual

Integração de serviços

  • › Utilização de livro de endereços, email, calendário e canais de publicidade

Monitorização de performance

  • › Exploração da ferramenta Intruments para analisar a execução da aplicação
  • › Resolução de problemas
  • › Análise de performance
  • › Testes de carga e eliminação de fugas de memória

Distribuição

  • › Aprendizagem do processo de finalização e distribuição das aplicações através da AppStore

Projeto Prático (18h)

 

Chat

Quero saber mais informações sobre este curso

FLAGProfessional Web & Mobile Developer

Desenvolvimento | 339h - Pós-laboral e Sábados: 3ª e 5ª feiras (18h30 - 21h30) + Sábados (10h00 - 17h00)


Notas

Pretende mais informação sobre este curso?

Preencha o formulário com os seus dados e as suas questões e entraremos em contacto consigo para lhe darmos todas as informações pretendidas.

Obrigado!