A Syllabi Analysis of CS1 Courses from Brazilian Public Universities
DOI:
https://doi.org/10.5753/rbie.2023.2870Keywords:
Syllabi Analysis, Undergraduate Studies, Introductory Programming, Course Contextualization, CS1Abstract
The design and administration of methodological interventions is a possible way to address dropout and failure rates in undergraduate introductory programming courses (CS1). However, to implement such strategies, it is required to identify how CS1 courses are organized and offered to students. In this work, we analyzed 225 syllabi from CS1 courses distributed in 95 Brazilian public universities. We collected these syllabi from Brazilian undergraduate programs with focus on Computer Science aspects. We report context information regarding the most covered topics, most common CS1 course names, when undergraduates take the course, total class hours, and the programming paradigms and languages taught. The results indicate that the Brazilian scenario has its own characteristics that differs from those presented in related work conducted in other countries or world regions. In Brazil, we identified 90% of the analyzed CS1 courses teaches the procedural paradigm, with C as the most common programming language (53% of the total). These results differ from those conducted in other countries where Java and object-oriented are the most common languages and paradigm taught in CS1 courses. We believe that our results can be used to: (1) provide an update to those interested in the Brazilian scenario of CS1 courses; (2) support future interventions in teaching and learning of CS1; and (3) support the Brazilian community in the development of future CS1 syllabi.
Downloads
References
Abad, C. L., Ortiz-Holguin, E., & Boza, E. F. (2021). Have We Reached Consensus? An Analysis of Distributed Systems Syllabi. In Proceedings of the 52nd ACM Technical Symposium on Computer Science Education (p. 1082–1088). New York, NY, USA: Association for Computing Machinery. doi: 10.1145/3408877.3432409 [GS Search]
Araujo, A., Filho, D., Oliveira, E., Carvalho, L., Pereira, F., & Oliveira, D. (2021). Mapeamento e análise empírica de misconceptions comuns em avaliações de introdução à programação. In Anais do Simpósio Brasileiro de Educação em Computação (pp. 123–131). Porto Alegre, RS, Brasil: SBC. doi: 10.5753/educomp.2021.14478 [GS Search]
Araujo, L., Bittencourt, R., & Chavez, C. (2021). Python Enhanced Error Feedback: Uma IDE Online de Apoio ao Processo de Ensino-Aprendizagem em Programação. In Anais do Simpósio Brasileiro de Educação em Computação (pp. 326–333). Porto Alegre, RS, Brasil: SBC. doi: 10.5753/educomp.2021.14500 [GS Search]
Austing, R. H., Barnes, B. H., Bonnette, D. T., Engel, G. L., & Stokes, G. (1979, mar). Curriculum ’78: Recommendations for the Undergraduate Program in Computer Science— a Report of the ACM Curriculum Committee on Computer Science. Commun. ACM, 22(3), 147–166. doi: 10.1145/359080.359083 [GS Search]
Avouris, N. (2018). Introduction to Computing: A Survey of Courses in Greek Higher Education Institutions. In Proceedings of the 22nd Pan-Hellenic Conference on Informatics (p. 64–69). New York, NY, USA: Association for Computing Machinery. doi: 10.1145/3291533.3291549 [GS Search]
Becker, B. A. (2019). A Survey of Introductory Programming Courses in Ireland. In Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education (p. 58–64). New York, NY, USA: Association for Computing Machinery. doi: 10.1145/3304221.3319752 [GS Search]
Becker, B. A., & Fitzpatrick, T. (2019). What Do CS1 Syllabi Reveal About Our Expectations of Introductory Programming Students? In Proceedings of the 50th ACM Technical Symposium on Computer Science Education (p. 1011–1017). New York, NY, USA: Association for Computing Machinery. doi: 10.1145/3287324.3287485 [GS Search]
Becker, B. A., & Quille, K. (2019). 50 Years of CS1 at SIGCSE: A Review of the Evolution of Introductory Programming Education Research. In Proceedings of the 50th ACM Technical Symposium on Computer Science Education (p. 338–344). New York, NY, USA: Association for Computing Machinery. doi: 10.1145/3287324.3287432 [GS Search]
Berges, M., & Hubwieser, P. (2013). Concept Specification Maps: Displaying Content Structures. In Proceedings of the 18th ACM Conference on Innovation and Technology in Computer Science Education (p. 291–296). New York, NY, USA: Association for Computing Machinery. doi: 10.1145/2462476.2462503 [GS Search]
Bosse, Y., & Gerosa, M. (2015). Reprovações e Trancamentos nas Disciplinas de Introdução à Programação da Universidade de São Paulo: Um Estudo Preliminar. In Anais do XXIII Workshop sobre Educação em Computação (pp. 426–435). Porto Alegre, RS, Brasil: SBC. doi: 10.5753/wei.2015.10259 [GS Search]
Brodley, C. E., Hescott, B. J., Biron, J., Ressing, A., Peiken, M., Maravetz, S., & Mislove, A. (2022). Broadening Participation in Computing via Ubiquitous Combined Majors (CS+X). In Proceedings of the 53rd ACM Technical Symposium on Computer Science Education V. 1 (p. 544–550). New York, NY, USA: Association for Computing Machinery. doi: 10.1145/3478431.3499352 [GS Search]
Caceffo, R., Gama, G., & Azevedo, R. (2018). Exploring Active Learning Approaches to Computer Science Classes. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education (p. 922–927). New York, NY, USA: Association for Computing Machinery. doi: 10.1145/3159450.3159585 [GS Search]
Caceffo, R., Wolfman, S., Booth, K. S., & Azevedo, R. (2016). Developing a Computer Science Concept Inventory for Introductory Programming. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education (p. 364–369). New York, NY, USA: Association for Computing Machinery. doi: 10.1145/2839509.2844559 [GS Search]
Campos, R. (2010). Metodologia ERM2C: Para melhoria do processo de ensino-aprendizagem de lógica de programação. In XVIII Workshop sobre Educação em Computação (pp. 961–970). XXX Congresso da Sociedade Brasileira de Computação. Retrieved 08/29/2022, from [Link] [GS Search]
CC2020 Task Force (2020). Computing Curricula 2020: Paradigms for Global Computing Education. New York, NY, USA: Association for Computing Machinery. doi: https://doi.org/10.1145/3467967 [GS Search]
Dodds, Z., Libeskind-Hadas, R., & Bush, E. (2010). When CS 1 is Biology 1: Crossdisciplinary Collaboration as CS Context. In Proceedings of the Fifteenth Annual Conference on Innovation and Technology in Computer Science Education (p. 219–223). New York, NY, USA: Association for Computing Machinery. doi: 10.1145/1822090.1822152 [GS Search]
Eberly, M. B., Newton, S. E., & Wiggins, R. A. (2001). THE SYLLABUS AS A TOOL FOR STUDENT-CENTERED LEARNING. The Journal of General Education, 50(1), 56–74. Retrieved 2022-08-02, from [Link] [GS Search]
FIA (2019). Universidades públicas: O que são, importância e lista de instituições. Retrieved 08/30/2022, from [Link]
Fréchet, N., Savoie, J., & Dufresne, Y. (2020). Analysis of Text-Analysis Syllabi: Building a Text-Analysis Syllabus Using Scaling. PS: Political Science & Politics, 53(2), 338–343. doi: 10.1017/S1049096519001732 [GS Search]
Grunert, J. (1997). The Course Syllabus: A Learning-Centered Approach (1st ed.). Bolton, MA, USA: Anker Publishing Co. Inc. [GS Search]
Guo, P. (2014). Python Is Now the Most Popular Introductory Teaching Language at Top U.S. Universities. Communications of the ACM Blog (BLOG@CACM). Retrieved 08/29/2022, from [Link]
Hertz, M. (2010). What Do "CS1" and "CS2" Mean? Investigating Differences in the Early Courses. In Proceedings of the 41st ACM Technical Symposium on Computer Science Education (p. 199–203). New York, NY, USA: Association for Computing Machinery. doi: 10.1145/1734263.1734335 [GS Search]
Hertz, M., & Ford, S. M. (2013). Investigating Factors of Student Learning in Introductory Courses. In Proceeding of the 44th ACM Technical Symposium on Computer Science Education (p. 195–200). New York, NY, USA: Association for Computing Machinery. doi: 10.1145/2445196.2445254 [GS Search]
Hislop, G. W., Cassel, L., Delcambre, L., Fox, E., Furuta, R., & Brusilovsky, P. (2009). Ensemble: Creating a National Digital Library for Computing Education. In Proceedings of the 10th ACM Conference on SIG-Information Technology Education (p. 200). New York, NY, USA: Association for Computing Machinery. doi: 10.1145/1631728.1631783 [GS Search]
Kinnunen, P., & Malmi, L. (2006). Why Students Drop out CS1 Course? In Proceedings of the Second International Workshop on Computing Education Research (p. 97–108). New York, NY, USA: Association for Computing Machinery. doi: 10.1145/1151588.1151604 [GS Search]
Lima, M. A. P., Carvalho, L. S. G., Oliveira, E. H. T. d., Oliveira, D. B. F. d., & Pereira, F. D. (2021, set.). Uso de atributos de código para classificar a dificuldade de questões de programação em juízes online. Revista Brasileira de Informática na Educação, 29, 1137–1157. doi: 10.5753/rbie.2021.29.0.1137 [GS Search]
Luxton-Reilly, A. (2016). Learning to Program is Easy. In Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education (p. 284–289). New York, NY, USA: Association for Computing Machinery. doi: 10.1145/2899415.2899432 [GS Search]
Luxton-Reilly, A., Simon, Albluwi, I., Becker, B. A., Giannakos, M., Kumar, A. N., . . . Szabo, C. (2018). Introductory Programming: A Systematic Literature Review. In (p. 55–106). New York, NY, USA: Association for Computing Machinery. doi: 10.1145/3293881.3295779 [GS Search]
McKeachie, W. J. (1978). Teaching tips: A guidebook for the beginning college teacher (7th ed.). Lexington, MA, USA.: D.C. Heath and Company. [GS Search]
Nascimento, P. (2018). Recomendação de ação pedagógica no ensino de introdução à programação por meio de raciocínio baseado em casos. Unpublished master’s thesis, Programa de Pós-graduação em Informática. Retrieved from [Link] [GS Search]
Pereira, F., Fonseca, S., Oliveira, E., Oliveira, D., Cristea, A., & Carvalho, L. (2020). Deep learning for early performance prediction of introductory programming students: a comparative and explanatory study. Revista Brasileira de Informática na Educação, 28(0), 723–748. doi: 10.5753/rbie.2020.28.0.723 [GS Search]
Pereira, R., Peres, L., & Silva, F. (2021). Hello World: 17 habilidades para exercitar desde o início da graduação em computação. In Anais do Simpósio Brasileiro de Educação em Computação (pp. 193–203). Porto Alegre, RS, Brasil: SBC. doi: 10.5753/educomp.2021.14485 [GS Search]
Petersen, A., Craig, M., Campbell, J., & Tafliovich, A. (2016). Revisiting Why Students Drop CS1. In Proceedings of the 16th Koli Calling International Conference on Computing Education Research (p. 71–80). New York, NY, USA: Association for Computing Machinery. doi: 10.1145/2999541.2999552 [GS Search]
Porfirio, A. J., Pereira, R., & Maschio, E. (2021, jul.). A-Learn EvId: A Method for Identifying Evidence of Computer Programming Skills Through Automatic Source Code Assessment. Revista Brasileira de Informática na Educação, 29, 692–717. doi: 10.5753/rbie.2021.29.0.692 [GS Search]
Scaffidi, C., Shaw, M., & Myers, B. (2005). Estimating the Numbers of End Users and End User Programmers. In Proceedings of the 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (p. 207–214). USA: IEEE Computer Society. doi: 10.1109/VLHCC.2005.34 [GS Search]
Schulte, C., & Bennedsen, J. (2006). What Do Teachers Teach in Introductory Programming? In Proceedings of the Second International Workshop on Computing Education Research (p. 17–28). New York, NY, USA: Association for Computing Machinery. doi: 10.1145/1151588.1151593 [GS Search]
Siegfried, R. M., Herbert-Berger, K. G., Leune, K., & Siegfried, J. P. (2021). Trends Of Commonly Used Programming Languages in CS1 And CS2 Learning. In 2021 16th International Conference on Computer Science & Education (ICCSE) (p. 407-412). doi: 10.1109/ICCSE51940.2021.9569444 [GS Search]
Silva, E., Caceffo, R., & Azevedo, R. (2022). Análise dos Tópicos Mais Abordados em Disciplinas de Introdução à Programação em Universidades Federais Brasileiras. In Anais do II Simpósio Brasileiro de Educação em Computação (pp. 29–39). Porto Alegre, RS, Brasil: SBC. doi: 10.5753/educomp.2022.19196 [GS Search]
Sloan, R. H., Barr, V., Bort, H., Guzdial, M., Libeskind-Hadas, R., & Warner, R. (2020). CS + X Meets CS 1: Strongly Themed Intro Courses. In Proceedings of the 51st ACM Technical Symposium on Computer Science Education (p. 960–961). New York, NY, USA: Association for Computing Machinery. doi: 10.1145/3328778.3366975 [GS Search]
Sloan, R. H., Taylor, C., &Warner, R. (2017). Initial Experiences with a CS + Law Introduction to Computer Science (CS 1). In Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education (p. 40–45). New York, NY, USA: Association for Computing Machinery. doi: 10.1145/3059009.3059029 [GS Search]
Sobral, S. (2019). 30 YEARS OF CS1: PROGRAMMING LANGUAGES EVOLUTION. In ICERI2019 Proceedings (p. 9197-9205). IATED. doi: 10.21125/iceri.2019.2214 [GS Search]
Tew, A. E., & Guzdial, M. (2010). Developing a Validated Assessment of Fundamental CS1 Concepts. In Proceedings of the 41st ACM Technical Symposium on Computer Science Education (p. 97–101). New York, NY, USA: Association for Computing Machinery. doi: 10.1145/1734263.1734297 [GS Search]
Tew, A. E., & Guzdial, M. (2011). The FCS1: A Language Independent Assessment of CS1 Knowledge. In Proceedings of the 42nd ACM Technical Symposium on Computer Science Education (p. 111–116). New York, NY, USA: Association for Computing Machinery. doi: 10.1145/1953163.1953200 [GS Search]
Tungare, M., Yu, X., Cameron, W., Teng, G., Pérez-Quiñones, M. A., Cassel, L., . . . Fox, E. A. (2007, mar). Towards a Syllabus Repository for Computer Science Courses. SIGCSE Bull., 39(1), 55–59. doi: 10.1145/1227504.1227331 [GS Search]
Vahldick, A., Marcelino, M. J., & Mendes, A. J. (2021, dez.). Analyzing novices’ fun and programming behaviours while playing a serious blocks-based game. Revista Brasileira de Informática na Educação, 29, 1337–1355. doi: 10.5753/rbie.2021.2069 [GS Search]
Valentine, D. W. (2004). CS Educational Research: A Meta-Analysis of SIGCSE Technical Symposium Proceedings. In Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education (p. 255–259). New York, NY, USA: Association for Computing Machinery. doi: 10.1145/971300.=971391 [GS Search]
Walker, H. M. (2017, oct). ACM RETENTION COMMITTEE Retention of Students in Introductory Computing Courses: Curricular Issues and Approaches. ACM Inroads, 8(4), 14–16. doi: 10.1145/3151936 [GS Search]
Wikipedia (2021). Lista de universidades federais do brasil — wikipédia, a enciclopédia livre. Retrieved 07/06/2022, from [Link]
Wikipedia (2022a). Lista de universidades estaduais do brasil — wikipédia, a enciclopédia livre. Retrieved 03/02/2022, from [Link]
Wikipedia (2022b). Lista de universidades municipais do brasil — wikipédia, a enciclopédia livre. Retrieved 04/17/2022, from [Link]
Wing, J. M. (2006, mar). Computational Thinking. Commun. ACM, 49(3), 33–35. doi: 10.1145/1118178.1118215 [GS Search]
Zorzo, A. F., Nunes, D., Matos, E., Steinmacher, I., de Araujo, R. M., Correia, R., & Martins, S. (2017). Referenciais de Formação para os Cursos de Graduação em Computação. Sociedade Brasileira de Computação (SBC). [GS Search]
Additional Files
Published
How to Cite
Issue
Section
License
Copyright (c) 2023 Eryck Pedro da Silva, Ricardo Caceffo, Rodolfo Azevedo
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.