16 SES 11 B, Programming / Computational Thinking
Learning programming is difficult (Powers et.al, 2007) and yet arguably the most important skill of a computer science graduate. Without programs computers are useless, especially when most of our day-to-day interactions, whether in healthcare, education or doing a food shop, all involve the use of a different software application (Eranki and Moudgalya, 2015; Jenkins, 2002). Therefore, it is important that as educators we understand the difficulties students have in learning programming so that we can adapt our teaching and assessment practices to help students both understand and enjoy programming.
Programming is a new subject for many of the students who take computer science courses. Dijkstra (1989) argues that learning is a slow and perpetual process of transforming the "novel into the familiar". He goes on to define programming as a "radical novelty" in which the traditional teaching styles are no longer successful. Furthermore, this will be the students first time attempting to program and their first time away from a familiar academic setting with small class sizes where they most probably performed well academically using dependable learning and study skills, (Jenkins, 2002). They are now challenged with a new subject that does not respond to their habitual study approaches, where a single semicolon is the difference between “glorious success and ignominious failure”, (Jenkins, 2002).
There are many accepted reasons as to why learning programming is so problematic. As Gomes and Mendes (2007) point out, these could be because programming demands a high level of abstraction, or that it requires a good knowledge of and ability to problem solve. They also point out, along with Almadzadeh et.al (2011), that given the number of students on undergraduate courses it is impossible to provide an individualised learning environment without increasing inconsistency of information provided to students and yet learning-by-doing is required to learn programming (Daly and Horgan, 2004). Jenkins (2002) argues that although we look for “visual hooks and props” to engage our students we should also identify, or at least consider, the psychology of how students learn and their motivations of choosing a degree in computing to enable us to better address our students’ experiences with learning to program.
This study will consider a first-year Java programming course to determine the learning styles and motivations of students and to analyse the problems encountered when first learning to program. Eranki and Moudgalya (2015) point out that many beginner programmers struggle with basic concepts such as control structures. However, there appears to be a more fundamental issue relating to the syntax of a programming language which students perceive to be bugs of the program. This is problematic as students often cannot get support quickly enough, given the large class sizes, and if they can do not know what they are asking. Therefore, they do not ask for help and the problems continue to build.
The main research questions are:
- What are the learning styles and motivations of the students in a first-year computer science course and does this positively or negatively affect their mark in the first assessment?
- What are the main problems students have when first learning to program?
- Can the identification of student learning styles, motivations and initial programming issues impact on changes to the teaching and assessment practices of lecturers?
- If there are changes in the teaching and assessment practices, then do they have an impact on the students learning of programming?
The answer to these questions will help to provide an understanding of the real issues students face when first introduced to programming and help inform the teaching, delivery and assessment of programming courses.
Ahmadzadeh, M., Namvar, S. and Soltani, M. (2011) JavaMarker: A Marking System for Java Programs. International Journal of Computer Applications, Vol. 20, No. 2, pp15-20 Daly, C and Horgan, J.M. (2004) An Automated Learning System for Java Programming. IEEE Transactions on Education, Vol. 47, No. 1, pp10-17 Dijkstra, E.W. (1989) On the Cruelty of Really Teaching Computer Science. Communications of the ACM, Vol.32, No.12, pp1398-1404 Eranki, K.L.N. and Moudgalya, K.M. (2015) Evaluation of Programming Competency using Student Error Patterns. International Conference on Learning and Teaching in Computing and Education, pp34-41 Gomes, A. and Mendes, A.J. (2007) An Environment to Improve Programming Education. International Conference on Computer Systems and Technologies, pp19.1-19.6 Jenkins, T. (2002) On the Difficulty of Learning to Program. In proc. Of the 3rd Annual LTSN_ICS Conference (Loughborough University, UK), The Higher Education Academy, pp53-58 Powers, K., Ecott, S. and Hirshfield, L.M. (2007) Through the Looking Glass: Teaching CS0 with Alice. In ACM SIGCSE Bulletin, Vol. 39, pp213-217
00. Central Events (Keynotes, EERA-Panel, EERJ Round Table, Invited Sessions)
Network 1. Continuing Professional Development: Learning for Individuals, Leaders, and Organisations
Network 2. Vocational Education and Training (VETNET)
Network 3. Curriculum Innovation
Network 4. Inclusive Education
Network 5. Children and Youth at Risk and Urban Education
Network 6. Open Learning: Media, Environments and Cultures
Network 7. Social Justice and Intercultural Education
Network 8. Research on Health Education
Network 9. Assessment, Evaluation, Testing and Measurement
Network 10. Teacher Education Research
Network 11. Educational Effectiveness and Quality Assurance
Network 12. LISnet - Library and Information Science Network
Network 13. Philosophy of Education
Network 14. Communities, Families and Schooling in Educational Research
Network 15. Research Partnerships in Education
Network 16. ICT in Education and Training
Network 17. Histories of Education
Network 18. Research in Sport Pedagogy
Network 19. Ethnography
Network 20. Research in Innovative Intercultural Learning Environments
Network 22. Research in Higher Education
Network 23. Policy Studies and Politics of Education
Network 24. Mathematics Education Research
Network 25. Research on Children's Rights in Education
Network 26. Educational Leadership
Network 27. Didactics – Learning and Teaching
The programme is updated regularly (each day in the morning)
- Search for keywords and phrases in "Text Search"
- Restrict in which part of the abstracts to search in "Where to search"
- Search for authors and in the respective field.
- For planning your conference attendance you may want to use the conference app, which will be issued some weeks before the conference
- If you are a session chair, best look up your chairing duties in the conference system (Conftool) or the app.