top of page

Computação

O curso de Ciência da Computação forma profissionais qualificados para desenvolver programas e sistemas de informática, desde o planejamento do projeto até a implantação e gerenciamento do software.

 

Computador é um conjunto de componentes eletrônicos (máquina) capaz de executar variados tipos de algoritmos e tratamento de informações (processamento de dados). Um computador pode possuir inúmeros atributos, dentre eles armazenamento de dadosprocessamento de dadoscálculo em grande escala, desenho industrial, tratamento de imagens gráficasrealidade virtualentretenimento e cultura.

O primeiro computador eletromecânico foi construído por Konrad Zuse (19101995). Em 1936, esse engenheiro alemão construiu, a partir de relês que executavam os cálculos e dados lidos em fitas perfuradas, o Z1. Zuse tentou vender o computador ao governo alemão, que desprezou a oferta, já que não poderia auxiliar no esforço de guerra. Os projetos de Zuse ficariam parados durante a guerra, dando a chance aos americanos de desenvolver seus computadores.

Foi na Segunda Guerra Mundial que realmente nasceram os computadores atuais. A Marinha dos Estados Unidos, em conjunto com a Universidade de Harvard, desenvolveu o computador Harvard Mark I, projetado pelo professor Howard Aiken, com base no calculador analítico de Babbage. O Mark I ocupava 120 m³ aproximadamente, conseguindo multiplicar dois números de dez dígitos em três segundos.

Alguns aplicativos e linguagens:

Access - banco de dados simples que serve para fazer pequenas soluções departamentais;

Android Studio - é um ambiente de desenvolvimento integrado para desenvolver para a plataforma Android. Foi anunciado em 16 de Maio de 2013 na conferência Google I/O. Android Studio é disponibilizado gratuitamente sob a Licença Apache 2.0;

Bizagi -  é um software de modelagem descritiva, analítica e de execução, de processos de negócio utilizando a notação BPMN (Business Process Model and Notation - notação para modelagem de processos de negócio);

 

Azure -  é uma plataforma destinada à execução de aplicativos e serviços, baseada nos conceitos da computação em nuvem;

 

Delve - informações pessoais;

Dynamics - Microsoft Dynamics, também conhecido como Dynamics CRM e Dynamics 365, é uma linha de software da Microsoft destinado a gestão corporativa ERP, para ajudar na tomada de decisões gerenciais e melhorar os resultados administrativos e financeiros das empresas;

Dart - é uma linguagem de script voltada à web desenvolvida pela Google. Ela foi lançada na GOTO Conference 2011, que aconteceu de 10 a 11 de outubro de 2011 em Aarhus, na Dinamarca. O objetivo da linguagem Dart foi inicialmente a de substituir a JavaScript como a linguagem principal embutida nos navegadores;

Dropbox - é um serviço para armazenamento e partilha de arquivos. É baseado no conceito de "computação em nuvem" ("cloud computing"); Ele pertence ao Dropbox Inc., sediada em San Francisco, Califórnia, EUA;

DOS - sigla para Disk Operating System ou sistema operacional em disco é um acrónimo para vários sistemas operativos intimamente relacionados que dominaram o mercado para compatíveis IBM PC entre 1981 e 1995, ou até cerca de 2000 caso sejam incluídas as versões de Microsoft Windows parcialmente baseadas em DOS: Windows 3.119598 e Me (O Windows Millennium Edition, ou Windows ME (com a palavra "me" em seu logotipo, que no inglês significa "eu", mas geralmente com as letras pronunciadas individualmente, "M-E"), é um sistema operacional de interface gráfica desenvolvido pela Microsoft, lançado em 14 de Setembro de 2000. Foi o último sistema operacional da família Windows 9x, que rodam em cima do MS-DOS.

Excel - editor de planilhas e gráficos;

Exchange (calendário) - Microsoft Exchange Server é uma aplicação servidora de e-mails, desenvolvido pela Microsoft, e que pode ser instalado somente em plataformas da família Windows Server.  Plataforma de compartilhamento de vídeos. 

Flow - crie fluxos de trabalho, ficheiros e dados para autorizar tarefas;

Flutter - é um kit de desenvolvimento de interface de usuário, de código aberto, criado pelo Google, que possibilita a criação de aplicativos compilados nativamente. Atualmente pode compilar para Android, iOS, Windows, Mac, Linux, Google Fuchsia e Web.

Forms - crie questionários, votações em tempo real. Ferramenta para criação de pesquisas, testes e votações. Permite o acompanhamento dos resultados em tempo real;

Git - ₍ₒᵤ em inglês britânico é um sistema de controle de versões distribuído, usado principalmente no desenvolvimento de software, mas pode ser usado para registrar o histórico de edições de qualquer tipo de arquivo.

JavaScript - é uma linguagem de programação interpretada estruturada, de script em alto nível com tipagem dinâmica fraca e multiparadigma. Juntamente com HTML e CSS, o JavaScript é uma das três principais tecnologias da World Wide Web. JavaScript permite páginas da Web interativas e, portanto, é uma parte essencial dos aplicativos da web. A grande maioria dos sites usa, e todos os principais navegadores têm um mecanismo JavaScript dedicado para executá-lo;

Lens - é como um scanner de bolso;

LaTeX - é um sistema de preparação de documentos. Ao escrever, o escritor usa texto simples, ao invés do texto formatado encontrado em processadores de texto WYSIWYG como Microsoft Word, LibreOffice Writer e Apple Pages. 

Outlook - email e calendário;

Onedrive - compartilhamento de arquivos;

One note - bloco de anotações digital. Caderno virtual de anotações que pode ser compartilhado para colaboração simultânea.

Pessoas - organize as informações de contato de todos os seus conhecidos num único local;

Planner - crie novos planos, organize e atribua tarefas, partilhe ficheiros, converse sobre seu trabalho e receba atualizações sobre o progresso;

Power BI - crie dashboards de dados acionáveis, dinâmicos e interessantes;

Powerapps - crie aplicações web para dispositivos móveis que utilizam os mesmos dados que a sua organização;

Powerpoint - slides profissionais;

Powershell - é um shell de linha de comando baseado em tarefas e linguagem de script desenvolvido no.NET. Inicialmente, apenas um componente do Windows, o PowerShell tornou-se de código aberto e multiplataforma em 18 de agosto de 2016 com a introdução do PowerShell Core.

Publisher - cartões de mensagem, boletins informativos profissionais, anuários e catálogos;

React - é uma biblioteca JavaScript de código aberto com foco em criar interfaces de usuário em páginas web. É mantido pelo Facebook, Instagram, outras empresas e uma comunidade de desenvolvedores individuais. É utilizado nos sites da Netflix, Imgur, Feedly, Airbnb, SeatGeek, HelloSign, Walmart e outros;

React native - é uma biblioteca Javascript criada pelo Facebook. É usada para desenvolver aplicativos para os sistemas Android e iOS de forma nativa;

Silverlight - é um software de tecnologia para navegadores e plug-ins da nova geração. Desenvolvido para competir com o Adobe Flash e com o Adobe Flex, o Silverlight propõe a criação de RIA (Internet rica), propõe combinar visual e funcionalidade, ou seja, criando uma ponte entre designers e desenvolvedores;

Sharepoint - partilhe e faça gestão de conteúdos, conhecimentos e aplicações para promover o trabalho da equipe, encontre informações rapidamente. Ferramenta para criação de intranet e portais colaborativos para o ambiente interno;

StaffHub - faça gestão do seu horário laboral online, comunique aos seus colegas;

Stream - partilhe vídeos de aulas, reuniões, apresentações.  Plataforma de compartilhamento de vídeos. Permite que o usuário publique vídeos, crie canais e faça comentários dentro do ambiente corporativo;

Sway - crie e partilhe apresentações, relatórios interativos. O Sway trata da estrutura;

Skype - mensagens instantâneas;

Sway - relatórios interativos, apresentações. Tela online, menos preocupação com a formatação e mais com o conteúdo;

Tarefas - crie e faça gestão de tarefas no outlook;

Teams - baseada em chat personalizável. Ferramenta que agrega funcionalidades como chat, videoconferência, equipes de trabalho, 
canais de compartilhamento de arquivos, que poderão ser visualizados e editados pelos participantes do grupo;

To-do - faça gestão de tarefas e conclua as tarefas mais importantes;

Teams - acesso instantâneo de toda equipe em um só local;

Word - editor de textos;

Yammer - contacte pessoas certas, partilhe informações com várias equipes e organize-se em projetos com colegas. Rede social corporativa;

Termos relacionados:

 

O DHCP, Dynamic Host Configuration Protocol, é um protocolo de serviço TCP/IP que oferece configuração dinâmica de terminais, com concessão de endereços IP de host, máscara de sub-rede, default gateway, número IP de um ou mais servidores DNS, sufixos de pesquisa do DNS e número IP de um ou mais servidores WINS.

 

DNS - o Sistema de Nomes de Domínio, mais conhecido pela nomenclatura em Inglês Domain Name System, é um sistema hierárquico e distribuído de gestão de nomes para computadores, serviços ou qualquer máquina conectada à Internet ou a uma rede privada.

O que é IP?

IP é a sigla de Internet Protocol ou, em português, Protocolo de Internet. Trata-se do endereço na rede, ou seja, o dado necessário para que as ligações da internet sejam estabelecidas.

Esse dado identifica cada um dos dispositivos conectados à rede, seja um smartphone, um computador ou um tablet, por exemplo. Sendo assim, cada um dos aparelhos conectados à internet possui um endereço IP.

A função do IP é permitir que sejam enviadas informações entre um dispositivo e outro pela web. Pacotes de dados são transferidos pela rede contendo os endereços de IP dos computadores em questão, possibilitando essa troca. Sem os endereços IP, não seria possível estabelecer essa comunicação nem enviar dados.

IPv4 e IPV6 seriam, então, versões do sistema IP. Vejamos a diferença entre IPv4 e IPv6.

 

O que é IPv4?

Desde a criação da internet, o protocolo usado até então era o IPv4, que é a sigla para Internet Protocol version 4 ou, em português, Protocolo de Internet versão 4. Possui endereços no padrão 32 bits e sustenta cerca de 4 bilhões de combinações de endereços IP em todo o mundo.

No entanto, o IPv4 não possui mais capacidade de expansão para sustentar a demanda de internet global, além de já apresentar falhas de segurança. O número de combinações possíveis do IPv4 parecia inesgotável 30 anos atrás, mas, com o crescimento constante de dispositivos conectados e o advento de tecnologias como a Internet das Coisas, essa quantidade começou a ficar escassa. É por isso que já se iniciou a migração para uma versão mais avançada: o IPv6.

 

O que é IPv6?

O IPv6 é, então, a versão 6 do Protocolo de Internet, com endereços no padrão 128 bits. Ou seja, trata-se do sucessor do IPv4, uma vez que o antigo protocolo não mais suporta a demanda de endereços. Atuando em 128 bits, o IPv6 suporta cerca de 340 undecilhões (10^36) de endereços, contra 4 bilhões suportados pelo IPv4.

Além do maior número de combinações, o IPv6 também simplifica as atribuições de endereços e traz recursos adicionais de segurança de rede. Um exemplo é o IP Security, que garante autenticidade, integridade e confidencialidade por meio de criptografia, embora o IPv4 conte com firewalls e outros dispositivos para garantir segurança.

Pipeline - a segmentação de instruções é uma técnica de hardware que permite que a CPU realize a busca de uma ou mais instruções além da próxima a ser executada.

Open source é uma forma de criar produtos que permite sua posterior inspeção, modificação e melhoria por parte de um programador ou programadora que não esteja na equipe autora. A maioria dos usuários de computadores não chegam nem a ver o código-fonte desses produtos.

GitHub é uma plataforma de hospedagem de código-fonte e arquivos com controle de versão usando o Git. Ele permite que programadores, utilitários ou qualquer usuário cadastrado na plataforma contribuam em projetos privados e/ou Open Source de qualquer lugar do mundo.

---------------------------------------------------------------------------------------------------------

APRENDIZADO DE MÁQUINA:

1 Técnicas de classificação. 1.1 Naive Bayes. 1.2 Regressão logística. 1.3 Redes neurais artificiais. 1.3.1 Funções de ativação: limiar, linear, ReLU, logística, softmax, maxout e gaussiana. 1.3.2 Redes Perceptron de única e múltiplas camadas. 1.4 Árvores de decisão (algoritmos ID3 e C4.5) e florestas aleatórias (random forest). 1.5 Máquinas de vetores de suporte (SVM – support vector machines). 1.6 K vizinhos mais próximos (KNN – K-nearest neighbors). 1.7 Comitês de classificadores. 1.8 Avaliação de modelos de classificação: treinamento/teste/validação; validação cruzada; métricas de avaliação (matriz de confusão, acurácia, precisão, revocação, F1-score e curva ROC).

2 Técnicas de regressão. 2.1 Regressão linear. 2.2 Séries temporais (tendências, suavização exponencial e modelos ARIMA). 2.3 Redes neurais para regressão. 2.4 Árvores de decisão para regressão. 2.5 Máquinas de vetores de suporte para regressão. 2.6 Intervalos de confiança em regressão. 2.7 Avaliação de modelos de regressão: mean absolute error (MAE), mean square error (MSE), root mean square error (RMSE) e coeficiente de determinação (R 2 ).

3 Técnicas de agrupamento. 3.1 Agrupamento por partição. 3.2 Agrupamento por densidade. 3.3 Agrupamento hierárquico.

4 Técnicas de redução de dimensionalidade. 4.1 Seleção de características (feature selection). 4.2 Análise de componentes principais (PCA – principal component analysis).

5 Técnicas de associação. 5.1 Descoberta de conjuntos frequentes. 5.2 Descoberta de regras de associação.

 

6 Sistemas de recomendação.

 

7 Processamento de linguagem natural (PLN). 7.1 Normalização textual (stop words, estemização, lematização e análise de frequência de termos). 7.2 Rotulação de partes do discurso (POS-tagging – part-of-speech tagging). 7.3 Reconhecimento de entidades (NER – named entity recognition) e rotulação IOB. 7.4 Modelos de representação de texto: N-gramas, modelos vetoriais de palavras (CBOW, Skip-Gram e GloVe), modelos vetoriais de documentos (booleano, TF e TF-IDF, média de vetores de palavras e Paragraph Vector). 7.5 Métricas de similaridade textual (similaridade do cosseno, distância euclidiana, similaridade de Jaccard, distância de Manhattan e coeficiente de Dice). 7.6 Aplicações de PLN: sumarização automática de texto (abordagens extrativa e abstrativa), modelagem de tópicos em texto (algoritmos LSI, LDA e NMF), classificação de texto, agrupamento de texto, tradução automática de texto, análise de sentimentos e emoções em texto, reconhecimento de voz (STT – speech to text).

 

8 Visão computacional. 8.1 Reconhecimento facial. 8.2 Classificação de imagens. 8.3 Detecção de objetos. 8.4 Deep learning para visão computacional.

 

9 Aprendizado profundo. 9.1 Redes neurais convolucionais. 9.2 Redes neurais recorrentes. 9.2.1 Redes de Hopfield. 9.2.2 Long short-term memory (LSTM). 9.2.3 Redes perceptron multicamadas recorrentes. 9.2.4 Máquinas de Boltzmann. 9.2.5 Deep belief networks.

TRATAMENTO DE DADOS:

1 Normalização numérica.

2 Discretização.

3 Tratamento de dados ausentes.

4 Tratamento de outliers e agregações.

 

MÉTODOS DE OTIMIZAÇÃO MATEMÁTICA:

1 Gradiente descendente.

2 Gradiente descendente em lote.

3 Gradiente descendente estocástico.

4 Simulated annealing.

5 Programação linear (método Simplex).

6 Pesquisa operacional.

7 Grid search e randomized search.

 

LINGUAGENS DE PROGRAMAÇÃO E FRAMEWORKS:

1 Python.

2 Linguagem de programação R. 3 Scala.

4 Java.

5 Spark (PySpark, Scala e Java).

6 Pandas.

7 Scikit-learn.

8 TensorFlow.

9 PyTorch.

10 Keras.

11 NLTK.

 

FUNDAMENTOS DE PROBABILIDADE E ESTATÍSTICA:

1 Probabilidade e probabilidade condicional.

2 Independência de eventos, regra de Bayes e teorema da probabilidade total.

3 Variáveis aleatórias e funções de probabilidade.

4 Principais distribuições de probabilidade discretas e contínuas: distribuição uniforme, distribuição de Bernoulli, distribuição binomial, distribuição multinomial e distribuição normal.

5 Medidas de tendência central: média (aritmética, ponderada, geométrica e harmônica), mediana e moda. 6 Medidas de dispersão: amplitude, variância, desvio padrão e coeficiente de variação.

7 Coeficiente de correlação de Pearson.

8 Teorema central do limite.

9 Regra empírica (regra de três sigma) da distribuição normal.

10 Modelos probabilísticos gráficos: modelos de Markov, filtros de Kalman e redes bayesianas.

11 Testes de hipóteses: teste-z, teste-t, valor-p, testes para uma amostra, testes de comparação de duas amostras, ANOVA, teste de normalidade (chi square) e intervalos de confiança.

12 Histogramas e curvas de frequência. Diagrama boxplot. Avaliação de outliers.

 

GESTÃO DE PROJETOS EM CIÊNCIA DE DADOS:

1 Processo CRISP-DM.

2 Gerenciamento de projetos tradicionais.

3 Gerenciamento de projeto ágeis.

 

BIG DATA:

1 Fundamentos.

2 Tipos de dados: estruturados, semiestruturados e não estruturados.

3 Conceitos dos três Vs.

4 Fluxo de big data: ingestão, processamento e disponibilização.

5 Armazenamento de big data.

6 Pipeline de dados.

7 Processamento distribuído.

8 Conceitos de data lake.

9 ETL X ELT.

10 Soluções de big data.

10.1 Arquitetura do ecossistema Apache Hadoop.

10.2 Componentes Hadoop: HBase, Kudu, Sqoop, Nifi, Hive, Impala, Spark, Spark Streaming, SOLR, Oozie, Yarn, Kafka, Flink e AirFlow.

11 Arquiteturas de big data.

11.1 Arquitetura Lambda.

11.2 Arquitetura Kappa.

11.3 Arquitetura de IoT.

11.4 Arquitetura de cloud computing para dados (AWS, Azure).

 

ARMAZENAMENTO DE DADOS:

1 Sistemas de arquivos distribuídos: HDFS.

2 Armazenamento orientado a objeto (object store): S3, CEPH.

3 Banco de dados NoSQL orientado a colunas: HBase.

4 Banco de dados NoSQL orientado a grafos: Neo4J.

5 Banco de dados NoSQL orientado a documentos: MongoDB.

6 Sistemas de indexação: ElasticSearch.

 

INGESTÃO DE DADOS:

1 Conceito de ingestão de dados.

2 Ingestão de dados estruturados, semiestruturados e não estruturados.

3 Ingestão de dados em lote (batch).

4 Ingestão de dados em streaming.

5 Ingestão de dados full × incremental.

6 Ingestão de dados CDC (change data capture).

 

PROCESSAMENTO DE DADOS:

1 Conceitos de processamento massivo e paralelo.

2 Processamento em lote (batch).

3 Processamento em tempo real (real time).

4 Processamento MapReduce.

 

BUSINESS INTELLIGENCE E ANALYTICS:

1 Ecossistema de Big Data Apache Hadoop.

2 Arquitetura e análise de requisitos para sistemas analíticos.

3 Ferramentas ETL e OLAP.

4 Álgebra relacional e SQL (padrão ANSI).

5 Banco de dados relacional em plataforma baixa (Oracle, SQL Server, Postgree, MySQL) e XML.

6 Banco de dados NoSQL.

7 Visualização e análise exploratória de dados. 7.1 Ferramentas de criação de dashboards (Qlik, MicroStrategy Dossiê, Tableau e Pentaho). 7.2 Storytelling. 7.3 Elaboração de painéis e dashboard. 7.4 Elaboração de relatórios analíticos.

 

QUALIDADE DE DADOS:

1 Conceitos e definições sobre qualidade de dados.

2 Dimensões da qualidade de dados (visão DMBOK).

3 Principais técnicas em qualidade de dados. 3.1 Profiling. 3.2 Matching. 3.3 Deduplicação. 3.4 Data cleansing. 3.5 Enriquecimento.

4 Boas Práticas para adoção da qualidade de dados.

5 Processos de qualidade para modelos de dados.

6 Noções básicas de visualização de dados.

 

MODELAGEM DE DADOS: 1 Modelo entidade-relacionamento. 2 Linguagem de implementação banco de dados: banco físico, lógico e conceitual. 3 Modelagem conceitual de dados. 3.1 Entidades. 3.2 Atributos. 3.3 Relacionamentos. 3.3.1 Grau dos relacionamentos. 3.3.2 Cardinalidade. 3.3.3 Tipos de relacionamentos. 3.4 Mecanismos avançados de abstração em um modelo conceitual de dados. 3.4.1 Repetição. 3.4.2 Autorrelacionamento. 3.4.3 Generalização e especialização. 3.4.4 Agregação. 4 Modelagem lógica de dados. 4.1 Conceitos em modelagem lógica de dados. 4.2 Normalização. 5 Data warehouse. 5.1 Modelagem dimensional. 5.2 Criação, implantação e manutenção de rotinas de ETL (Pentaho e Power Center). 5.3 Conceito e aplicações. 5.4 Fatos e dimensões. 5.5 Operações OLAP. 5.6 Conceitos de data warehouse. 5.7 Técnica de modelagem dimensional e otimização de bases de dados para BI.

MDM (MASTER DATE MANEGEMENT):

1 Conceitos básicos. 1.1 Golden record. 1.2 Modelos de implementação de data hub.

2 Qualidade dos dados mestres.

3 Algoritmos fuzzy matching e stemming.

4 Arquitetura de dados MDM.

5 Privacidade dos dados mestres.

 

GOVERNANÇA DE DADOS:

1 Princípios e conceitos da governança de dados. 2 Componentes da governança de dados. 3 Visão geral do guia DAMA-DMBOK. 3.1 Áreas de conhecimento. 3.2 Elementos ambientais. 3.3 Principais atividades da gestão de dados. 4 Documentos da governança de dados.

 

DESENVOLVIMENTO DE SISTEMAS SEGURANÇA DA INFORMAÇÃO:

1 Confiabilidade, integridade e disponibilidade.

2 Mecanismos de segurança. 2.1 Criptografia. 2.2 Assinatura digital. 2.3 Garantia de integridade. 2.4 Controle de acesso. 2.5 Certificação digital.

3 Gerência de riscos. 3.1 Ameaça, vulnerabilidade e impacto.

4 Políticas de segurança. 4.1 NBR ISO/IEC 27002:2005. 4.2 NBR ISO/IEC 27001:2013. 4.3 NBR ISO/IEC 15408. 4.4 Políticas de senhas.

5 Autenticação de dois fatores (MFA).

6 OAuth 2, JWT, SSO e SAML. 7 OWASP Top 10 (https://owasp.org/www-project-topten/).

 

PROCESSO:

1 Processo orientado a reuso.

2 Ciclos de vida. 2.1 Modelo cascata. 2.2 Modelo iterativo. 2.3 Modelo ágil. 2.4 Modelo formal.

3 Metodologias ágeis de desenvolvimento. 3.1 Scrum, XP, TDD, Modelagem ágil e Kanban.

 

TECNOLOGIA:

1 Banco de dados. 1.1 Arquitetura de banco de dados: relacional (MySQL, PostgreSQL), não relacional (orientado a documento, chave-valor, grafo, colunar, time series), hierárquico (ADABAS) e rede. 1.2 Modelagem de banco de dados: físico, lógico e conceitual. 1.3 Álgebra relacional, SQL/ANSI e linguagens procedurais embarcadas. 1.4 Gestão de banco de dados. 1.4.1 Controle de acesso, usuário, cálculo volumétrico, replicação, cluster, particionamento e esquemas.

 

2 Servidores web e de aplicação. 2.1 Wildfly, IIS, Websphere, Apache, Nginx e Tomcat.

 

3 Linguagens de programação. 3.1 Java, JavaScript, TypeScript, Python, PHP, C#, C, C++, Natural, Cobol e Go.

 

4 Tecnologias e práticas frontend web: HTML, CSS, UX, Ajax, frameworks (Bootstrap, angular, VueJS e React). 4.1 Padrões de frontend. 4.1.1 SPA e PWA.

 

5. Tecnologias backend: 5.1 Frameworks: Hibernate, .NET Core, Quarkus, SpringBoot, Flask, Django, NodeJS, Express e NestJS. 5.2 Especificações: JEE (JPA, EJB, JSF, JMS e JTA), JVM.

 

6 Ferramentas de qualidade: SonarQube, Robot Framework e JMeter.

 

7 Modelagem: UML 2.x e BPM (BPMN).

 

8 Tecnologia de desenvolvimento móvel: Android (Kotlin), IOS (Swift), Flutter, ReactNative, Ionic, Xamarin e Banco de Dados SQLite.

 

9 Ferramentas de gestão configuração: versionamento (Git e GitLab), CI/CD (GitLab CI e Jenkins).

 

10 Protocolos HTTPS, SSL/TLS, HTTP/2, gRPC e WebSockets.

 

11 Ferramentas de integração assíncrona: Kafka, NATS Streaming, ActiveMQ e WebSphereMQ.

 

12 Containers: Docker e Kubernetes.

 

ENGENHARIA DE SOFTWARE:

1 Engenharia de requisitos.

2 Análise e projeto.

3 Implementação: orientação a objetos, estrutura de dados e algoritmos.

4 Qualidade. 4.1 Análise estática de código. 4.2 Teste unitário. 4.3 Teste de integração. 4.4 Teste de RNF (carga, estresse). 4.5 Revisão por pares.

5 Gestão de configuração. 5.1 DevOps, modelo de versionamento, merge, branch, pipeline, CI/CD e database migration.

 

ARQUITETURA:

1 Padrões de projeto.

2 GoF. 2.1 Padrões de criação (Singleton, Prototype). 2.2 Padrões estruturais (Adapter, Facade). 2.3 Padrões comportamentais (command, iterator).

3 Padrões GRASP (controller, expert).

4 SOLID.

5 Tecnologias de integração. 5.1 Workflow. 5.2 Web services. 5.2.1 RESTful, SOAP e GraphQL. 5.3 Mensageria, stream e CORBA.

6 Design de software. 6.1 DDD, arquitetura hexagonal, microsserviços (orquestração de serviços e API gateway) e containers.

7 Padrões de microsserviços. 7.1 SAGA e CQRS.

8 Transações distribuídas.

TÓPICOS AVANÇADOS:

1 Arquitetura e desenvolvimento em nuvem.

2 Inteligência artificial, business intelligence, big data, data warehouse, ferramentas ETL e OLAP.

3 Georreferenciamento e geoprocessamento.

4 Blockchain e smart contracts.

5 IaC (infrastructure as code).

6 IoT (internet of things).

------------------------------------------

bottom of page