3 research outputs found

    Coding at the lowest level: Coding patterns for java beginners.

    No full text

    Using elementary patterns to analyse Scratch programs.

    Get PDF
    Teaching programming to school children is a challenging task, and this re- search contributes in two dimensions. First, it explores issues around “code smells,” such as object naming, long and repeated code, and unused and illogical code, in relation to block-based languages. Second, the suitability of “elementary patterns” as a potential teaching pedagogy to overcome the issues caused by code smells is investigated at a large scale. Elementary patterns such as Whether-or-Not, Alternative-Action, Linear-Search, and Loop-and-a- Half provide a structured approach to teaching programming using recommended practices based on experience gained through worked solutions. Elementary patterns are used as a benchmark in each of the studies re- ported in this thesis: finding code smells in students’ work, analysing the frequency of patterns in users’ projects, measuring progression in skills of Scratch users, the impact of remixing on learning, and evaluation of a selection of resources used for teaching programming. Millions of Scratch programs are analysed by software that reports on the various facets of the use of block-based languages, using programs posted to the online Scratch community as a sample. The results showed little use of modular approaches, infrequent use of variables and collections, and only very light usage of elementary patterns and programming elements in relation to problem solving in students’ work, even after a student has been program- ming in Scratch for many years. Remixing is one of the attractive features in Scratch that aims to support learning by collaboration, where students can take a copy of an existing project and develop it further themselves. The use of remixing was examined to evaluate if it leads to learning and plays any part in improving programming skills. There were no clear signs of progression in children’s depth of understanding with or without remixing. In principle the Scratch language can be used for students to explore elementary patterns, so we explore the teaching resources available in the community to see if they take advantage of this. We find that for novices, most resources covered only introductory ideas when evaluated as a means to teach the fundamentals of programming. This suggests a culture that has developed around Scratch, and potentially other block-based programming languages, that has led to them being regarded as a “toy” system and not taken seriously despite having the full power of programming. This does not necessarily mean that the programming that students do in Scratch is not worthwhile, but it gives some insight into how far most students progress, possibly moving to other languages to learn concepts that are nevertheless supported in Scratch

    Empirical assessment of patterns and guidelines for web design.

    Get PDF
    The phenomenal and explosive growth of the internet makes the need for proven, dependable approaches to interaction and interface design more important. Efficient and effective design methods are needed, complete with appropriate techniques and tools that support designers in developing and delivering usable systems. Knowledge and experience significantly contribute to producing better design products. Traditionally, design knowledge and experience is conveyed in the form of guidelines. In recent years, there has been a growing interest in design patterns as an effective way of capturing and communicating design knowledge.This thesis contributes to the ongoing debate concerning the benefits of patterns, as they are contrasted to another form of design guidance in the field of web design. The thesis investigates the effect of patterns and guidelines in the development of skills of students acting as novice designers. The aim is to empirically test how patterns and guidelines affect novice designers in creating and evaluating a web site. Its motivation is to advance the understanding of how novices employ and value patterns and guidelines after being introduced to usability issues with the help of these tools. Moreover, this study also highlighted participants' attitudes and preferences towards patterns and guidelines.Three experiments were conducted for the purposes of this research. Each experiment contributed significantly to the understanding of how the next experiment should be carried out, and the findings and lessons learned at each stage have extensively influenced the next stage. Both quantitative and qualitative methods were used to collect and analyze data. Detailed descriptions of the experimental procedures are provided and give insights into the use of patterns and guidelines by novices. The results indicate that patterns and guidelines can successfully communicate usability principles and knowledge to novice designers and can affect the design and evaluation skills of participants.The difference in the overall scores in the design task between the two groups, using subjective and objective metrics, is statistically significant with the patterns group performing better. Results from the design task and the interviews suggest that compound patterns are inferior to simple patterns and do not create a clear picture of all the usability issues involved to novice designers. There is no significant difference between the performances of the two groups in the evaluation task. However, if a comparison is made using difficult to identify errors the patterns group perform significantly better than the guidelines group.The overwhelming preference for a particular format in presenting guidance is patterns even by the participants trained with guidelines. Links to other patterns within the pattern collection and pattern names are not appreciated by participants, although guideline titles are considered to provide useful information and guidance. Patterns are considered by participants as better tools to introduce design principles to novices while guidelines are perceived as tools for more experienced designers. At the same time patterns are suggested as a useful pedagogic tool for teaching.Overall the study represents an important fist step towards comparing patterns with another similar tool for providing guidance to designers. Development of original experimental designs was required since no similar studies have been conducted. The work of this thesis can serve as a starting point for more thorough assessment of design patterns and their potential benefits in designing more usable interfaces and in education as a tool for knowledge transfer and training
    corecore