FPC - Formação Profissional em Computação COM200

Description

Resumo da disciplina COM200 da Univesp do eixo computação.
Cláudio Cuimar
Mind Map by Cláudio Cuimar, updated more than 1 year ago
Cláudio Cuimar
Created by Cláudio Cuimar over 1 year ago
9
0

Resource summary

FPC - Formação Profissional em Computação COM200
  1. 1. PC

    Annotations:

    • “Capacidade de sistematizar, representar, analisar e resolver problemas”, Seymour Papert.
    • sdadad
    • dxzccxz
    1. 4 ?️
      1. 1. Decomposição

        Annotations:

        • processo que divide os problemas em partes menores para  facilitar a resolução, desenvolvimento e gerenciamento. 
        1. 2. Reconhecimento de Padrões

          Annotations:

          • os padrões são similaridades ou características que alguns problemas compartilham. Quanto mais padrões encontrarmos, mais  fácil e rápida será a nossa tarefa geral de solução de problemas.  
          1. 3. Abstração (FOCO)

            Annotations:

            • filtragem e classificação dos dados, criando mecanismos que permitam separar apenas os elementos essenciais em determinado problema, ignorando detalhes irrelevantes. Permite criar uma representação (ideia) do que está se tentando resolver. 
            1. 4. Algoritimo
            2. Lógica - Aristóteles
              1. Regra do Pensar

                Annotations:

                • A lógica guia o raciocínio  humano através de argumentos para chegar a conclusões de verdade.
              2. Internet - 1969
                1. Dec. 70 - TCP/IP
                  1. Dec.80 - Redes base TCP/IP
                    1. 1988 - Redes Comerciais USA
                      1. 1989/1990 - Tim Bernes-Lee => WWW
                        1. Dec. 90 - 1ªs Empresas web - ex.: Amzon
                          1. Dec. 2000 - ⬇?? e WWW
                2. Conceitos Básicos em Computação
                  1. 1. Linguagens de Programação

                    Annotations:

                    • São linguagens usadas para a comunicação com o computador. 
                    1. Projeto e Avaliação = f(variávei de proj. e domínio)

                      Annotations:

                      • O projeto e a avaliação de uma linguagem de  programação são altamente dependentes das variáveis do projeto e do domínio
                      1. Importante na avaliação de linguagens: i) legibilidade, ii) a facilidade de escrita, iii) a confiabilidade e iv) o custo.
                    2. 2. Desenvolvimento de Software

                      Annotations:

                      •  É o ato de elaborar e implementar um sistema computacional
                      1. 3. Ciência de Dados

                        Annotations:

                        • É uma área interdisciplinar voltada para o estudo e a análise de dados econômicos, financeiros e sociais, estruturados e não-estruturados, que visa a extração de conhecimento, detecção de padrões e/ou obtenção de insights para  possíveis tomadas de decisão. 
                        1. 4. POO

                          Annotations:

                          • É um modelo de análise, projeto e  programação de software. baseado na composição e interação entre diversas unidades chamadas de 'objetos'. 
                      2. 2. Colab -> Python -> Ciência de Dados

                        Annotations:

                        • Introdução ao Google Colab para implementação em Python e Ciência de Dados
                        • Python é uma linguagem de programação de alto nível, interpretada, de script, imperativa,  orientada a objetos, funcional, de tipagem dinâmica e forte. 
                        • IDE é um pacote de software que consolida as ferramentas básicas necessárias para escrever e testar softwares.
                        1. Des. em Python
                          1. IPython

                            Annotations:

                            • Em 2001, é disponibilizado o interpretador interativo IPython com o qual é possível administrar computação paralela usando comunicação assíncrona e/ou MPI e permite customização e flexibilidade para executar diretamente códigos Python.
                            1. Des. Jupyter

                              Annotations:

                              • P/ desenvolver software de código aberto e  padrões abertos e serviços para computação interativa.
                              • 3 principais lingaguens suportadas pelo Jupyter: - Julia - Python - R
                              1. Google Colab

                                Annotations:

                                • baseado nos conceitos do IPython
                                • O Colab é um serviço de armazenamento em nuvem de notebooks voltados  à criação e execução de códigos em Python, diretamente em um navegador, sem a necessidade de nenhum tipo de instalação de software em uma máquina. O Google Colab é hospedado pelo Jupyter Notebook, e possibilita o comportamento de código + anotações e markdown do Colab.
                              2. Notebook (NB).
                                1. 1. JSON

                                  Annotations:

                                  • Para compartilhar códigos em Python.
                                  1. 2. RTF (Rich Text Format)

                                    Annotations:

                                    • Para publicar códigos online.
                                  2. Jupyter NB ≠ Google Colab
                                    1. Jupyter NB
                                      1. Instalado ?
                                      2. Google colab
                                        1. Diteto => WWW
                                          1. + Vantagens
                                            1. 0 Configuração

                                              Annotations:

                                              • Google Colab não exige absolutamente nenhuma  configuração externa para o seu uso. 
                                              1. Acesso gratuito a GPUs

                                                Annotations:

                                                • O hardware padrão da máquina criada pelo Colab para um  notebook é o CPU, mas é possível acessar gratuitamente um GPU com uma simples configuração interna. A GPU, para alguns processamentos, é muito mais eficiente que a CPU, principalmente em cálculos avançados de deep learning, entretanto, é sempre bom conhecermos estas opções e possibilidades. 
                                                1. Bibliotecas Pré-Instaladas
                                        2. 3. Desenvolvimento de Software
                                          1. Projeto - Definição PMBOK

                                            Annotations:

                                            • É um esforço temporário que tem como finalidade um resultado único e possui recursos delimitados.
                                            • Sempre algo NOVO.
                                            1. Projeto -> Temporário: Início, Meio e Fim.
                                              1. Projeto ≠ Processo

                                                Annotations:

                                                • - Projeto: Atividade Temporário (com Início, Meio e Fim). - Processo: Atividade Repetitiva
                                              2. 1° Entender o SISTEMA

                                                Annotations:

                                                • Deve-se determinar o objetivo geral do sistema e os papéis do hardware, software, pessoal, bases de dados e outros elementos. Requisitos operacionais precisam ser obtidos, analisados, especificados, modelados, validados e gerenciados.
                                                1. ⇧ Softwares -> Sobmedida
                                                  1. </> Software => É Desenvolvido, não fabricado (físico)

                                                    Annotations:

                                                    • - Não é fabricado;&nbsp; - É desevolvido =&gt; Sistema de Engenharia
                                                    1. ? Manuteção de Software </> + Complexa do que hardware ??

                                                      Annotations:

                                                      • Manutenção, desgastes e falhas: ?? =&gt; Troca ? Software =&gt; Erros no Projeto ou no Código.
                                                      • Texto sobre o resumo da página anterior: Quando um componente de hardware se desgasta, é substituído por uma peça&nbsp; sobressalente; em contrapartida, no software, não há peças sobressalentes. Falhas de software&nbsp; indicam erros no projeto ou na codificação; por isso, a manutenção de software é muito mais&nbsp; complexa que a manutenção de hardware.
                                                      1. </> Eng. de Software deve ser:
                                                        1. sistemática, disciplinada e capaz de ser medida Δt

                                                          Annotations:

                                                          • Importante na construção de &lt;/&gt;: &nbsp;• Tipo e a ordem de execução de atividades na construção do software; • Modelos gráficos descritivos do software; • Diretrizes com base em boas práticas de projeto.&nbsp;
                                                        2. </> Desenvolvimento e Manutenção de Software:
                                                          1. Contempla: i) recursos, ii) ferramentas, iii) atividades, iv) artefatos e v) organização.
                                                          2. ? </> Processo de Software
                                                            1. É um conjunto de atividades para especificação, projeto, implementação e teste de software (Sommerville)
                                                              1. Modelo ? </>
                                                                1. É uma representação abstrata de um processo. É a descrição de um processo, a partir de uma perspectiva particular.
                                                          3. Cliclo de Vida ?</>

                                                            Annotations:

                                                            • A situação do projeto =&gt; Determina o ciclo de vida do projeto.
                                                            1. 1. Preditivo:

                                                              Annotations:

                                                              • Neste modelo, o escopo, o prazo e o custo do projeto são determinados nas fases iniciais e qualquer mudança necessária deve ser cuidadosamente avaliada para que não se distancie do previsto inicialmente. Exemplo: construção civil.
                                                              1. 2. Interativo:

                                                                Annotations:

                                                                • Recomendável para projetos que já possuam a definição do que será entregue de maneira clara, porém, com prazo e custos ainda desconhecidos. Cada volta no ciclo de vida chamamos de iteração. A cada iteração, a equipe compreende melhor o problema, e as estimativas de prazo e custos são atualizadas.
                                                                1. 3. Incremental

                                                                  Annotations:

                                                                  • A entrega é realizada por partes e pouco a pouco o produto final vai&nbsp; sendo formado. A cada novo conjunto de funcionalidades que é criado, um&nbsp; incremento é entregue. O ciclo de vida incremental também utiliza iterações para&nbsp; marcar cada entrega de um incremento. O produto, serviço ou resultado só pode ser considerado completo após a última iteração.
                                                                  1. 4. Adaptativos (ágeis):

                                                                    Annotations:

                                                                    • Este modelo de ciclo de vida utiliza características dos Iterativos&nbsp; e Incrementais somados a conceitos de metodologias ágeis, obtendo, assim, resultados melhores em ambientes com muitas incertezas. O detalhamento do&nbsp; escopo é definido e aprovado antes do início de cada iteração.
                                                                    1. 5. Híbrido:

                                                                      Annotations:

                                                                      • É a combinação do ciclo de vida preditivo com o adaptativo. Enquanto o&nbsp; preditivo espera um ambiente completamente conhecido e o adaptativo um ambiente totalmente incerto, o modelo híbrido busca encontrar um equilíbrio entre os dois.
                                                                    2. ?</>
                                                                      1. Gerencia Projetos
                                                                        1. ????????? Pessoas
                                                                          1. Soft e Hardskills

                                                                            Annotations:

                                                                            • Habilidades: • Deve estimular as habilidades dos integrantes da equipe, para assim desenvolver confiança e aperfeiçoar as formas de comunicação; • É responsável por intermediar a comunicação, buscando sempre proteger a equipe e mantê-la unida com um verdadeiro time; • Capacidade de Liderança; • Eficiência na comunicação; • Poder de negociação; • Disciplina e organização; • Persistência; • Visão a logo prazo; • Tomada de decisão; • Desenvolver a equipe; • Proatividade; • Motivação e otimismo.&nbsp;
                                                                      2. 4. Padrões da Web, HTML, JSON e Python

                                                                        Annotations:

                                                                        • As especificações e guias técnicos são desenvolvidos e propostos pelo W3C (World Wide Web Consortium).
                                                                        1. Tecnologias WEB
                                                                          1. - HTML - CSS - JS -Ajax - XML - JSON

                                                                            Annotations:

                                                                            • Ajax é o uso metodológico de tecnologias como Javascript e XML, providas por&nbsp; navegadores, para tornar páginas Web mais interativas com o usuário, utilizando-se&nbsp; de solicitações assíncronas de informações.&nbsp;
                                                                            • XML é uma recomendação da W3C para gerar linguagens de marcação para necessidades especiais. Seu propósito principal é a facilidade de compartilhamento de informações por intermédio da internet.&nbsp;
                                                                            • JSON =&gt; BOM para Troca de Dados. JSON (JavaScript Object Notation - Notação de Objetos JavaScript) é uma&nbsp; formatação leve de troca de dados. Para seres humanos, é fácil de ler e escrever. Para máquinas, é fácil de interpretar e gerar.&nbsp; JSON é em formato texto e completamente independente de linguagem, pois usa convenções que são familiares às linguagens C e familiares, incluindo C++, C#, Java, JavaScript, Perl, Python e muitas outras.
                                                                            • Biblioteca JavaScript é um “pedaço de código” reutilizável
                                                                            • Framework JavaScript é uma abstração que combina códigos comuns para serem reutilizados. Objetivo resolver problemas recorrentes com uma abordagem genérica
                                                                            1. jQuery - 2006
                                                                              1. Principal ???? JC
                                                                              2. Bootstrap - 2010
                                                                                1. Principal frameworks JS WWW e open-source
                                                                                  1. => Padrões para o desenvolvimento HTML, CSS e JavaScript.
                                                                                2. React -

                                                                                  Annotations:

                                                                                  • React -&gt; Biblioteca&nbsp;????
                                                                                  1. Criação Instagram
                                                                                    1. Insterfaces Eficientes
                                                                                  2. AngularJS
                                                                                    1. Frameworks JS + Importantes p/ Desv. WWW mantido Google
                                                                                      1. Angular(s/JS)
                                                                                        1. Multiplataformas

                                                                                          Annotations:

                                                                                          • O estilo&nbsp;da arquitetura mudou para ser baseado em componentes e, devido ao TypeScript, o Angular&nbsp;2 recebeu um novo compilador incorporado.
                                                                                      2. Node.js
                                                                                        1. Escalável ??
                                                                                      3. Vantagens e Desvantagens de Frameworks

                                                                                        Annotations:

                                                                                        • https://prnt.sc/Zbsi87UcK-Rg
                                                                                        1. 10 Frameworks para Des. Software

                                                                                          Annotations:

                                                                                          • https://prnt.sc/nqQRnd54nBqT
                                                                                    2. 5. Framework Python, APIs e Web Services
                                                                                      1. Frameworks Python
                                                                                        1. n° 1 - Django (www)

                                                                                          Annotations:

                                                                                          • Quem usa:&nbsp;&nbsp;Pinterest, Instagram, Bitbucket, Mozilla, Disqus e The Washington Times.
                                                                                          • Vantagens Djando: •Contínua evolução •Estrutura de alto nível&nbsp;escalável •Variedade de bibliotecas •Projetos de médio e grande porte •Mecanismos de autenticação •Conectividade com BDs •Web Service REST&nbsp;
                                                                                          1. Open Source
                                                                                            1. ⬆???
                                                                                            2. ? Acesso Dados no BD
                                                                                              1. Django Admin (interface usuário)
                                                                                                1. Recursos:
                                                                                                  1. Mecanismo de autenticação e autorização, interface administrativa, URLs amigáveis, sistema de templates, cache integrado ao memcached, o roteamento de URLs, suporte para aplicações multi-idioma (internacionalização).
                                                                                                    1. Arquitetura Django

                                                                                                      Annotations:

                                                                                                      • https://prnt.sc/UK0ZG6C4vA9x
                                                                                                      1. MTV (Model, Template, View)
                                                                                                        1. Model: Mapeamento do banco de dados para o projeto;
                                                                                                          1. Template: Páginas para visualização de dados. (HTML)
                                                                                                            1. View: Lógica de negócio. (Projeto acontecendo)
                                                                                                      2. BD
                                                                                                        1. PostgreSQL, MySQL e Oracle e NoSQL
                                                                                                        2. extensão -> criação de web services RESTful
                                                                                                          1. Django REST
                                                                                                        3. Flask (www) Microframe-Work

                                                                                                          Annotations:

                                                                                                          • micro-framework núcleo simples, mas estendível.
                                                                                                          1. ????
                                                                                                            1. WSGI Werkzeug e Jinja2
                                                                                                          2. web2py 2007
                                                                                                            1. Open Source
                                                                                                              1. Inspirado nos frameworks Ruby on Rails e Django
                                                                                                                1. Foco: Usabilidade
                                                                                                            2. CherryPy 2002
                                                                                                              1. Open Source
                                                                                                                1. Apps Complexos
                                                                                                                  1. => desenvolvimento ágil Apps www, POO. P/ qq tecnologia acesso a dados, modelos etc.
                                                                                                                2. licença BSD
                                                                                                                3. Bottle 2009 Microframe-Work
                                                                                                                  1. licença MIT
                                                                                                                    1. WSGI rápido, simples e leve
                                                                                                                      1. Única dependência Padrão Python
                                                                                                                    2. APIs
                                                                                                                      1. Normalmente www

                                                                                                                        Annotations:

                                                                                                                        • Ou&nbsp; arquivos locais (como um arquivo&nbsp; JAR em um programa Java, arquivo .h em programas C / C ++, etc.)
                                                                                                                      2. Serviço da Web
                                                                                                                        1. ?----------?
                                                                                                                          1. “Todo Web Service pode ser considerado API, MAS não toda API é um Web Service.”
                                                                                                                      3. 6. IoT (protocolos MQTT e REST)

                                                                                                                        Annotations:

                                                                                                                        • Conectar objetos físicos que possuam tecnologia embarcada com sensores e conexão para coletar dados,&nbsp; transmiti-los, receber dados e enfim fornecer serviços.
                                                                                                                        • IoT no início: RFID, Wireless. Agora:&nbsp;bluetooth, sigbi, 3G, 5G
                                                                                                                        • IoT e a Indústria 4.0 “andam de mãos dadas”
                                                                                                                        1. Aquisição de dados, análise destes dados em tempo real ⏳ e offline, aprendizado de máquina, visualização de dados e outros tópicos importantes para big data
                                                                                                                          1. Coisa: é um objeto do nosso dia a dia
                                                                                                                            1. Dispositivo: um sensor, atuador ou tag. Geralmente o dispositivo é parte de uma coisa

                                                                                                                              Annotations:

                                                                                                                              • &nbsp;Dispositivos são sensores ou atuadores. Exemplo: temperatura, umidade, pressão, luminosidade, nível de som, fluxo de fluido, vibração e abrasão.
                                                                                                                              • Os sensores fornecem informações sobre a entidade física que monitoram.
                                                                                                                              1. Tags - Foco: Facilitar a identificação
                                                                                                                              2. gateways (ou hubs)

                                                                                                                                Annotations:

                                                                                                                                • Fornecem&nbsp;tradução segura de protocolo entre dispositivos e a nuvem, e podem suportar tarefas como&nbsp;armazenamento e pré-processamento de dados, descoberta de serviços, geolocalização, verificação e cobrança. Eles tb entregam os pedidos de atuação da nuvem para&nbsp;os dispositivos.
                                                                                                                                1. coletam, pré-processam e transferem dados de dispositivos IoT e seus sensores, empregando diferentes protocolos de comunicação (geralmente sem fio)
                                                                                                                                2. 3 Papeis Cloud
                                                                                                                                  1. 1° aquisição de dados, armazenamento e acesso. | 2° análise de dados. | 3° suporte de atuação.

                                                                                                                                    Annotations:

                                                                                                                                    • https://prnt.sc/3fsG1sT3XNe1
                                                                                                                                  2. 3 Partes Principais:
                                                                                                                                    1. Pontos de extremidade que incluem um ou mais sensores;
                                                                                                                                      1. Gateways que agregam dados de vários pontos de extremidade do sensor e os encaminham para os serviços de back-end;
                                                                                                                                        1. Serviços de back-end em que os dados do sensor são analisados, armazenados, roteados e exibidos.
                                                                                                                                        2. Protocolos de Comunicação MQTT e REST
                                                                                                                                          1. ? MQTT (Message Queue Telemetry Transport) | protocolo lightweight

                                                                                                                                            Annotations:

                                                                                                                                            • A arquitetura MQTT permite que o cliente seja conectado sempre fornecendo uma comunicação bidirecional entre o cliente e o servidor. Isso permite que o servidor envie a mensagem para o dispositivo, fazendo com que este responda ao seu comando instantaneamente, conforme esperado pelos clientes.&nbsp;
                                                                                                                                            1. M2M

                                                                                                                                              Annotations:

                                                                                                                                              • IoT M2M - Machine to Machine.
                                                                                                                                              1. Leveza no projeto de transporte de mensagens por meio da publicação e assinatura de tópicos
                                                                                                                                                1. ? Sistemas de comunicação que possuem restrições de largura de banda e alta latência na transmissão dos dados
                                                                                                                                              2. Assinatura: 2 tipos básicos
                                                                                                                                                1. Broker de mensagens
                                                                                                                                                  1. ??? e ? | É um grande servidor que recebe todas as mensagens dos seus clientes e envia essas mensagens aos clientes de destino
                                                                                                                                                  2. Clientes
                                                                                                                                                2. REST (ou Representational State Transfer)

                                                                                                                                                  Annotations:

                                                                                                                                                  • Transferência de Estado Representacional
                                                                                                                                                  • A maioria dos provedores de soluções permite que seu servidor de borda ou seus gateways se conectem a cada 1 minuto ou mais para que o servidor não seja carregado.&nbsp;
                                                                                                                                                  1. ? Arq. www | Abstração arquitetura Web
                                                                                                                                                    1. Criação do projeto com interfaces de transmissão de dados de bem definida.
                                                                                                                                                      1. Operacionais: POST, GET, PUT e DELETE
                                                                                                                                                    2. Base HTTP
                                                                                                                                                      1. Formatos: JSON (um dos mais utilizados), XML, RSS etc.
                                                                                                                                                        1. Comunicação: Cliente - Servidor
                                                                                                                                                          1. REST é uma abstração da arquitetura da Web. Resumidamente, o REST consiste em princípios/regras/constraints que, quando seguidas, permitem a criação de um projeto com interfaces bem definidas.
                                                                                                                                                      2. 7. Ciência de dados e Python

                                                                                                                                                        Annotations:

                                                                                                                                                        • É o estudo disciplinado dos dados e das informações inerentes ao negócio.
                                                                                                                                                        1. Estuda: i) informações, ii) processo de captura, iii) transformação, iv) geração e v) análise de dados.
                                                                                                                                                          1. Disciplinas envolvidas: • Computação; • Estatística; • Matemática; • Conhecimento do Negócio. | ?? ∬ ?
                                                                                                                                                          2. Profissionais
                                                                                                                                                            1. cientista de dados
                                                                                                                                                              1. é quem define o algoritmo que entregará a resposta da sua pesquisa no Google em uma fração de segundos e o alcance de anúncios em sites e redes sociais
                                                                                                                                                                1. examinar dados brutos para poder extrair conclusões e informações de valores a respeito daquele dado
                                                                                                                                                                  1. Ferramentas: Python, R, SAS, Java, Perl, C/C++ e plataformas: Hadoop e SQL
                                                                                                                                                                  2. analista de dados
                                                                                                                                                                    1. Seu trabalho envolve responder questões de rotina, geralmente, determinadas pela empresa
                                                                                                                                                                      1. a habilidade de conseguir transformar os dados em algo que possa ser facilmente visualizado ou comunicar adequadamente as informações importantes
                                                                                                                                                                        1. Ferramentas: SAS e R
                                                                                                                                                                          1. habilidade com estatísticas descritivas e inferenciais,
                                                                                                                                                                          2. Big Data
                                                                                                                                                                            1. "crunching numérico" -> saber processar dados numéricos em larga escala
                                                                                                                                                                        Show full summary Hide full summary

                                                                                                                                                                        Similar

                                                                                                                                                                        História da informática
                                                                                                                                                                        Renato Costa
                                                                                                                                                                        QUESTIONÁRIO DE INFORMÁTICA: SISTEMAS OPERACIONAIS
                                                                                                                                                                        anapaulabrasilam
                                                                                                                                                                        Organização e Arquitetura de Computador
                                                                                                                                                                        Rodrigo Gomes
                                                                                                                                                                        Comunicação e Colaboração
                                                                                                                                                                        sresende
                                                                                                                                                                        ARQUITETURA DE COMPUTADORES
                                                                                                                                                                        wesley.silva.ads
                                                                                                                                                                        LINGUAGEM DE PROGRAMAÇÃO I
                                                                                                                                                                        ailtonmidias
                                                                                                                                                                        Lógica de Programação- Dados
                                                                                                                                                                        Gabriela Alves
                                                                                                                                                                        REFLEXO DO USO DA INTERNET E MÍDIAS SOCIAIS NO AMBIENTE EMPRESARIAL
                                                                                                                                                                        Aline Elis
                                                                                                                                                                        Internet e suas Redes Sociais
                                                                                                                                                                        Dany Lima
                                                                                                                                                                        Avaliação Teórica - HTML1
                                                                                                                                                                        Nilton Oliveira