Saci – ainda outro ambiente para o ensino de programação

  • Ricardo Anido UNICAMP

Abstract


This paper presents an integrated system for teaching and learning computer programming. The system, named Saci, comprises a sub-system for managing users, a sub-system for managing classes, and the main teaching environment which is implemented as a single-page Web application. The learning environment incorporates tools for visualizing the class contents (video, supporting documents), a set of practical exercises, tools for editing the source-code, executing and verifying the program correctness, and some simple help tools. After a “class”, pre-built by a teacher, is loaded into a student’s Web browser, all processing happens in the browser, with no configuration or installation needed in the student’s computer. A first course using the Saci system was deployed mid-March by the Brazilian Olimpyad in Informatics.

References

Abelson, H. and Friedman, M. (2010). App Inventor – a view into learning about computers through building mobile applications. In Proceedings of the 2010 ACM SIGCSE Symposium.

Begel, A. (1996). LogoBlocks: a graphical programming language for interacting with the world. Electrical Engineering and Computer Science Department, MIT, Boston, MA. Retrieved from http://research.microsoft.com/en-us/um/people/abegel/mit/begelaup. pdf.

Chaves, J. M. O., Castro, F. A., Rommel, W. L., A., L. M. V., and Ferreira, K. H. A. (2013). Mojo: Uma ferramenta de aux´ılio `a elaboração, submiss˜ao e correção de atividades em disciplinas de programação. In Proceedings of the XXI WEI – Workshop sobre Educação em Informática, pages 402–407.

CodeChef (2015). Codechef for schools. http://www.codechef.com/school.

CodeOrg (2015). Codeorg.com. http://code.org.

Gomes, C. C., S., L. D. H., Ribeiro, R. P., Almeida, E. S., and Brito, P. H. S. (2011). Uma proposta para auxiliar alunos e professores no ensino de programação: O ambiente aiip. In Proceedings of the XIX WEI – Workshop sobre Educação em Informática.

Gray, J., Abelson, H.,Wolber, D., and Friend, M. (2012). Teaching cs principles with app inventor. In Proceedings of the 50th ACM Annual Southeast Regional Conference.

Haverbeke, M. (2015). Codemirror. http://codemirror.net.

jQWidgets (2015). jqwidgets. http://jqwidgets.com.

Kelleher, C. and Pausch, R. (2005). Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers. ACM Computing Surveys, 37(2):83–137.

KhanAcademy (2015). Khan academy computer science. http://www.khanacademy.org/computing/computer-programming.

Maloney, J., Peppler, K., Kafai, B., Y., Resnick, M., , and Rusk, N. (2008). Programming by choice: urban youth learning programming with Scratch. ACM SIGCSE Bulletin, 40(1):367–371.

Noschang, L. F., Pelz, F., Jesus, E. A. J., and Raabe, A. (2014). Portugol studio: Uma ide para iniciantes em programação. In Proceedings of the XXII WEI - Workshop sobre Educação em Computação, pages 1287–1296.

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

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. Communications of the ACM, 52(11):60–67.

Tonin, N. A., Ferreira, C. E., and Bez, J. L. (2013). Uri online judge academic: A tool for professors. In Proceedings of the International Conference on Advanced ICT, volume 1, pages 763–766.

Verdú, E., Reguereas, L. M., Verdú, M. J., Leal, J. P., Castro, J. P., and Queirós, R. (2011). A distributed system for learning programming on-line. Computers & Education, 58:1–10.

Published
2015-07-20
ANIDO, Ricardo. Saci – ainda outro ambiente para o ensino de programação. In: WORKSHOP ON COMPUTING EDUCATION (WEI), 23. , 2015, Recife. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2015 . p. 226-235. ISSN 2595-6175. DOI: https://doi.org/10.5753/wei.2015.10239.