Buscar

HACKERS DO BEM 2

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 9 páginas

Prévia do material em texto

HACKERS DO BEM – CURSO BÁSICO
Compreender os principais conceitos de desenvolvimento
Olá!
Boas-vindas!
Você está iniciando o módulo Compreender os principais conceitos de desenvolvimento.
Nele, você conhecerá o que é linguagem de programação e quais são seus principais tipos. Também estudará quais são as aplicações elementares e como utilizá-las na programação.
Por fim, aprenderá como funcionam as metodologias de desenvolvimento e o que são bancos de dados e seus conceitos básicos. 
Aula 1 – Principais tipos de linguagem de programação
A linguagem de programação funciona como um conjunto de regras e comandos que os programadores utilizam para criar softwares, aplicativos e sistemas para empresas e pessoas físicas. Existem várias linguagens de programação, cada uma com suas características únicas, destinadas a propósitos específicos. 
Nesta aula, você aprendeu o que é a linguagem de programação. Siga adiante para testar seus conhecimentos. 
Praticando
1. Qual é a principal característica das linguagens de programação de baixo nível? 
a) São interpretadas por tradutores ou compiladores. 
b) São mais próximas da linguagem humana. 
c) Comunicam-se diretamente com a máquina. 
d) Permitem fácil compreensão da máquina. 
2. Qual é uma das vantagens das linguagens de alto nível em comparação com as de baixo nível.
a) Redução do tempo de programação. 
b) Comunicação direta com a máquina. 
c) Necessidade de atuar na operação interna da máquina. 
d) Compreensão mais próxima da linguagem de máquina. 
3. Leia atentamente a descrição abaixo e selecione a alternativa correta.
As linguagens de programação de alto nível oferecem uma abstração poderosa para os desenvolvedores, permitindo que escrevam códigos mais legíveis e compreensíveis. Essas linguagens são frequentemente acompanhadas por tradutores, como compiladores ou interpretadores, que convertem o código-fonte em instruções executáveis pela máquina.
a) Linguagens de baixo nível são mais legíveis e compreensíveis que as de alto nível. 
b) As linguagens de alto nível não necessitam de tradutores para que sejam executadas. 
c) A principal vantagem das linguagens de alto nível é sua dificuldade de aprendizado. 
d) Tradutores, como interpretadores, traduzem códigos inteiramente antes da execução. 
Aula 2 – Principais tipos de aplicações
Nesta aula, abordaremos um aspecto fundamental da programação: a interpretação e execução de códigos pelos computadores. Antes de adentrarmos nos principais tipos de aplicações, é essencial compreender o papel dos compiladores e dos interpretadores. Ao compilar um código, transformamos sua estrutura em linguagem de máquina, garantindo uma análise minuciosa em busca de erros e uma execução mais eficiente. Por outro lado, as linguagens interpretadas, como Python, JavaScript e Ruby, permitem uma análise linha por linha, oferecendo maior flexibilidade e facilidade na depuração. 
A seguir, exploraremos os principais tipos de aplicações que impactam nosso cotidiano de maneira significativa. Começaremos pelo conceito de aplicação, enfatizando sua importância na facilitação de tarefas diárias e exemplificando com aplicativos de navegação, serviços de streaming, comunicação e compras online.
Em seguida, verificaremos que há três principais tipos de aplicações: web, mobile e desktop. Nas aplicações web, destacaremos sua acessibilidade por meio de navegadores e a composição geralmente feita por linguagens como JavaScript, HTML e CSS. 
Já nas aplicações mobile, que são acessadas por smartphones e tablets, os sistemas operacionais mais comuns, bem como as linguagens utilizadas, são Swift para iOS e Kotlin ou Java para Android, com a possibilidade de desenvolvimento cruzado através de frameworks como React Native. 
Por fim, nas aplicações desktop, que são utilizadas em computadores e notebooks, as linguagens de programação mais comuns são Java, C# e Python.
Há uma variedade de tecnologias que moldam nosso mundo digital. Por exemplo, as aplicações multiplataforma, ou híbridas, que oferecem flexibilidade e reutilização de código em diferentes dispositivos. Além disso, há as aplicações nativas, otimizadas para sistemas operacionais específicos, proporcionando uma experiência de usuário mais eficiente. As aplicações em nuvem, por sua vez, revolucionaram a maneira como compartilhamos e processamos dados, porque são mais flexíveis e escalonáveis. Além disso, as aplicações de inteligência artificial transformam diversos setores, devido à capacidade de aprendizado e à resolução de problemas.
Nesta aula, você aprendeu sobre os principais tipos de aplicações. Siga adiante para testar seus conhecimentos. 
Praticando
1. Leia atentamente as informações fornecidas a seguir sobre tipos de aplicações e linguagens de programação e selecione a alternativa correta.
Linguagens de programação compiladas transformam diretamente o código-fonte em linguagem de máquina, proporcionando maior eficiência. Exemplos incluem C, C++, Java e C#.
a) As linguagens compiladas são mais lentas em comparação com as interpretadas. 
b) CC (GNU Compiler Collection) é um exemplo de linguagem interpretada. 
c) Linguagens compiladas são transformadas primeiro em código de máquina e depois analisadas para erros. 
d) Python é um exemplo de linguagem compilada. 
2. Leia as informações a seguir sobre diferentes tipos de aplicações e selecione a alternativa correta.
As aplicações web são acessíveis através de navegadores web e geralmente envolvem linguagens como JavaScript para interatividade.
a) Aplicações web são executadas exclusivamente em servidores locais. 
b) HTML/CSS são exemplos de linguagens utilizadas apenas em aplicações mobile. 
c) Aplicações web são acessíveis por meio de navegadores web e podem incluir JavaScript para interatividade. 
d) JavaScript é utilizado apenas para o desenvolvimento de aplicações desktop. 
3. Leia as informações sobre compiladores e interpretadores e selecione a alternativa correta.
Compiladores transformam código-fonte em linguagem de máquina, identificam erros e geram arquivos executáveis. Por outro lado, interpretadores executam instruções uma a uma, sem converter todo o código de uma vez.
a) Compiladores e interpretadores são termos intercambiáveis, descrevendo a mesma funcionalidade. 
b) Compiladores traduzem código-fonte, enquanto interpretadores executam instruções diretamente em linguagem de máquina. 
c) Interpretadores são exclusivamente usados para gerar arquivos executáveis. 
d) Compiladores e interpretadores realizam as mesmas tarefas de análise e síntese durante a transformação do código fonte. 
Aula 3 – Conceitos de front-end e back-end
Nesta aula, vamos entrar no mundo do front-end e do back-end. Vamos começar a desmitificar os mistérios do front-end, aquela parte da aplicação com a qual os usuários interagem diretamente. Desde os menus até os botões, tudo que vemos e clicamos na tela faz parte do front-end. Exploraremos, também, o papel crucial do UX design, que busca garantir a melhor experiência possível para o usuário, simplificando processos e eliminando erros. 
A seguir, vamos explorar a plataforma do Hackers do Bem como um exemplo e realizar uma inspeção detalhada juntos. Evidenciaremos os conceitos básicos da estrutura de uma página HTML e inspecionaremos a responsividade da página. 
Agora que nos familiarizamos com o front-end – responsável pela interface com o usuário –, vamos adentrar o universo do back-end. Ou seja, vamos entender como essa interação se comunica com o back-end por meio de APIs e integrações. 
A seguir, vamos desvendar o mistério por trás das APIs, application programming interfaces, ou, em português, interfaces de programação de aplicações. Basicamente, elas são a ponte que permite a comunicação entre o cliente, ou seja, nossa plataforma, e o servidor. 
Por fim, vamos abordar as boas práticas no desenvolvimento de aplicações, com foco na análise de riscos. É fundamental garantir que elas sejam seguras e não exponham dados sensíveis a riscos. Para isso, precisamos nos atentar a quatro cuidados essenciais:teste de segurança, atualização, criptografia e autenticação. 
Agora que você aprendeu os conceitos de front-end e back-end, siga adiante para testar seus conhecimentos. 
Praticando
1. Quais são algumas das linguagens, mencionadas durante as aulas, que são utilizadas no front-end?
a) Python, Ruby e PHP. 
b) HTML, CSS e JavaScript. 
c) Java, C++ e Swift. 
d) SQL, TypeScript e Kotlin. 
2. Com base nas informações fornecidas sobre desenvolvimento web e segurança da informação, escolha a opção que corresponde a um método de segurança utilizado para controlar o acesso de usuários a recursos e funcionalidades de uma aplicação.
a) Criptografia de dados. 
b) Testes de segurança. 
c) Análise de riscos. 
d) Autenticação e autorização de usuários. 
3. Com base nos conceitos apresentados sobre back-end e API, escolha a opção que descreve corretamente o papel de uma API em um sistema de software.
a) A API é responsável por criar a parte visual e interativa de um site, aplicativo ou software. 
b) A API é o código que conecta à internet com o banco de dados, gerenciando as conexões dos usuários e alimentando as aplicações. 
c) A API é um conjunto de padrões e rotinas de programação que permitem acesso às funcionalidades de um aplicativo por outro software, permitindo a comunicação e o compartilhamento de dados, funções e serviços. 
d) A API é responsável por garantir que a usabilidade de um sistema seja simples e intuitiva ao usuário, indo além dos aspectos visuais. 
Aula 4 – Metodologias de desenvolvimento
Para a criação de um software, é muito importante que a equipe de programadores siga determinadas metodologias de desenvolvimento para que o trabalho seja realizado de maneira mais eficiente. Essas metodologias ajudam a seguir alguns padrões, como melhor organização, comunicação, qualidade e adaptação a possíveis mudanças no projeto. 
A seguir, vamos explorar alguns tipos adicionais de metodologias amplamente utilizados na área de desenvolvimento de software: Scrum, Extreme Programming (XP) e Kanban. Essas metodologias proporcionam diferentes abordagens para o desenvolvimento de software ágil, cada uma com suas características e benefícios específicos.
Por fim, apresentaremos outras metodologias de desenvolvimento: espiral, incremental, Lean, e test-driven development (TDD) ou, em português, desenvolvimento orientado por testes. 
Nesta aula, você aprendeu o conceitos e alguns exemplos de metodologias de desenvolvimento. Siga adiante para testar seus conhecimentos. 
Praticando
1. Quais são os princípios fundamentais das metodologias ágeis destacados durante as aulas?
a) Desenvolvimento sequencial, iterações e colaboração. 
b) Ciclos de vida, planejamento e revisão. 
c) Ênfase na eficiência, entrega incremental e feedback contínuo. 
d) Análise, síntese e adaptação.
2. Qual é a principal atividade realizada durante a etapa de planejamento da sprint no Scrum?
a) Demonstração do que foi feito na sprint. 
b) Avaliação para melhorias contínuas. 
c) Reuniões diárias para atualizações rápidas. 
d) Seleção de tarefas para a sprint. 
3. Qual é a principal característica do desenvolvimento incremental?
a) Desenvolve todas as funcionalidades de uma vez. 
b) Divide o projeto em partes independentes e funcionais. 
c) Enfatiza a entrega contínua de software funcional.
d) Busca a eficiência, eliminando desperdícios. 
Aula 5 – Conceitos básicos de banco de dados
Um banco de dados é uma estrutura organizada que permite coleta, armazenamento, gerenciamento e recuperação de informações de maneira sistemática. Ele é essencial para uma variedade de aplicações, desde simples catálogos online até complexos sistemas de gestão empresarial. 
Nesta aula, você aprendeu o conceito de bancos de dados. Siga adiante para testar seus conhecimentos. 
Praticando
1. Qual é a principal função de um sistema gerenciador de banco de dados (SGBD)? 
a) Definir a estrutura e as propriedades do banco de dados. 
b) Criar tabelas e inserir dados no banco. 
c) Realizar operações como inserção, atualização e exclusão de dados. 
d) Organizar dados em tabelas com linhas e colunas. 
2. Qual é a função da chave primária em um banco de dados relacional? 
a) Organizar dados em tabelas com linhas e colunas. 
b) Lidar com grandes volumes de dados distribuídos. 
c) Realizar operações como inserção, atualização e exclusão de dados. 
d) Tornar os dados únicos na tabela, aplicada em um ou mais campos. 
3. Qual característica define os bancos de dados não relacionais (NoSQL)? 
a) Lidam com grandes volumes de dados distribuídos. 
b) Organizam dados em tabelas com linhas e colunas. 
c) Utilizam principalmente SQL para interação com o banco. 
d) São otimizados para análise e relatórios de grandes volumes de dados. 
Recapitulando
Neste módulo, você conheceu os principais tipos de linguagem de programação, suas características e as diferenças entre Java e Python. Aprendeu o que são aplicações e como são utilizadas na web e por meio de inteligência artificial. 
Além disso, descobriu o que são metodologias de desenvolvimento e as características das metodologias ágeis. Por fim, conheceu o que são bancos de dados e as caraterísticas do SQL.
Questionário
1- Qual das seguintes afirmações descreve corretamente a diferença entre linguagem compilada, tradutor e interpretada?
a. Um tradutor é responsável por executar programas escritos em linguagens interpretadas, enquanto um interpretador é usado para executar programas escritos em linguagens compiladas.
b. Linguagem compilada é aquela que é traduzida integralmente em código de máquina antes da execução, enquanto linguagem interpretada é traduzida linha por linha durante a execução.
c. Um tradutor é um programa que converte um programa escrito em uma linguagem de alto nível em código de máquina, enquanto um interpretador executa diretamente o código de máquina.
d. Linguagem compilada é aquela que é traduzida para código de máquina pelo interpretador antes da execução, enquanto a linguagem interpretada é traduzida diretamente para código de máquina.
2- Qual das seguintes afirmações descreve corretamente a diferença entre Java e JavaScript?
a. Java é executado no navegador do cliente, enquanto JavaScript é executado no servidor.
b. Java é uma linguagem de programação interpretada usada principalmente para desenvolvimento web, enquanto JavaScript é uma linguagem de programação compilada usada para desenvolvimento de aplicativos de desktop.
c. Java é exclusivamente usado para desenvolver páginas web dinâmicas, enquanto JavaScript é usado para criar applets em navegadores web.
d. Java é uma linguagem de programação fortemente tipada e orientada a objetos, enquanto JavaScript é uma linguagem de programação fracamente tipada e orientada a objetos.
3- Qual das seguintes afirmações descreve corretamente as aplicações dos tipos web, mobile, desktop, nuvem e IA?
a. Aplicações de IA são exclusivamente utilizadas em servidores locais, enquanto aplicações mobile são acessadas somente em dispositivos móveis.
b. Aplicações desktop são instaladas localmente em um computador, enquanto aplicações de nuvem são acessadas através de um aplicativo instalado no dispositivo do usuário.
c. Aplicações web são executadas localmente em um computador pessoal, enquanto aplicações desktop são acessadas através de um navegador da web.
d. Aplicações mobile são desenvolvidas exclusivamente para dispositivos iOS, enquanto aplicações web são acessadas apenas em navegadores desktop.
	Iniciado em
	Sábado, 13 abr. 2024, 21:30
	Estado
	Finalizada
	Concluída em
	Sábado, 13 abr. 2024, 21:36
	Tempo empregado
	5 minutos 58 segundos
	Avaliar
	15,00 de um máximo de 15,00(100%)
image1.wmf
image2.wmf

Continue navegando