Google Colab para Ensino de Computação
Resumo
Este minicurso teórico-prático tem como objetivo a introdução ao uso do Google Colab como uma ferramenta de ensino à distância e/ou atividades práticas síncronas ou assíncronas em aula presencial ou remotas na Educação em Computação. Tradicionalmente, o Google Colab vem sendo usado no ensino de inteligência artificial e aprendizado de máquina. O minicurso irá apresentar aos participantes vários exemplos, ideias e metodologias para uso em qualquer disciplina. Mostrando como usar outras linguagens além de Python, como inserir outras ferramentas de ensino, criação de comandos mágicos para simplificar o uso, interfaces interativas, interação com smartphones com o uso da biblioteca Gradio. Os exemplos utilizados no minicurso ilustrarão o ensino de arquitetura de computadores, programação de alto desempenho com GPU, linguagens formais e autômatos, grafos, linguagens de programação e programação de computadores.
Referências
Jeronimo C. Penha, Lucas B. Silva, Jansen M. Silva, Kristtopher K Coelho, Hector P. Baranda, José Augusto M. Nacif, and Ricardo S. Ferreira. (2019). ADD: Accelerator Design and Deploy-A tool for FPGA high-performance dataflow computing. Concurrency and Computation: Practice and Experience 31, 18, e5096.
Michael Canesche, Lucas Bragança, Omar Paranaiba Vilela Neto, Jose A Nacif, and Ricardo Ferreira. (2021). Google colab cad4u: Hands-on cloud laboratories for digital design. International Symposium on Circuits and Systems (ISCAS).
Alan Davies, Frances Hooley, Peter Causey-Freeman, Iliada Eleftheriou, and Georgina Moulton. (2020). Using interactive digital notebooks for bioscience and informatics education. PLOS Computational Biology 16, 11, e1008326.
Ricardo Ferreira, Salles Viana Gomes de Magalhães, and José AM Nacif. (2019). Métricas e Números: Desmistificando a Programação de Alto Desempenho em GPU. Minicurso WSCAD. Sociedade Brasileira de Computação.
Ricardo Ferreira, Jose Nacif, Salles Magalhaes, Thales de Almeida, and Racyus Pacifico. (2015). Be a simulator developer and go beyond in computing engineering. IEEE Frontiers in Education Conference (FIE). IEEE, 1-8.
Ricardo S Ferreira, Antonio Carlos S Beck, Luigi Carro, Andre Toledo, and Aroldo Silva. (2005). A java framework to teach computer architecture. In IFIP International Working Conference on Computer-Aided Learning. Springer, 25–35.
Fernando Passe, Lucas Bragança, Michael Canesche, Felippe Cathoud, José Nacif, and Ricardo Ferreira. (2020). Plain: Ferramenta para Desenvolvimento de Aceleradores para Overlays em FPGA na Nuvem em Tempo de Execução. XXI Simpósio em Sistemas Computacionais de Alto Desempenho.
Fernando Passe, Michael Canesche, Omar Paranaiba Vilela Neto, Jose A Nacif, and Ricardo Ferreira. (2020). Mind the gap: Bridging verilog and computer architecture. In International Symposium on Circuits and Systems (ISCAS).
Fernando Ferreira Passe, Vanessa Cristiny Rodrigues Vasconcelos, Michael Canesche, and Ricardo Ferreira. (2017). Perspectivas para o uso do Node-Red no Ensino de IoT. International Journal of Computer Architecture Education.
Jerônimo Penha, Geraldo Fontes, and Ricardo Ferreira. (2016). MIPSFPGA-Um simulador mips incremental com validaçao em fpga. International Journal of Computer Architecture Education.
Cyrille Rossant. (2013). Learning IPython for interactive computing and data visualization. Packt Publishing Ltd.
Adam Rule, Aurélien Tabard, and James D Hollan. (2018). Exploration and explanation in computational notebooks. In Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems. 1–12.