PROGRAMAÇÃO III

(ADSIS80_014)

Henrique Vignando

  • Mestre em Ciências da Computação (UEM)
  • Bacharel em Informática (UEM)
  • Líder técnico e engenheiro de dados e software na Mentorstec
  • 9 anos em desenvolvimento de software
  • 2 anos com engenharia de dados
  • 1 ano com liderança técnica.
  • Palestrante no Pentaho Day 2019.
  • Entusiasta cultural das rotinas e pipelines de dados, arquitetura de software, boas práticas e padronizações
  • Algoritmos e Lógica de Programação I
  • Algoritmos e Lógica de Programação II
  • Estruturas de Dados I
  • Estruturas de Dados II
  • Programação I
  • Programação II
  • Banco de Dados I
  • Banco de Dados II

Premissas

Plano de Ensino

  • Ementa
  • Objetivo / Justificativa
  • Programa
  • Avaliação
  • Referências

Ementa

Mapeamento objeto/relacional, persistência de objetos, gerenciamento de transações, frameworks mvc para desenvolvimento web, desenvolvimento com mvc (elementos de visão, modelo e controle), programação concorrente, programação de aplicações em rede, manipulação de XML.

Objetivos

Conhecer princípios técnicas básicas da programação orientada a objetos;

Aplicar esses princípios e técnicas no desenvolvimento de programas computacionais orientados a objetos usando a linguagem JavaScript e seus frameworks.

Justificativa

Existem diversas linguagens de programação no mercado de trabalho, dentre elas uma linguagem que tem se destacado tanto acadêmica como comercialmente é a
linguagem JavaScript para desenvolvimento de softwares.

Esta disciplina visa capacitar o acadêmico a utilizar a linguagem JavaScript na programação de sistemas transacionais web orientados a objetos.

JavaScript

Programa

Características de linguagens de programação, compilação e interpretação de linguagens, linguagens tipadas e não tipadas.
Tipos, variáveis e atribuições.
Objetos, classes e métodos. Parâmetros e valores de retorno. Tipos numéricos
Construção de objetos, métodos de acesso e modificadores. Referências a objetos.
Elaborando aplicações gráficas.
Níveis de abstração e interface pública de classes, comentários e geração de documentação. Campos de instância. Implementando métodos e construtores.
Categorias de variáveis. Parâmetros de método implícitos e explícitos.
Testes unitários.
Elaboração de classes com testes.
Encapsulando atributos de objetos (modificadores de acesso com métodos de obtenção/modificação)
Uso de construtores
Associações simples entre classes usando atributos de instância.
Uso de arrays.
Associações com cardinalidade superior a 1 (um) usando arrays como atributos de instância.
Uso de ArrayList comparado ao uso de arrays.
Tipos numéricos, arrendondamento e a classe BigDecimal.
Conversão e coerção de tipos, classes equivalentes aos tipos primitivos.
Projetando classes: descoberta, coesão e acoplamento
Projetando classes: imutabilidade, efeitos colaterais, pré-condições e pós-condições.
Projetando classes: pacotes, escopo, métodos e variáveis estáticas.
Interfaces e polimorfismo: uso de interfaces e reuso, extraindo interfaces de classes.
Interfaces e polimorfismo: comportamento polimórfico.
Interfaces e polimorfismo: callbacks e inner classes.
Uso de frameworks de testes unitários.
Projeto com classes projetadas para comportamento polimórfico com testes.
Herança: hierarquias e implementação de subclasses.
Herança: sobreposição de métodos.
Herança: conversão entre subclasse e superclasse.
Herança: herança e polimorfismo, estudo da classe Object.
Model driven design
Test driven development
TDD + DDD
Acesso a banco de dados com JDBC (drivers, conexões, statements e resultsets)
Input/Output - readers, writers e streams
Input/Output - acesso randômico
Input/Output - fluxo de objetos

Avaliação

  • 1º. bimestre:
    • Prova (60%)
    • AEPs (20%)
    • PI (20%)
  • 2º. bimestre
    • Prova (60%) 
    • AEPs (20%) 
    • PI (20%)

Desafio

Implementar uma calculadora usando

HTML CSS e JavaScript

UniCesumar ADS Programação III - Introdução

By Henrique Vignando

UniCesumar ADS Programação III - Introdução

Aula1

  • 46