skip to main content
10.1145/1095714.1095770acmconferencesArticle/Chapter ViewAbstractPublication PagesiteConference Proceedingsconference-collections
Article

Effectively teaching coding standards in programming

Authors Info & Claims
Published:20 October 2005Publication History

ABSTRACT

In this paper, we report on a study that was carried out to investigate students' opinions on learning and accepting coding standards in programming courses. We used a questionnaire survey to gather data. We also used the information observed from our teaching practices. An analysis of the data indicated that most students' believe coding standards are important in programming courses but tend not to comply with them, thus implying possible flaws in the teaching strategies used. We also present current strategies we use for teaching coding standards, and evaluate them for effectiveness. In doing so, we propose strategies that are likely to be effective in teaching coding standards as they would be used in industry, and present suggestions for further studies that can be carried out to implement these strategies.

References

  1. Bezroukov, N. Programming Style. 2003. http://www.softpanorama.org/SE/programming_style.shtml. Accessed 1 July 2005.Google ScholarGoogle Scholar
  2. Boston University, Java Coding Standard for CS 111 & CS 112, 2005. Accessed March 4, 2005. http://www.cs.bu.edu/fac/snyder/cs112/CourseMaterials/JavaStyleNotes.htmlGoogle ScholarGoogle Scholar
  3. Central Washington University, Java Programming Style Guide CS 110. Accessed July 4, 2005. http://www.cwu.edu/~gellenbe/javastyle/Google ScholarGoogle Scholar
  4. Clarke, D. Resources - ASP.Net Coding Standards, 2005. Accessed March 4, 2005. http://www.visualize.uk.com/resources/asp-net-standards.aspGoogle ScholarGoogle Scholar
  5. Forward, B. ITSE 1418 -- COBOL Coding Standards, 2001. Accessed March 4, 2005. http://www.texarkanacollege.edu/~bforward/mcobstnd.htmGoogle ScholarGoogle Scholar
  6. Fryman, J. Coding Standards: Good Idea or Subtle Evil? 1999. Accessed March 4, 2005. http://freshmeat.net/articles/view/139/|Google ScholarGoogle Scholar
  7. Gellenbeck, E. Java Programming Style Guide CS110. Accessed 1 July 2005. http://www.cwu.edu/~gellenbe/javastyle/Google ScholarGoogle Scholar
  8. Howles, T. Fostering the growth of a software quality culture. The SIGCSE Bulletin, Volume 35 Number 2, 2003 June. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Kolawa, A. and Coffee, K. (2005) Why Is Error Prevention Important?. Accessed March 4, 2005. URL: http://www.stickyminds.com/sitewide.asp?ObjectId=3489&Function=DETAILBROWSE&ObjectType=ARTGoogle ScholarGoogle Scholar
  10. Microsoft, .NET Framework General Reference Design Guidelines for Class Library Developers, 2005. Accessed March 4, 2005. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconNETFrameworkDesignGuidelines.aspGoogle ScholarGoogle Scholar
  11. Parasoft, Understanding the Workflow in a Coding Standards Implementation, 2005, Accessed March 4, 2005. http://66.102.7.104/search?q=cache:TvLOqsjDqxYJ:www.parasoft.com/jsp/products/article_reg.jsp%3FarticleId%3D1158+is+coding+standard+important+for+software+industry&hl=enGoogle ScholarGoogle Scholar
  12. Pfeiffer, J. Coding Standards in 400- and 500-level Classes. http://www.cs.nmsu.edu/~pfeiffer/classes/general/s05/coding.html. Accessed 1 July 2005.Google ScholarGoogle Scholar
  13. Purdue University, CS 177 Java Programming Standards, 2005. Accessed March 4, 2005. http://web.ics.purdue.edu~cs180/Spring2005cs177/java_programming_standards.htmlGoogle ScholarGoogle Scholar
  14. Qiu, L. Intelligent Educational System for Teaching Programming, Accessed July 4, 2005. http://www.cs.oswego.edu/~lqiu/critiquer/publications/acm2004.pdfGoogle ScholarGoogle Scholar
  15. Rich, M. and Ginsburg, K. The Reason and Rhyme of Qualitative Research: Why, When, and How to Use Qualitative Methods in the Study of Adolescent Health. Journal of Adolescent Health, 25, 1999, 371--378.Google ScholarGoogle ScholarCross RefCross Ref
  16. Struble, C. CS 1044 General Programming Standards. 2000. http://courses.cs.vt.edu/~cs1044/fall00/cstruble/Standards.html. Accessed 1 July 2005.Google ScholarGoogle Scholar
  17. Sutter, H. C++ Coding Standards: Rules and Guidelines for Writing Programs. Addison-Wesley. 2004 Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. TIOBE Software BV. TIOBE Coding Standard Methodology, 2003. Accessed March 4, 2005. http://www.tiobe.com/standards/tekst.htmGoogle ScholarGoogle Scholar
  19. Wightman, R. C Language Coding Standard for CS1003 and CS1013. 2002. http://www.cs.unb.ca/courses/cs1013/ProgrammingStandard.pdf. Accessed 1 July 2005Google ScholarGoogle Scholar
  20. Wiki. Formal Standards. September 18, 2004. Accessed March 4, 2005. http://c2.com/cgi/wiki?FormalStandardsGoogle ScholarGoogle Scholar
  21. Wilson, J. N. CIS 4930 Section 0998X, Spring, 1996. Accessed March 4, 2005. http://www.cis.ufl.edu/~jnw/OOCourse/Google ScholarGoogle Scholar
  22. Zaidman, M. Teaching defensive programming in Java. Journal of Computing Sciences in Colleges, 19, 3 (Jan. 2004), 33--43. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Effectively teaching coding standards in programming

      Recommendations

      Reviews

      Cecilia G. Manrique

      Faculty members in most disciplines face the same dilemma about their teaching: they are concerned about imparting knowledge that will make students valuable to society in the future. Those who teach coding and programming are no different. This paper, although limited to the students of a particular institution, studying particular courses in programming, lays a framework for the study of the effectiveness of teaching and learning practices in the world of computing. The authors tried to find out from the students, through a questionnaire, whether they believed that coding standards were important in their programming courses; whether they complied with them; and what teaching strategies are effective, since they are used in industry. They also solicited suggestions for the further study of this issue. To start, the authors could have done a better job of editing their work, and ridding it of several grammatical errors. Beyond that superficial comment, the authors could improve on the study in other areas as well. One can start with the methodology, especially the sampling procedure, which leaves much to be desired. Only three courses, with a total of 57 students, were used in the survey. There was also a large number of nonnative English speakers in the group surveyed, which may or may not be reflective of the field itself. The study could have benefited from a pre-test of the survey questions, and this could very well serve as the pretest, since the authors seem to point out that, in this exploration, they are trying to generate, rather than test, a hypothesis. Some of the tables in the "Results and Analysis" section have a tendency to be confusing. It might benefit the reader if the tables were presented in such a way that further explanations were made available: which is raw data and which is already in a percentage format; how the results of open-ended questions may have results beyond 100 percent due to multiple responses; and so on. Much of this is standard writing practice, especially for studies of this nature. As it stands, the discussion of Table 2 leads to confusion, since the text does not reflect what the reader sees from the table, and readers will have to do their own calculations to arrive at what the authors are trying to say. It is quite obvious that program writing is not an easy task, and student responses reinforce this. However, despite the acknowledgement that coding standards are important, there seems to be a disconnect between theory and practice here. Students understand that coding standards are used to reduce programming errors, improve code quality, and build and enhance team communication. Students fail to follow coding standards in their work, however, because they do not have the time to get their assignments done, and therefore do not have the time to worry about such coding standards. Part of the problem stems from the students feeling that they have learned very little about coding standards from the two most common methods used to impart that knowledge, which is through lectures and the use of documentation. Students prefer the use of examples, and like to see the application of these examples in practice. As a result, the study proposes varied teaching strategies that make the most of these various learning techniques throughout a student's programming coursework, which will make them adopt and adhere to coding standards. The authors are aware of the limitations of their study. They also make suggestions for the direction they would like to go in the future, including taking a look at how different faculty members teach coding. It would be quite interesting to compare the perspectives of students and teachers in this regard. This might reveal valuable differences that can enhance the field further. Online Computing Reviews Service

      Access critical reviews of Computing literature here

      Become a reviewer for Computing Reviews.

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        SIGITE '05: Proceedings of the 6th conference on Information technology education
        October 2005
        402 pages
        ISBN:1595932526
        DOI:10.1145/1095714
        • General Chair:
        • Rob Friedman

        Copyright © 2005 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 20 October 2005

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • Article

        Acceptance Rates

        Overall Acceptance Rate176of429submissions,41%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader