[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3571473.3571504acmotherconferencesArticle/Chapter ViewAbstractPublication PagessbqsConference Proceedingsconference-collections
research-article

Using Real Code to Teach Good Programming Practices

Published: 27 January 2023 Publication History

Abstract

“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.

References

[1]
Nurul Ezza Asyikin Mohamed Almi, Najwa Abdul Rahman, Durkadavi Purusothaman, and Shahida Sulaiman. 2011. Software engineering education: The gap between industry’s requirements and graduates’ readiness. In 2011 IEEE Symposium on Computers & Informatics. IEEE, 542–547.
[2]
Kathy Beckman, Neal Coulter, Soheil Khajenoori, and Nancy R Mead. 1997. Collaborations: closing the industry-academia gap. IEEE software 14, 6 (1997), 49–57.
[3]
Sarah Beecham, John Noll, and Tony Clear. 2017. Do we teach the right thing? A comparison of GSE education and practice. In 2017 IEEE 12th International Conference on Global Software Engineering (ICGSE). IEEE, 11–20.
[4]
Christopher N Bull, Jon Whittle, and Leon Cruickshank. 2013. Studios in software engineering education: Towards an evaluable model. In 2013 35th International Conference on Software Engineering (ICSE). IEEE, 1063–1072.
[5]
Vladimiras Dolgopolovas and Valentina Dagienė. 2021. Computational thinking: Enhancing STEAM and engineering education, from theory to practice. Computer Applications in Engineering Education 29, 1 (2021), 5–11.
[6]
Christiane Floyd. 1995. Theory and practice of software development. In Colloquium on Trees in Algebra and Programming. Springer, 25–41.
[7]
Vahid Garousi, Kai Petersen, and Baris Ozkan. 2016. Challenges and best practices in industry-academia collaborations in software engineering: A systematic literature review. Information and Software Technology 79 (2016), 106–127.
[8]
Robert L Glass. 1996. The relationship between theory and practice in software engineering. Commun. ACM 39, 11 (1996), 11–13.
[9]
John Impagliazzo, Alison Clear, and Hala Alrumaih. 2018. Developing an overview of computing/Engineering curricula via the CC2020 project. In 2018 IEEE World Engineering Education Conference (EDUNINE). IEEE, 1–4.
[10]
Hannu Jaakkola, Jaak Henno, and Imre J Rudas. 2006. IT Curriculum as a complex emerging process. In 2006 IEEE International Conference on Computational Cybernetics. IEEE, 1–5.
[11]
Celal Murat Kandemir, Filiz Kalelioğlu, and Yasemin Gülbahar. 2021. Pedagogy of teaching introductory text-based programming in terms of computational thinking concepts and practices. Computer Applications in Engineering Education 29, 1 (2021), 29–45.
[12]
Li-Qun Kuang and Xie Han. 2012. The research of software engineering curriculum reform. Physics Procedia 33(2012), 1762–1767.
[13]
Zhuo Liu and Jianwen Xia. 2021. Enhancing computational thinking in undergraduate engineering courses using model-eliciting activities. Computer Applications in Engineering Education 29, 1 (2021), 102–113.
[14]
Dastyni Loksa, Nicolas Mangano, Thomas D LaToza, and André van der Hoek. 2013. Enabling a classroom design studio with a collaborative sketch design tool. In 2013 35th International Conference on Software Engineering (ICSE). IEEE, 1073–1082.
[15]
Maíra R Marques, Alcides Quispe, and Sergio F Ochoa. 2014. A systematic mapping study on practical approaches to teaching software engineering. In 2014 IEEE Frontiers in education conference (FIE) proceedings. IEEE, 1–8.
[16]
Joint Task Force on Computing Curricula. 2013. Computer Science Curricula 2013. ACM/Association for Computing Machinery.
[17]
Claes Wohlin, Per Runeson, Martin Höst, Magnus C Ohlsson, Björn Regnell, and Anders Wesslén. 2012. Experimentation in software engineering. Springer Science & Business Media.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
SBQS '22: Proceedings of the XXI Brazilian Symposium on Software Quality
November 2022
352 pages
ISBN:9781450399999
DOI:10.1145/3571473
© 2022 Association for Computing Machinery. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only.

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 27 January 2023

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

SBQS '22
SBQS '22: XXI Brazilian Symposium on Software Quality
November 7 - 10, 2022
Curitiba, Brazil

Acceptance Rates

Overall Acceptance Rate 35 of 99 submissions, 35%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 47
    Total Downloads
  • Downloads (Last 12 months)13
  • Downloads (Last 6 weeks)0
Reflects downloads up to 03 Jan 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media