Prévia do material em texto
Paradigmas de Linguagens de Programação em Python Prof. Julio Cartier Maia Gomes Apresentação Julio Cartier Maia Gomes Formaçã o Experiência Profissional Possuo experiência sólida em Python e Java, além de ampla atuação prática com HTML, CSS, JavaScript, React, AngularJS, Node.js, Docker e Kubernetes. Também leciona disciplinas nas áreas de programação, banco de dados, análise de dados e desenvolvimento de aplicações. Com dissertação voltada ao estudo e desenvolvimento de sensores ópticos baseados em ressonância de plasmons de superfície (SPR). Durante a graduação, participou de projetos de pesquisa com foco em simulações de biossensores e modelagem matemática, incluindo o uso da Equação de Richards com o software GeoGebra. Foi bolsista do CNPq, atuando no desenvolvimento de ambientes computacionais para sensores SPR. • Formado em Sistemas de Informação (Universidade Federal Rural do Semi-Arido) • Mestre em Ciência da Computação (Universidade Federal Rural do Semi-Arido) • Desenvolvedor FullStack na Cast Group • Teams: Julio Cartier Maia Gomes • E-mails: juliocartier@gmail.com; julio.gomes@professores.imbec.edu.br Apresentação • Gosto de trabalhar com algumas tecnologias; • Assistir séries e filmes; • Jogar um pouco. Ementa Paradigmas de Linguagens de Programação: Motivação e Preliminares Nomes, Vinculações e Escopo Tipos de Dados Expressões e Sentenças de Atribuição Subprogramas. Paradigmas; Estruturado, Orientado a Objetos, Funcional e Lógico. 4 Objetivos Distinguir as categorias de linguagens de programação, fazendo a reflexão sobre os projetos de linguagens de programação, suas categorias e métodos de implementação, para decidir qual paradigma de linguagem de programação utilizar, conforme a classe de problema; Caracterizar a natureza dos nomes e palavras especiais nas linguagens de programação, baseando- se na linguagem Python, para empregar as regras de escopo; 5 Objetivos Especificar variáveis, empregando tipos de dados, de forma a contextualizar ao compilador/interpretador como o programador pretende utilizar os dados; Empregar formas fundamentais de instruções, baseando- se na sintaxe e semântica de expressões aritméticas, relacionais e booleanas e atribuições, para escrever instruções matemática e lógicas compreensíveis, corretas e executáveis por computadores; 6 Objetivos Escrever programas modularizados, baseando -se em fundamentos de subprogramas, para decompor problemas complexos em fragmentos mais simples, ou seja, mais facilmente tratáveis, cujos códigos sejam reutilizáveis e manuteníveis; Praticar a codificação de soluções, utilizando diferentes paradigmas de linguagem de programação, para resolver problemas aplicando o paradigma mais apropriado. 7 Bibliografia Básica 8 PERKOVIC, Ljubomir. Introdução à Computação Usando Python Um Foco no Desenvolvimento de Aplicações. 1ª Ed. Rio de Janeiro: LTC, 2016. Disponível em: https://integrada.minhabiblioteca.com.b r/#/books/9788521630937/ SEBESTA, Robert W. Conceitos de Linguagens de Programação. 11ª Ed. Porto Alegre: Bookkman, 2018. Disponível em: https://integrada.minhabiblioteca.com.b r/#/books/9788582604694/ TUCKER, Allen; NOONAN, Robert. Linguagens de Programação: Princípios e Paradigmas. 2ª Ed. Porto Alegre: AMGH, 2014. Disponível em: https://integrada.minhabiblioteca.com.b r/#/books/9788563308566/ 9 Por que todos deveriam aprender a programar? Primeiro passo para ser um desenvolvedor: – Programar é codificar uma solução; – Desenvolver é criar essa solução; 10 Programar é bom… Benefícios na otimização de tarefas 11 Programar é bom… Benefícios na qualidade de vida… Aumento da capacidade de expressar ideias. 12 ● É difícil para as pessoas criar conceitos de estruturas que elas não conseguem descrever verbalmente ou expressar na escrita. ● Os programadores podem aumentar a diversidade de seus processos mentais de desenvolvimento de software ao aprender novas construções de linguagens. Embasamento para escolher linguagens adequadas. 13 ● O resultado é que muitos programadores, quando podem escolher a linguagem para um novo projeto, usam aquela com a qual estão mais familiarizados, mesmo que não seja a mais adequada ao projeto. ● Escolha mais consciente. Aumento da habilidade para aprender novas linguagens. 14 ● Quanto melhor você conhece a gramática de seu idioma nativo, mais fácil será aprender uma segunda língua. ● Além disso, aprender uma segunda língua tem a vantagem de ensinar a você mais sobre a primeira. ● Consolidação dos conceitos das linguagens. Aumento da habilidade para aprender novas linguagens. 15 ● Uma vez que um entendimento preciso dos conceitos fundamentais das linguagens tenha sido adquirido, fica mais fácil ver como esses conceitos são incorporados no projeto da linguagem aprendida. 15 Melhor entendimento da importância da implementação. 16 ● Podemos ser programadores melhores ao entender as escolhas entre construções de linguagens de programação e as consequências dessas escolhas; ● Uso de uma linguagem de forma mais inteligente. 17 Melhor uso de linguagens já conhecidas. ● Ao estudar os conceitos de linguagens de programação, os programadores podem aprender sobre partes antes desconhecidas e não utilizadas das linguagens com que já trabalham e começar a utilizá-las. 18 Avanço geral da computação. 19 Em grupos temáticos (engenharia, economia, saúde, ciências sociais, computação, por exemplo), cada grupo deve, após um pequeno tempo para conversar, apresentar aos outros alunos suas conclusões sobre a importância da programação para cada uma das diversas áreas. Atividade 20 Por que todos deveriam aprender a programar? http://www.youtube.com/watch?v=mHW1Hsqlp6A 21 Questão Questão 1. Existem muitas linguagens de programação disponíveis no mercado com as mais diversas características e aplicações. No entanto, as linguagens de programação, possuem restrições de tipos de estrutura de controle, estrutura de dados e abstrações que podem ser utilizadas. Nesse contexto, análise as afirmações a seguir: I Ao aprender várias linguagens de programação, é possível que um problema possa ser resolvido mais facilmente devido a adequação a uma linguagem específica. II Não há necessidade de se aprender mais do que uma linguagem de programação haja vista que as estruturas possuem equivalentes em todas elas III Aprender diversas linguagem de programação propicia um melhor embasamento para decidir qual deve ser utilizada para resolver um determinado problema. É (são) verdadeira(s): a) I e III b) I e II c) II e III d) Todas são verdadeiras e) Nenhuma afirmação é verdadeira 22 Questão Questão 1. Aprender linguagens de programação se tornou indispensável na nossa sociedade. Segundo reportagem publicada no Olhar Digital: "A necessidade de um segundo idioma é praticamente indispensável para que o profissional se mantenha competitivo no atual mercado de trabalho. Seja qual for a área de atuação. E isso não é de hoje. Se você não fala inglês ou espanhol, pode ter certeza: seu currículo vai ficar ali, separado em um segundo bloco. A novidade é que está chegando a hora de se preparar para aprender mais uma linguagem: programação, é o idioma da inovação. E promete se tornar habilidade básica do profissional do futuro. Ou até já do presente?". Nesse sentindo, qual(s) das vantagens abaixo podem ser relacionadas a habilidades que podem ser adquiridas ao aprender várias linguagens de programação? I Aumento da capacidade de expressar ideias II Melhor entendimento da importância da implementação III Ser especialista em Inteligência Artificial a) I e III b) II e III c) I e II d) Apenas I e) Todas 23 Dúvidas? 24 Referências