Towards Practical C++ Programming Projects for Pre-University Engineering Students
Keywords:Practical Projects, C project, Programming, Group project
One of the key assessments for C++ programming is the programming project. These programming projects encourage Project Based Learning. Creating and designing a programming project for novice programmers can be a challenging task. This can be compounded by the fact that students may find the project difficult to do and loose interest in the process. So it is befitting to create and design project topics which are practical and interesting and are perceived as such by students. This would encourage students to see the relevance of coding in the real world outside the class and generate exuberance in the programming project. The main motivation of this paper is to show the various C++ projects given to engineering pre-university students over a period of 3 years at Curtin University, Sarawak and in doing so to observe their inclination towards practical project. A projectâ€™s inclination towards practicality and the interest it generated is done by analysing student performance in their programming project for every semester.
Battacharya, P., and Neamtiu, L. (2011). â€œAssessing Programming Language Impact on Development and Maintenance: A Study on C and C++â€, ICSE, Honolulu, Hawaii, USA, May 2011.
Bennedsen, J. & Caspersen, M. E. (2007). â€œFailure rates in introductory programmingâ€, SIGCSE Bull. 39(2), 32â€“36.
Bonar, J. & Soloway, E. (1983), â€œUncovering principles of novice programmingâ€, in â€˜POPL â€™83: Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languagesâ€™, ACM, New York, NY, USA, pp. 10â€“13.
Casperson, D. (2008). â€œExperience With Team Projects In A Second-Semester C++ Programming Courseâ€, http://www.cs.ubc.ca/wccce/Program03/papers/Casperson.html
Caspersen, M. E. & Bennedsen, J. (2007), â€œInstructional design of a programming course: a learning theoretic approachâ€, in â€˜ICER â€™07: Proceedings of the third international workshop on Computing education researchâ€™, ACM, New York, NY, USA, pp. 111â€“122.
Chard, S.C. (1992). â€œThe Project Approach: A Practical Guide for Teachersâ€, Edmonton, Alberta: University of Alberta Printing Services.
Diwan, A., Waite, W.M., and Jackson, M.H. (2002). â€œAn Infrastructure for Teaching Skills for Group Decision Making and Problem Solving in Programming Projectsâ€, Special interest group on computer science education (SIGCSE) (Covington, Kentucky, USA, March 2002), pp. 276-277.
Lang, J., Nugent, G.C., Samal, A. & Soh, L.K. (2006). â€œBuilding Communication Software: A Project Based Approach For Teaching C++ Object-Oriented Programmingâ€, â€˜International Journal of Innovative Computing, Information and Controlâ€™, Volume 9, Number 8: pp 3415 â€“ 3436.
Lippman, S. & Lajoie, J. (1998). C++ Primer, 3rd Edition, Addison-Wesley, MA, USA.
Mike Lopez, Jacqueline Whalley Phil Robbins, R. L.(2008), â€œRelationships between reading, tracing and writing skills in introductory programmingâ€, in â€˜ICERâ€™08â€™.
Oman, P. W., Cook, C. R. & Nanja, M. (1989). â€œEffects of programming experience in debugging semantic errorsâ€, J. Syst. Softw. 9(3), 197â€“207.
Pattis, R.E. (1990). â€œA Philosophy and Example of CS-1 Programming Projectsâ€, Association for Computing Machinery 089791: pp. 34 â€“ 39.
Perez, A. & Rosell, J. (2010). â€œA roadmap to robot motion planning software developmentâ€, Comput. Appl. Eng. Educ., Vol 18: pp. 651-660.
San-Segundo, R., Montero, J.M., Macias-Guarasa, J., Cordoba, R. & Ferreiros, J. (2005). â€œAutomatic Tools for Diagnosis and Feedback in a Project Based Learning Courseâ€, 35th ASEE/IEEE Frontiers in Education Conference. Indianapolis, IN, USA.
Shuhidan, S., Hamilton, M. & Dâ€™Souza, D. (2009). â€œA Taxonomic Study of Novice Programming Summative Assessmentâ€, 11th Australasian Computing Education Conference (ACE2009), Wellington, New Zealand, January, 2009.
Solomon, G. (2003). â€œProject-Based Learning: a Primerâ€, Technology and Learning. Volume 23(6), pp. 20-27.
Stroustrup, B. (2009). Programming: Principles and Practice Using C++, Addison-Wesley.
Thomas, L., Ratcliffe, M. & Thomasson, B. (2004). â€œScaffolding with object diagrams in first year programming classes: some unexpected resultsâ€, SIGCSE Bull. 36(1), 250â€“254.
How to Cite
- Papers must be submitted on the understanding that they have not been published elsewhere (except in the form of an abstract or as part of a published lecture, review, or thesis) and are not currently under consideration by another journal published by any other publisher.
- It is also the authors responsibility to ensure that the articles emanating from a particular source are submitted with the necessary approval.
- The authors warrant that the paper is original and that he/she is the author of the paper, except for material that is clearly identified as to its original source, with permission notices from the copyright owners where required.
- The authors ensure that all the references carefully and they are accurate in the text as well as in the list of references (and vice versa).
- Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Attribution-NonCommercial 4.0 International that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal.
- Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal.
- Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work (See The Effect of Open Access).
- The journal/publisher is not responsible for subsequent uses of the work. It is the author's responsibility to bring an infringement action if so desired by the author.