In this article we quantitatively and qualitatively analyze a sample of novice programmer compilation log data, exploring whether (or how) low-achieving, average, and high-achieving students vary in their grasp of these introductory concepts. High-achieving students self-reported having the easiest time learning the introductory programming topics. In a quantitative analysis, though, high-achieving and average students were: 1) more effective at debugging (on average, as quantified by Jadud's Error Quotient (EQ)) than low-achieving students; and 2) were least confused, as quantified using Lee's confusion metric. However, the differences in EQ and confusion between groups were not statistically significant. This implied that all groups struggled with programming to similar extents.
Cognitive theories of how programmers produce code suggest that novices' approaches are primarily driven by the retrieval of previously-learned plans. These plans can be high-level, focusing on task decomposition and composition, or low-level, focusing on code implementations. These theories, however, do not describe how novices move between high-level tasks and low-level code, especially when faced with novel problems. Understanding these transitions can help concretely tease out why and where novices struggle and how they use their knowledge of plans and design techniques when they get stuck.We studied this by conducting think-alouds with CS1 students at two universities as they solved multi-task programming problems with unfamiliar components. Our analysis paid particular attention to a series of design techniques that the students had been explicitly taught in their respective courses. We identified patterns of high-and low-level thinking that relate to students' success on the problems, and propose a concrete framework of high-and low-level work that summarizes the transitions that we observed.
CCS CONCEPTS• Social and professional topics → Computer science education; CS1; • Human-centered computing → User studies.
When students are faced with a programming problem unlike any they have solved before, prior research suggests that they develop code backwards from essential computations in the problem. Some curricula, however, teach students to first write scaffolding code based on the type of the input data. How do these two approaches interact? We gave CS1 students who were taught to write scaffolding code a programming problem unlike any they had seen before. We found that while students put essential computations into the scaffolds, they often overuse affordances of the scaffolds in ways that lead to plan-composition errors. We propose that steering students away from on-the-fly decomposition while programming could help avoid some of these errors.
In January 2013, the eHealth TABLET (Technology Assisted Boards for Local government unit Efficiency and Transparency) project began with a two-fold objective of: 1) creating a tablet based system that will integrate existing health information systems to address the national objective of a unified health information management system by 2015 and 2) to create a transparency layer at the local government units such that communication lines between municipal health officers and the mayor are monitored. Bottom up approach was used to ensure that all features requested by multi-stakeholders are included in the design of the system. The end product was a mobileweb based system with the mobile application having three main components: the electronic medical record (EMR) application which comprises of the patient record and diagnosis module, the requests/approval application, and the dashboard application for data visualization. Responding to the needs of intended users, the web based application provides the following features: web auxiallry entry, aggregated disease report application and usage monitoring . Regular usage monitoring increased usage over time. For ICT development projects in public health, iteratve involvement of multi-stakeholders is necessary to ensure higher acceptance and adoption. From a design perspective, technologies should be designed to be interoperable such that interfacing with existing systems will be seamless.
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.