Instituto Federal de BrasíliaJulho/2025
02. Apresentação do Curso
Back-end: Python
Prof. Rodrigo Duran
Um pouco sobre mim ...
Nem tudo é trabalho também! Meus outros hobbiesEu jogo ativamente Overwatch (melhor Moira do BR), World of Warcraft (for the Horde! Azralon) DCS (F-18 e F-16) e gosto de plastimodelismo e guitarras!
-
Formação Acadêmica
Bacharel em Ciência da Computação pela Universidade Estadual de Londrina (UEL), mestrado em Ciência da Computação pela Universidade de São Paulo (USP) e doutorado em Ciência da Computação pela Aalto University (Finlândia)
-
Atuação Profissional
Desenvolvedor de software (4 anos em automação residencial), desde 2011 professor da Rede Federal. Diretor de educação da Sociedade Brasileira de Computação (SBC) (2019-2025)
-
Atividades de Pesquisa e extensão
Eu pesquiso sobre Educação de Computação, mais especificadamente sobre Notional Machines, Cognitive Load Theory, compreensão de programas, complexidade cogntiva, evasão e Parsons problems. Meu CV Lattes está aqui e o meu Google Scholar aqui.
Objetivos de aprendizagem...
No módulo de Python o estudante irá :
- Conhecer como os computadores são capazes de executar tarefas e como seres humanos interagem com os computadores para programá-los de forma a executar essas tarefas corretamente.
- Aprender os princípios de uma linguagem de programação moderna, o Python, a qual será usada para comunicar algoritmos para o computador e entre seres humanos.
- Aprender a identificar o fluxo de dados, quais os tipos de dados fazem parte de um algoritmo e como manusear os dados utilizando variáveis, atribuições e expressões.
- Aprender a modificar o fluxo de controle de um programa e tomar decisões de acordo com uma entrada de dados.
- Aprender a integrar as diferentes habilidades da programação: ler programas de computador de forma correta e eficiente, criar seus próprios programas para atender necessidades contextualizadas, desenhar exemplos e simples casos de teste para verificar se seu programa atende os requisitos solicitados e caso erros existam utilizar estratégias de debug para corrigir problemas.
Nesse módulo também serão trabalhadas suas atitudes em relação às habilidades de programação e os conteúdos da disciplina, além das suas habilidades socioemocionais dentro da disciplina e do curso técnico em informática como um todo.
EMENTA
Definição de algoritmos. Formas de representação de algoritmos. Definição de objetos de entrada, saída e auxiliares. Refinamentos sucessivos. Estruturas algorítmicas: atribuição, entrada e saída. Operações sobre dados, operadores e expressões aritméticas e lógicas. Estruturas de seleção e repetição. Abstrações em nível de módulos, blocos, procedimentos e funções, passagem de parâmetros, tempo de vida. Estruturas homogêneas. Utilização de uma linguagem de programação.
Sobre o curso ...
Materiais Requeridos
Neste módulo nós não utilizamos nenhum livro texto base. Os materiais disponibilizados online através desta página deverão ser suficientes para acompanhar o curso e possibilitar a realização das atividades.
Entretanto, como material suplementar de apoio, sugiro a consulta ao livro Python Fluente. Nós também usaremos muitos materiais e atividades do curso Python Programming MOOC 2023, com a devida licença dos autores.
Quando teremos nossas aulas?
Todas as aulas serão realizadas no campus Gama do IFB. Alterações de laboratório serão informados pelo professor e coordenador do programa.
- 2a Feira: 08:00 às 11:30
- 4a Feira: 08:00 às 11:30
Eventuais alterações de calendário serão informadas pelo professor da disciplina e pelo coordenador do programa.
Nossas atividades, incluindo as mentorias e orientação acontecerão até o fim de dezembro de 2025.
Tecnologias Necessárias
-
Online REPL
Programas são escritos em uma linguagem de programação e depois executados em uma máquina. Para isso, precisamos de um local onde esses programas são inseridos e algo (um compilador ou interpretador) que execute esse programa. REPLs são interfaces de interação simplificadas de programação, muito úteis para trabalhar com programas curtos com entrada e saída. O Repl.it permite a criação rápida e sem necessidade de instalação de vários tipos de REPL, inclusive Python. Eu criei uma REPL de demonstração que vamos usar durante as aulas do curso, crie a sua!
-
Strype
O Strype é um editor de programas em Python que o ajuda a não se preocupar com a sintaxe. Vamos utilizá-lo, principalmente no início do programa.
-
Atividades
Parte das atividades serão realizadas durante as aulas presenciais. As atividades assíncronas serão enviadas pelo NEAD no NEAD do IFB. Toda e qualquer atividade só será considerada entregue caso tenha sido enviada pelo NEAD!
-
Editor de Código: VSCode
Você pode utilizar qualquer outro editor de código, mas recomendamos o VSCode. Os materiais e exemplos serão feitos nele.
Conduta Acadêmica
Como espero que vocês se comportem nesse curso:
- Respeite a humanidade de cada um. Todos nós temos vidas, lutas, medos e objetivos. Você é mais do que um estudante, eu sou mais do que um professor e seus colegas de classe mais do que colegas de classe. Comece cada conversa lembrando-se disso.
- Respeite as diferenças de cada um. Tecnologia é para pessoas e as pessoas são diferentes: aprenda sobre as diferentes perspectivas, experiências e ideias umas das outras.
- Foque no aprendizado, não em notas. Ter conhecimento e habilidades é o que o leva a cursos de graduação, estágios, empregos e pós-graduação. As notas são medidas imprecisas e estreitas do que você sabe e pode fazer, portanto, se focar apenas nas notas em vez de suas habilidades, você acabará com conhecimentos e habilidades restritos. Esse curso é a base para todo o técnico em informática. Lembre-se disso.
- Seja ativo. Faça perguntas, peça ajuda e busque experiência. Pode ser assustador admitir que você precisa de ajuda, mas espero que precise de ajuda. É assim que o aprendizado acontece.
- Seja confiante. Mesmo que você não acredite que pode aprender algo, eu acredito que você pode. Basta ter a instrução certa, a prática certa e o feedback certo. A maioria deles é meu trabalho, então se você está com dificuldades mesmo quando se empenha, provavelmente é minha culpa.
- Seja exigente. Eu quero que este curso seja ótimo. Se você não gosta de como está indo, me dê um feedback. A única maneira de melhorar é se você me disser o que está errado.
- Seja construtivo. Não apenas critique ideias; use seu conhecimento das limitações dessas ideias para torná-las melhores. Isso é especialmente importante quando você colabora com outras pessoas.
- Não engane. Diga a verdade, mesmo que seja difícil de compartilhar. Você não fez uma atividade? Admita, e vamos encontrar uma maneira de você concluir as futuras atribuições a tempo. Você não entende alguma coisa? Admita, e vamos ajudá-lo a entender. Você não quer aprender alguma coisa? Admita, e vamos encontrar uma maneira de torná-lo mais interessante para você.
