Uma Análise Curricular de Disciplinas de CS1 das Universidades Públicas Brasileiras
DOI:
https://doi.org/10.5753/rbie.2023.2870Keywords:
Análise Curricular, Estudos de Graduação, Programação Introdutória, Contextualização de Curso, CS1Abstract
A elaboração e aplicação de intervenções metodológicas é uma maneira possível de abordar as taxas de evasão e reprovação em disciplinas de introdução à programação na graduação (CS1). No entanto, para implementar tais estratégias, é necessário identificar como as disciplinas de CS1 são organizadas e oferecidas aos alunos. Neste trabalho, analisamos 225 currículos de disciplinas de CS1 distribuídas em 95 universidades públicas brasileiras. Os currículos analisados pertenciam a cursos de graduação relacionados à área de Ciência da Computação. Apresentamos informações contextuais a respeito dos tópicos mais abordados, nomes mais comuns de disciplinas de CS1, quando os alunos de graduação realizam a disciplina, horas totais de aula e os paradigmas de programação e linguagens ensinados. Os resultados indicam que o cenário brasileiro possui características próprias que diferem daquelas apresentadas em trabalhos relacionados realizados em outros países ou regiões do mundo. No Brasil, identificamos que 90% das disciplinas de CS1 analisadas ensinam o paradigma procedural, sendo C a linguagem de programação mais comum (53% do total). Esses resultados diferem daqueles realizados em outros países no quais Java e orientação a objetos são as linguagens e paradigmas mais comuns ensinados nessas disciplinas. Acreditamos que nossos resultados podem ser utilizados para: (1) fornecer uma atualização aos interessados no cenário brasileiro de disciplinas de CS1; (2) apoiar futuras intervenções no ensino e na aprendizagem de CS1; e (3) apoiar a comunidade brasileira no desenvolvimento de novos currículos de CS1.
Downloads
Referências
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]
Arquivos adicionais
Published
Como Citar
Issue
Section
Licença
Copyright (c) 2023 Eryck Pedro da Silva, Ricardo Caceffo, Rodolfo Azevedo
Este trabalho está licenciado sob uma licença Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.