Programming Learning Workshops with Scratch and Python in a Computer Engineering Course

  • Camille Jesus UEFS
  • Bianca Santana UEFS
  • Roberto Bittencourt UEFS

Abstract


It is known that novice students have difficulties to learn programming. In the first programming course in higher education, such difficulties are more evident, and lead to high levels of dropout and failure. To deal with this issue in our institution, we held introductory programming workshops with Computer Engineering freshmen. We used a playful approach based on challenges and game building in Scratch and Python. Results point to the advantages of Python as the first language, students high participation in the learning process, as well as their integration with classmates and senior students.

References

Agarwal, K. K. and Agarwal, A. (2005). Python for CS1, CS2 and beyond. Journal of Computing Sciences in Colleges, 20(4):262–270.

Bittencourt, R. A., Santos, D. M. B., Rodrigues, C. A., Batista, W. P., and Chalegre, H. S. (2015). Learning programming with peer support, games, challenges and Scratch. In Frontiers in Education Conference (FIE), 2015. IEEE.

Bosse, Y. and Gerosa, M. A. (2015). As disciplinas de introdução à programação na USP: um estudo preliminar. In Anais dos Workshops do Congresso Brasileiro de Informática na Educação, volume 4, page 1389.

Enbody, R. J., Punch, W. F., and McCullen, M. (2009). Python CS1 as preparation for C++ CS2. ACM SIGCSE Bulletin, 41(1):116–120.

Jenkins, T. (2002). On the difficulty of learning to program. In Proceedings of the 3rd Annual Conference of the LTSN Centre for Information and Computer Sciences, vo- lume 4, pages 53–58.

Malan, D. J. and Leitner, H. H. (2007). Scratch for budding computer scientists. In ACM SIGCSE Bulletin, volume 39, pages 223–227. ACM.

Mishra, S., Balan, S., Iyer, S., and Murthy, S. (2014). Effect of a 2-week Scratch inter- vention in CS1 on learners with varying prior knowledge. In Proc. 2014 Conference on Innovation & technology in Computer Science Education, pages 45–50. ACM.

Papert, S. (1980). Mindstorms: Children, computers, and powerful ideas. Basic Books, Inc.

Pears, A., Seidman, S., Malmi, L., Mannila, L., Adams, E., Bennedsen, J., Devlin, M., and Paterson, J. (2007). A survey of literature on the teaching of introductory program- ming. ACM SIGCSE Bulletin, 39(4):204–223.

Resnick, M., Maloney, J., Monroy-Hernández, A., Rusk, N., Eastmond, E., Brennan, K., Millner, A., Rosenbaum, E., Silver, J., Silverman, B., and Kafai, Y. (2009). Scratch: Programming for all. Commun. ACM, 52(11):60–67.

Robins, A., Rountree, J., and Rountree, N. (2003). Learning and teaching programming: A review and discussion. Computer Science Education, 13(2):137–172.

Sena, J. P. S., Rios, M. S., Batista, W. P., Santos, D. M. B., and Bittencourt, R. A. (2015). Reduzindo Dificuldades em Introdução à Programação em um Curso de Engenharia de Computação através de Ambiente Lúdico Scratch. In COBENGE 2015 - XLIII Congresso Brasileiro de Educação em Engenharia.

Shannon, C. (2003). Another breadth-first approach to CS I using Python. In ACM SIGCSE Bulletin, volume 35, pages 248–251. ACM.

Vidal Duarte, E. (2016). Teaching the first programming course with Python’s Turtle graphic library. In Proceedings of the 2016 ACM Conference on Innovation and Tech- nology in Computer Science Education, ITiCSE ’16, New York, NY, USA. ACM.

Vihavainen, A., Airaksinen, J., and Watson, C. (2014). A systematic review of approaches for teaching introductory programming and their influence on success. In Proceedings of the Tenth Annual Conference on International Computing Education Research.

Watson, C. and Li, F. W. (2014). Failure rates in introductory programming revisited. In Proceedings of the 2014 Conference on Innovation & Technology in Computer Science Education, pages 39–44. ACM.
Published
2019-07-12
JESUS, Camille; SANTANA, Bianca ; BITTENCOURT, Roberto . Programming Learning Workshops with Scratch and Python in a Computer Engineering Course. In: WORKSHOP ON COMPUTING EDUCATION (WEI), 27. , 2019, Belém. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2019 . p. 31-40. ISSN 2595-6175. DOI: https://doi.org/10.5753/wei.2019.6614.