Programming is related to several fields of technology, and many university students are studying the basics of it. Unfortunately, they often face difficulties already on the basic courses. This work studies the difficulties in learning programming in order to support developing learning materials for basic programming courses. The difficulties have to be recognized to be able to aid learning and teaching in an effective way.An international survey of opinions was organized for more than 500 students and teachers. This paper analyses the results of the survey. The survey provides information of the difficulties experienced and perceived when learning and teaching programming. The survey results also provide basis for recommendations for developing learning materials and approaches.
Executive SummaryProfessional programmers need common coding conventions to assure co-operation and a degree of quality of the software. Novice programmers, however, easily forget issues of programming style in their programming coursework. In particular with large classes, students may pass several courses without learning elements of programming style. This is often due to shortage of tutor work to give students thorough feedback on their coursework. Incorporating issues of style into programming courses is too often neglected and students are hoped to learn these issues by themselves.To deal with the problem, a set of coding rules was collected and justified to be used in C++ programming courses of the university. An automatic C++ programming style analyzer tool was implemented to ensure that students were following the rules. Students can freely use this tool to improve the quality of their coursework, and tutors can use it for assessing the assignments. Assessment rules and criteria can be easily adjusted according to the needs of the course or the exercise in question. Since basic programming style issues are assessed by the students independently before coursework submission, the teaching staff can concentrate on giving feedback on the more advanced features of program design and course specific issues.The approach seems to have tackled the basic problem well. The students learn to pay better attention to their coding practices and they develop themselves good basic programming habits already on their first courses. After the first shock of having more requirements for the practical programming assignments, students have regarded the automatic style analysis as a useful aid in the programming courses. The quality of coursework has improved, and including a systematic assessment of programming style also improved the partitioning of contents and design of the courses involved. With more careful monitoring and evaluation of the tool usage, we hope to gain even better results in improving the understanding and adoption of good coding principles as part of students' personal programming practices.Keywords: C++ programming style, automated assessment, programming courses, self-assessment Material published as part of this journal, either on-line or in print, is copyrighted by the publisher of the Journal of Information Technology Education. Permission to make digital or paper copy of part or all of these works for personal or classroom use is granted without fee provided that the copies are not made or distributed for profit or commercial advantage AND that copies 1) bear this notice in full and 2) give the full citation on the first page. It is permissible to abstract these works so long as credit is given. To copy in all other cases or to republish or to post on a server or to redistribute to lists requires specific permission and payment of a fee. Contact Editor@JITE.org to request redistribution permission. Supporting Students on C++ Programming Courses 246 IntroductionProgramming style, i.e., the way to u...
The potential of the action-oriented paradigm has been explored in the development of a new specification language Disco, which can be characterized as both action-oriented and object-oriented. Its possibilities are introduced by contrasting them to the more familiar process-oriented approaches. Its execution model is state-based and leads to direct application of temporal logic in formal reasoning. Action-orientation allows a natural support for such forms of modularity that cut across process boundaries. At the same time, process-oriented abstractions are retained by object-orientation and the use of hierarchical statechart structures. The novel aspects of modularity are illustrated by a protocol example. The language is semi-executable, with properties that prevent automatic code generation in the general case. An experimental environment is available for simulation and animation of specifications.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2025 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.