{"title":"Building Skills in Introductory Programming","authors":"José Figueiredo, F. García-Peñalvo","doi":"10.1145/3284179.3284190","DOIUrl":null,"url":null,"abstract":"Learning to program is difficult and requires a lot of work, dedication, and training. The difficulties of teaching and learning programming are a cause for concern for everyone where this subject is needed. It is a universal problem. The theme of teaching and learning programming difficulties is a serious problem not only for the important concepts underlying and structuring the course, but also for the lack of motivation, the failure, and abandonment that such frustration may imply for the student. It is important to act quickly. The follow-up of each student must be immediate and personalized. It is not possible to follow a traditional system of exposing the syntax and semantics of a language, with demonstrative examples of the concept, something more is needed. It is important to make an individual and constant evaluation of all the concepts that are part of the programming course. With this constant and personalized evaluation, it is possible to build a profile of each student's competences -- building skills in introductory programming. Giving each student the opportunity to improve particular skills. This concept is very similar to the skills of a character in a computer game, which can be acquired through training, performing tasks or practicing a certain ability. The paper goal is to describe a system that allows us to suggest exercises and to evaluate the results automatically. That will allow to construct the profile of the student in programming, according to the different phases of learning. This set of skills allow the teacher to have complete and updated information of the students' knowledge at all times, and thus minimizes the students' demotivation and failure.","PeriodicalId":370465,"journal":{"name":"Proceedings of the Sixth International Conference on Technological Ecosystems for Enhancing Multiculturality","volume":"27 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-10-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"25","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the Sixth International Conference on Technological Ecosystems for Enhancing Multiculturality","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3284179.3284190","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 25
Abstract
Learning to program is difficult and requires a lot of work, dedication, and training. The difficulties of teaching and learning programming are a cause for concern for everyone where this subject is needed. It is a universal problem. The theme of teaching and learning programming difficulties is a serious problem not only for the important concepts underlying and structuring the course, but also for the lack of motivation, the failure, and abandonment that such frustration may imply for the student. It is important to act quickly. The follow-up of each student must be immediate and personalized. It is not possible to follow a traditional system of exposing the syntax and semantics of a language, with demonstrative examples of the concept, something more is needed. It is important to make an individual and constant evaluation of all the concepts that are part of the programming course. With this constant and personalized evaluation, it is possible to build a profile of each student's competences -- building skills in introductory programming. Giving each student the opportunity to improve particular skills. This concept is very similar to the skills of a character in a computer game, which can be acquired through training, performing tasks or practicing a certain ability. The paper goal is to describe a system that allows us to suggest exercises and to evaluate the results automatically. That will allow to construct the profile of the student in programming, according to the different phases of learning. This set of skills allow the teacher to have complete and updated information of the students' knowledge at all times, and thus minimizes the students' demotivation and failure.