TY - GEN
T1 - Using Real Code to Teach Good Programming Practices
AU - Durelli, Rafael
AU - Ferreira, Renato Cordeiro
AU - Goldman, Alfredo
PY - 2022/11/7
Y1 - 2022/11/7
N2 - “Talk is cheap. Show me the code”. Using real code examples is a way of engaging students while teaching Software Engineering. By applying this technique, this paper describes the experience of introducing good development practices in the course “Programming Techniques II”, offered for students of the Bachelor in Computer Science of the Institute of Mathematics and Statistics of the University of São Paulo (IME-USP). At the beginning of the course, students received two exercises: in the first, each student should present a code snippet that they consider well written; in the second, a code snippet that they consider problematic. The snippets were then analyzed in the classroom – with active participation of the students – to map good and bad practices. This process was repeated until reaching theoretical saturation. In the end, the discussions converged on many techniques used to write clean code, thus validating the use of a constructive approach to teach good development practices.
AB - “Talk is cheap. Show me the code”. Using real code examples is a way of engaging students while teaching Software Engineering. By applying this technique, this paper describes the experience of introducing good development practices in the course “Programming Techniques II”, offered for students of the Bachelor in Computer Science of the Institute of Mathematics and Statistics of the University of São Paulo (IME-USP). At the beginning of the course, students received two exercises: in the first, each student should present a code snippet that they consider well written; in the second, a code snippet that they consider problematic. The snippets were then analyzed in the classroom – with active participation of the students – to map good and bad practices. This process was repeated until reaching theoretical saturation. In the end, the discussions converged on many techniques used to write clean code, thus validating the use of a constructive approach to teach good development practices.
UR - http://dx.doi.org/10.1145/3571473.3571504
U2 - 10.1145/3571473.3571504
DO - 10.1145/3571473.3571504
M3 - Conference contribution
BT - Proceedings of the XXI Brazilian Symposium on Software Quality
ER -