11 |
Developing high-fidelity mental models of programming concepts using manipulatives and interactive metaphorsFuncke, Matthew January 2015 (has links)
It is well established that both learning and teaching programming are difficult tasks. Difficulties often occur due to weak mental models and common misconceptions. This study proposes a method of teaching programming that both encourages high-fidelity mental models and attempts to minimise misconceptions in novice programmers, through the use of metaphors and manipulatives. The elements in ActionWorld with which the students interact are realizations of metaphors. By simple example, a variable has a metaphorical representation as a labelled box that can hold a value. The dissertation develops a set of metaphors which have several core requirements: metaphors should avoid causing misconceptions, they need to be high-fidelity so as to avoid failing when used with a new concept, students must be able to relate to them, and finally, they should be usable across multiple educational media. The learning style that ActionWorld supports is one which requires active participation from the student - the system acts as a foundation upon which students are encouraged to build their mental models. This teaching style is achieved by placing the student in the role of code interpreter, the code they need to interpret will not advance until they have demonstrated its meaning via use of the aforementioned metaphors. ActionWorld was developed using an iterative developmental process that consistently improved upon various aspects of the project through a continual evaluation-enhancement cycle. The primary outputs of this project include a unified set of high-fidelity metaphors, a virtual-machine API for use in similar future projects, and two metaphor-testing games. All of the aforementioned deliverables were tested using multiple quality-evaluation criteria, the results of which were consistently positive. ActionWorld and its constituent components contribute to the wide assortment of methods one might use to teach novice programmers.
|
12 |
How does a collaborative community affect diverse students' engagement with an open source software project : a pedagogical paradigmMorgan, Becka S. 20 November 2012 (has links)
Open Source Software (OSS) communities are homogenous and their lack of diversity is of concern to many within this field. This problem is becoming more pronounced as it is the practice of many technology companies to use OSS participation as a factor in the hiring process, disadvantaging those who are not a part of this community. We should expect that any field would have a population that reflects the general population given no constraints. The constraints within OSS are documented as being a hostile environment for women and minorities to participate in. Additionally OSS communities rely predominately on volunteers to create and maintain source code, documentation, and user interface as well as the organizational structure of the project. The volunteer nature of OSS projects creates a need for an ongoing pool of participants.
This research addresses the lack of diversity along with the continual need for new members by developing a pedagogical paradigm that uses a collaborative environment to promote participation in an OSS project by diverse students. This collaborative environment used a Communities of Practice (CoP) framework to design the course, the indicators of which were used to operationalize the collaboration. The outcomes of this course not only benefit the students by providing them with skills necessary to continue participation and experience for getting a job, but also provide a diverse pool of volunteers for the OSS community. This diverse pool shows promise of creating a more diverse culture within OSS.
In the development of this pedagogical paradigm this research looked primarily at student���s perception of the importance of their group members and mentors provided to guide their participation in and contribution to an OSS community. These elements were used to facilitate the formation of a CoP. Self-efficacy was also used as a measure; an increase in self-efficacy is associated with the successful formation of a CoP. Finally the intent to continue, as reported by students, was measured to determine the potential contribution to the OSS community overall.
This research was designed to use collaboration to support the formation of a CoP within the groups formed between students based on common interests in the OSS project. Additionally students were provided with a mentor from the community to assist in finding paths to contribute. The Ubuntu project was chosen for its commitment to diversity and its reputation for being a welcoming environment to newcomers, reducing the risk of negative community interactions for students. Written reflections were gathered at mid and end of term and used in conjunction with transcripts or reports of group meetings as well as emails between mentors and mentees. Additionally self-efficacy was measured at the beginning and end of the term.
The results of this study show that this pedagogical paradigm supports student contribution. Contribution levels were found to be associated with the level of the formation of a CoP within each group and the use of mentors, as well as attending a live, hands-on bug triage demo and the Global Jam, to gather resources. It was also evident that students intend to continue participating at a rate higher than the average rate for newcomers trying to contribute without the type of support offered by this class. Further research into the examination of the use of reflective dialogue with mentors is recommended. It is also recommended that the results from the operationalization of the indicators of the formation of a CoP be used to assist in a more consistent formation of this important resource across more groups within the class.
The results of this research point to the effectiveness of this paradigm to promote contributions to an OSS community. These contributions provide the skills students need to improve their attractiveness to future employers. This class also produced a number of students who intend to continue participating in OSS, providing a diverse pool of potential volunteers to the OSS community. / Graduation date: 2013
|
13 |
Memory and cognition of computer programmers.January 1989 (has links)
by Siu-yee Wong. / Thesis (M.Phil.)--Chinese University of Hong Kong, 1989. / Bibliography: leaves 39-41.
|
14 |
Strategies and behaviors of end-user programmers with interactive fault localizationPrabhakararao, Shreenivasarao 03 December 2003 (has links)
End-user programmers are writing an unprecedented number of programs, due in large
part to the significant effort put forth to bring programming power to end users.
Unfortunately, this effort has not been supplemented by a comparable effort to increase
the correctness of these often faulty programs. To address this need, we have been
working towards bringing fault localization techniques to end users. In order to understand
how end users are affected by and interact with such techniques, we conducted a
think-aloud study, examining the interactive, human-centric ties between end-user
debugging and a fault localization technique for the spreadsheet paradigm. Our results
provide insights into the contributions such techniques can make to an interactive end-user
debugging process. / Graduation date: 2004
|
15 |
Understanding and supporting end-user debugging strategies /Grigoreanu, Valentina. January 1900 (has links)
Thesis (Ph. D.)--Oregon State University, 2010. / Printout. Includes bibliographical references (leaves 223-236). Also available on the World Wide Web.
|
16 |
Software development and continual change : a programmer's attitude problemHarwood, Philip Andrew January 1997 (has links)
Software forms around a requirement. Defining this requirement is often regarded as the hardest part of software engineering. The requirement however has an additional complexity as, once defined, it will change with time. This change of requirement can come either from the user, or from the rapid advances in 'computer' technology. How then can software succeed to continue to remain 'current' both in terms of requirements and technology in this forever changing environment? This thesis examines the issues surrounding 'change' as applied to software and software engineering. Changing requirements are often deemed a 'curse' placed upon software engineers. It has been suggested, however, that the problems associated with change exist only in the attitude of software engineers. This is perhaps understandable considering the training methods and tools available to supposedly 'help' them. The evidence shows that quality of management and experience of personnel involved in development contribute more significantly to the success of a development project than any technical aspect. This unfortunately means that the process is highly susceptible to staff turnover which, if uncontrolled, can lead to pending disaster for the users. This suggests a 'better' system would be developed if 'experience' was maintained at a process level, rather that at an individual level. Conventional methods of software engineering are based upon a defined set of requirements which are determined at the beginning of the software process. This thesis presents an alternative paradigm which requires only a minimal set of requirements at the outset and actively encourages changes and additional requirements, even with a mature software product. The basis of this alternative approach is the fonn of the 'requirements specification' and the capturing and re-use of the 'experience' maintained by the software process itself.
|
17 |
Equity among male and female engineersMoorcroft, Karen. January 1996 (has links)
The following research used data from the SSE to determine whether socialization or discrimination can explain the lower status of female engineers, compared to men. It was learned that female engineers with children are as committed to their careers as childless female engineers. Moreover, there is no difference in income or job status between these two groups. There is also no significant difference in income between male and female engineers when controlling for employment status, degree, job status and experience. However, female engineers are not found in management positions as often as their male colleagues, even after controlling for experience. This lower job status, in turn, affects the women's incomes. A reason for the lower status of female engineers is likely due to engineering being very male-dominated. No such difference in job status exists in the field of computer science, where the proportion of women is much higher.
|
18 |
Code strings: a new program plan recognition model /Garvin, Michael James, January 1900 (has links)
Thesis (M.App.Sc.) - Carleton University, 2002. / Includes bibliographical references (p. 69-70). Also available in electronic format on the Internet.
|
19 |
Facilitating software reuse by structuring the SPS user interface management system's software library according to programmer mental models /Jenkins, Joseph A. January 1994 (has links)
Thesis (Ph. D.)--Virginia Polytechnic Institute and State University, 1994. / Vita. Abstract. Includes bibliographical references (leaves 105-108). Also available via the Internet.
|
20 |
Equity among male and female engineersMoorcroft, Karen. January 1996 (has links)
No description available.
|
Page generated in 0.0862 seconds