Executando verificação de segurança...
4

Olá. Sou mestre em ciência da computação, e professor de programação na PUCMinas, a nível de pós-graduação.

Primeiramente, parabéns pela sua oportunidade!! Você está ajudando a transformar a vida de jovens, e ajudar no crescimento do nosso Brasil!

Minha primeira dica é a seguinte: recomendo que, antes de se preocupar com ferramentas, linguagens, e conteúdo, defina primeiro o objetivo desse curso. O que você espera que os alunos saibam depois de um ano? Isso se chama traçar os "Resultados de Aprendizagem" esperados (se precisar, jogue no Google. Há vários recursos no tema).

E a segunda dica: Ao traçar esse objetivo, tente se lembrar de que eles não estão em um curso de Ciencia da Computação na faculdade - que tem duração de 4 a 5 anos. Quando você vai formar cientistas da computação, faz sentido gastar bastante tempo ensinando estruturas de dados, algoritmos, complexidade, manipulação de memória heap e stack, e etc. Mas eles tem só um ano para aprender. O que dá pra ajudar eles a aprenderem em um ano, sem que fique faltando informação? Eles querem aprender programação web? Análise de dados? Jogos? Musicologia computacional?

Lembre-se também que não precisa ser cientista da computação para conseguir programar bem!

Imagine um cientista de dados, por exemplo. Se ele não for pesquisador, raramente ele vai ter que se preocupar se aquele DataFrame que ele usa no Pandas é implementado usando uma BTree ou um Hash Table. Nem se o sort_values() usa um QuickSort ou BubbleSort. Pra falar a verdade, ele nem precisa entender como funciona um algoritmo de backpropagation usado pra treinar Redes Neurais! Ele só precisa entender a lógica do resultado dessas funções, quando usar, e como usar (chamando os métodos da biblioteca, passando parâmetros, recebendo retornos, armazenando em variáveis, etc.).

Ou então, pense em alguém que implementa Sistemas de RPA na empresa dele. Ele não precisa saber se a biblioteca que ele usa pra controlar o mouse está comunicando via comunicação serial ou não. Ele não precisa nem saber que o código dele é convertido pra hexadecimal, e depois pra binário! Se um dia essa informação for importante pra ele, ele precisa saber como descobrir e interpretar essa informação. Isso sim é importante aprender de antemão: como buscar informações.

O que eu considero absolutamente essencial na programação é a lógica de programação. Isso não pode faltar, independentemente de qual trilha de carreira o aluno escolher no futuro.

Quando digo lógica de programação, quero dizer fluxo de código. Pense que os alunos não sabem nem o que é uma variável ainda (e precisarão saber!). Variáveis, funções, parâmetros, retorno, se tiver tempo, o que é uma classe e o que é um objeto (pra conseguirem usar bibliotecas). Mas eu diria que não precisa preocupar em ensinar complexidade de algoritmos, por exemplo! Isso eles aprendem na faculdade, com mais calma, e mais vontade.

Além de conteúdo, tente levar em consideração que seu maior papel nesse curso talvez não seja nem que eles saiam conseguindo fazer sites sozinhos. Às vezes seu papel será motivar os alunos a aprofundarem nessa área posteriormente. Fazer eles gostarem de programação, mostrar que não é tão difícil quanto eles pensam, fazer eles perceberem que eles conseguem SIM seguir uma carreira na área de tecnologia, e que são capazes. Pense sobre isso!

Então, resumindo: recomendo primeiro traçar o objetivo final do curso (os Resultados de Aprendizagem), e lembrar que você está ensinando programação a jovens, e não formando cientistas da computação.

Ah, e sugiro dar MUITOS exercícios pra eles fazerem em casa. Não dá pra aprender a programar sem tentar programar sozinho, né?

Boa sorte, dedique-se, e sei que você será um excelente professor, visto que está preocupado com a qualidade do seu curso, já que até veio aqui pegar dicas!

Um abraço!

Carregando publicação patrocinada...