SIEX - Sistema de Informações de Extensão

25740 - Fundamentos Essenciais do Python: um curso introdutório
Ano Base: 2024
Tipo de ação: CURSO DE EXTENSÃO
Plano de ensino

Plano de ensino: O minicurso FEP possui uma carga horária total de 20 horas, distribuídas da seguinte forma: 1h para a abertura do curso, 12 horas de aulas expositivas, 4 horas dedicadas à exercícios e prática individual dos alunos e 3 horas para plantão de dúvidas, conduzido por um monitor. Para fomentar a autonomia na utilização do Python, é necessário que os alunos levem seus notebooks para as aulas expositivas. A seguir, será apresentado o conteúdo de cada aula. Conteúdo Programático Módulo 1: Introdução e instalação do Python Aula 1: O que é Python? Conteúdo: - História do Python - Aplicações do Python no mercado - Vantagens do Python Atividades: - Discussão sobre diferentes linguagens de programação - Instalação do Python e configuração do ambiente de desenvolvimento (IDEs recomendadas como PyCharm, VS Code, Jupyter Notebooks) Aula 2: Primeiros Passos com Python Conteúdo: - Sintaxe básica do Python - Executando scripts Python - Uso do interpretador interativo Atividades: - Escrever e executar o primeiro programa "Hello, World!" - Explorar o uso do interpretador interativo para cálculos simples Módulo 2: Estruturas de Dados Básicas Aula 3: Variáveis e Tipos de Dados Conteúdo: - Tipos de dados primitivos (inteiros, floats, strings, booleanos) - Declaração e uso de variáveis - Conversão de tipos Atividades: - Exercícios para praticar a declaração de variáveis e manipulação de tipos de dados Aula 4: Operadores e Expressões Conteúdo: - Operadores aritméticos, de comparação e lógicos - Precedência de operadores Atividades: - Resolver problemas simples usando operadores - Criar expressões complexas combinando diferentes operadores Aula 5: Estruturas de Dados Compostas Conteúdo: - Listas, tuplas, conjuntos e dicionários - Métodos e operações básicas em estruturas compostas Atividades: - Manipulação de listas e dicionários com exemplos práticos Módulo 3: Controle de Fluxo Aula 6: Condicionais Conteúdo: - Declarações 'if', 'elif' e 'else' - Aninhamento de condicionais Atividades: - Criar programas que tomam decisões baseadas em condições Aula 7: Laços de Repetição** Conteúdo: - Laços 'for' e 'while' - Controle de laços com 'break' e 'continue' Atividades: - Escrever scripts que iteram sobre listas e outras estruturas de dados - Resolver problemas usando laços de repetição Módulo 4: Funções e Módulos Aula 8: Funções Conteúdo: - Definição de funções com 'def' - Parâmetros e retorno de valores - Escopo de variáveis Atividades: - Escrever e chamar funções simples - Resolver problemas usando funções para organizar o código Aula 9: Módulos e Pacotes Conteúdo: - Importação de módulos - Uso de bibliotecas padrão e instalação de pacotes externos Atividades: - Criar módulos personalizados - Usar bibliotecas como 'math', 'random', 'datetime' Módulo 5: Entrada e Saída de Dados Aula 10: Manipulação de Arquivos Conteúdo: - Leitura e escrita de arquivos - Manipulação de diferentes tipos de arquivos (texto, CSV) Atividades: - Escrever scripts que leem e escrevem dados em arquivos Aula 11: Entrada e Saída com o Usuário Conteúdo: - Função 'input()' - Formatação de strings com 'format()' e f-strings Atividades: - Criar programas interativos que recebem entrada do usuário

Objetivos e Resultados Esperados: Objetivos O minicurso FEP tem como objetivo apresentar os fundamentos do Python para os alunos de pós-graduação, motivar e criar as condições para a escrita de programas em Python e permitir que os alunos escrevam seus próprios códigos a partir do uso dos notebook Jupyter. Resultados Esperados No minicurso básico de Python, espera-se alcançar diversos resultados importantes. O objetivo principal é motivar os estudantes a se aprofundarem no estudo desta linguagem, proporcionando-lhes as ferramentas essenciais e os primeiros passos para a execução de atividades práticas simples. Além disso, o curso oferecerá uma bibliografia abrangente, permitindo que os alunos adquiram autonomia e possam continuar seu aprendizado de forma independente no ambiente Python. Com isso, espera-se que os participantes desenvolvam uma base sólida de conhecimento, capacitando-os a explorar mais avanços e aplicações da linguagem em seus respectivos campos de estudo.

Justificativas: Aprender Python é de extrema importância para alunos de graduação e de pós-graduação devido à sua versatilidade e ampla aplicabilidade em diversas áreas acadêmicas e profissionais. Python é amplamente utilizado em ciência de dados e análise de dados, com bibliotecas poderosas como Panda, NumPy e SciPy, A habilidade de programar é fundamental para o desenvolvimento do pensamento lógico, pois a programação exige a decomposição de problemas complexos em etapas menores e mais gerenciáveis, promovendo uma abordagem sistemática e estruturada à resolução de problemas. Ao escrever código, os estudantes aprendem a identificar padrões, formular algoritmos e aplicar rigorosamente regras lógicas, o que fortalece suas capacidades de raciocínio dedutivo e analítico. Além disso, a programação incentiva a precisão e a atenção aos detalhes, uma vez que até pequenos erros podem impedir que um programa funcione corretamente. Portanto, a prática da programação não apenas aprimora as habilidades técnicas, mas também contribui significativamente para o desenvolvimento cognitivo e lógico. A sintaxe simples e legível de Python torna a linguagem acessível e fácil de aprender, mesmo para iniciantes. Isso é particularmente importante em um ambiente acadêmico onde o tempo é limitado e os alunos precisam se concentrar na resolução de problemas e na lógica do programa, em vez de se preocuparem com a sintaxe complicada. A interoperabilidade de Python é outro fator importante, pois permite a fácil integração com outras linguagens e tecnologias, como C/C++, Java e R. Essa característica é particularmente útil para alunos que trabalham em projetos multidisciplinares ou colaborativos.

Metodologias: O curso será ministrado presencialmente, com aulas expositivas que utilizarão lousa e slides para facilitar o aprendizado. O conteúdo do curso está organizado em três partes principais: 1. Estrutura Básica do Python: Na primeira parte do curso, os alunos serão introduzidos aos conceitos fundamentais de Python. Eles aprenderão sobre a sintaxe básica, tipos de dados, operações, estruturas de controle e funções. Esse conhecimento é essencial para a compreensão das etapas subsequentes do curso. 2. Manipulação de Dados com Python: Na segunda etapa, o foco será na manipulação e redução de dados usando Python. Os alunos aprenderão sobre bibliotecas e ferramentas específicas para trabalhar com dados, como Pandas e NumPy. Serão ensinados a carregar, limpar, transformar e analisar conjuntos de dados, preparando-os para resolver problemas mais complexos. 3. Aplicações Práticas: A terceira e última parte do curso será dedicada a aplicações práticas. Os alunos utilizarão o conhecimento adquirido nas etapas anteriores para resolver problemas reais, criando programas em Python. Essa abordagem prática permitirá que os alunos consolidem seu aprendizado e adquiram experiência na implementação de soluções utilizando Python. Ao longo do curso, os alunos terão a oportunidade de interagir diretamente com a professora e monitor, esclarecer dúvidas e participar de atividades práticas que reforçarão o conteúdo teórico apresentado. Ao final do curso, espera-se que os alunos estejam aptos a desenvolver programas em Python que possam ser aplicados em diversas áreas de interesse.

Conteúdo programático com responsáveis pedagógicos por tema/assunto - aula ou grupo de aulas: Módulo 1: Introdução e instalação do Python Aula 1: O que é Python? Conteúdo: - História do Python - Aplicações do Python no mercado - Vantagens do Python Atividades: - Discussão sobre diferentes linguagens de programação - Instalação do Python e configuração do ambiente de desenvolvimento (IDEs recomendadas como PyCharm, VS Code, Jupyter Notebooks) Aula 2: Primeiros Passos com Python Conteúdo: - Sintaxe básica do Python - Executando scripts Python - Uso do interpretador interativo Atividades: - Escrever e executar o primeiro programa "Hello, World!" - Explorar o uso do interpretador interativo para cálculos simples Módulo 2: Estruturas de Dados Básicas Aula 3: Variáveis e Tipos de Dados Conteúdo: - Tipos de dados primitivos (inteiros, floats, strings, booleanos) - Declaração e uso de variáveis - Conversão de tipos Atividades: - Exercícios para praticar a declaração de variáveis e manipulação de tipos de dados Aula 4: Operadores e Expressões Conteúdo: - Operadores aritméticos, de comparação e lógicos - Precedência de operadores Atividades: - Resolver problemas simples usando operadores - Criar expressões complexas combinando diferentes operadores Aula 5: Estruturas de Dados Compostas Conteúdo: - Listas, tuplas, conjuntos e dicionários - Métodos e operações básicas em estruturas compostas Atividades: - Manipulação de listas e dicionários com exemplos práticos Módulo 3: Controle de Fluxo Aula 6: Condicionais Conteúdo: - Declarações 'if', 'elif' e 'else' - Aninhamento de condicionais Atividades: - Criar programas que tomam decisões baseadas em condições Aula 7: Laços de Repetição** Conteúdo: - Laços 'for' e 'while' - Controle de laços com 'break' e 'continue' Atividades: - Escrever scripts que iteram sobre listas e outras estruturas de dados - Resolver problemas usando laços de repetição Módulo 4: Funções e Módulos Aula 8: Funções Conteúdo: - Definição de funções com 'def' - Parâmetros e retorno de valores - Escopo de variáveis Atividades: - Escrever e chamar funções simples - Resolver problemas usando funções para organizar o código Aula 9: Módulos e Pacotes Conteúdo: - Importação de módulos - Uso de bibliotecas padrão e instalação de pacotes externos Atividades: - Criar módulos personalizados - Usar bibliotecas como 'math', 'random', 'datetime' Módulo 5: Entrada e Saída de Dados Aula 10: Manipulação de Arquivos Conteúdo: - Leitura e escrita de arquivos - Manipulação de diferentes tipos de arquivos (texto, CSV) Atividades: - Escrever scripts que leem e escrevem dados em arquivos Aula 11: Entrada e Saída com o Usuário Conteúdo: - Função 'input()' - Formatação de strings com 'format()' e f-strings Atividades: - Criar programas interativos que recebem entrada do usuário

Referências (bibliográficas e outras): Livros 1. "Python para Desenvolvedores" - Luiz Eduardo Borges - https://www.casadocodigo.com.br/products/livro-python 2. "Introdução à Programação com Python" - Nilo Ney Coutinho Menezes - https://novatec.com.br/livros/introducao-python/ 3. "Python Fluente: Programação Clara, Concisa e Eficaz" - Luciano Ramalho - https://novatec.com.br/livros/python-fluente/ Cursos Online 1. Curso de Python - Curso em Vídeo - Gustavo Guanabara - https://www.cursoemvideo.com/curso/python-3-mundo-1/

Modo e critérios da avaliação de aproveitamento: Neste minicurso, a avaliação considerará o envolvimento dos(as) alunos(as) em aula e a realização das atividades propostas. Estarão aptos a receber o certificado aqueles que completarem 80% do total das atividades propostas e frequentarem ao menos 2/3 das aulas.

Estratégias de Divulgação: A divulgação do curso será feita de três formas: (i) Presencial: Cartazes serão fixados em locais apropriados na UNIFESP, Institutos da USP (área de exatas) e da UNICAMP (área de exatas), além de outras universidades. (ii) E-mail: Será enviado um pedido de divulgação para a Sociedade Brasileira de Física (SBF) e a Sociedade Brasileira de Astronomia (SAB). (iii) Redes Sociais: O curso será divulgado nos stories das principais redes sociais, como Facebook e Instagram, para alcançar um público mais amplo. (iv) Página do Programa de Pós-Graduação em Física (PPG-FIS) da UNIFESP: A divulgação também será feita na página oficial do programa.

Recursos didáticos: No minicurso, os alunos devem trazer seus próprios notebooks para realizar a instalação do Python e outros programas essenciais. Esta prática é importante para promover a autonomia dos participantes. As aulas expositivas na sala de aula serão conduzidas com o auxílio de lousa e giz, além de acesso à internet e utilização de equipamento multimídia, como projetor de slides. Outros recursos e ferramentas Adicionais serão empregados durante as aulas. São eles: Materiais de Apoio: apostilas e slides de cada aula, listas de exercícios e desafios de programação e repositórios de código no GitHub. Ferramentas: Ambientes de desenvolvimento integrados (IDEs) e plataformas de codificação online (Repl.it, Jupyter Notebooks). Comunidade: Fóruns de discussão para alunos (Discord, Slack) e sessões de tutoria e suporte online.

Ementa: Introdução e Instalação do Python: Introdução ao Python. Primeiros Passos com Python. Estruturas de Dados Básicas: Variáveis e Tipos de Dados. Operadores e Expressões. Estruturas de Dados Compostas. Controle de Fluxo: Condicionais. Laços de Repetição. Funções e Módulos: Funções. Módulos e Pacotes. Entrada e Saída de Dados: Manipulação de Arquivos. Entrada e Saída com o Usuário