Series
Doctor of Philosophy with a Major in Computer Science

Series Type
Degree Series
Description
Associated Organization(s)
Associated Organization(s)

Publication Search Results

Now showing 1 - 2 of 2
  • Item
    A case-based approach for supporting the informal computing education of end-user programmers
    (Georgia Institute of Technology, 2010-08-26) Dorn, Brian James
    Software development is no longer a task limited to professionally trained computer programmers. Increasing support for software customization through scripting, the opening of application programmer interfaces on the Web, and a growing need for domain specific application support have all contributed to an increase in end-user programming. Unfortunately, learning to program remains a challenging task, and the majority of end-user programmers lack any formal education in software development. Instead, these users must piece together their understanding of programming through trial and error, examples found online, and help from peers and colleagues. While current approaches to address the difficulties facing end-user programmers seek to change the nature of the programming task, I argue that these challenges often mirror those faced by all novice programmers. Thus, pedagogical solutions must also be explored. This dissertation work investigates the challenges that end-user programmers face from a computer science education perspective. I have engaged in a cycle of learner-centered design to answer the high-level questions: What do users know; what might they need to know; how are they learning; and how might we help users discover and learn what they need or want to know? In so doing, I uniquely frame end-user programming challenges as issues related to knowledge and understanding about computer science. Rather than building new languages or programming tools, I address these difficulties through new types of instructional materials and opportunities for felicitous engagement with them. This work is contextualized within a specific domain of non-traditional programmers: graphic and web designers who write scripts as part of their careers. Through an in-depth, learner-centered investigation of this user population, this dissertation makes five specific contributions: (1) A detailed characterization of graphic and web design end-user programmers and their knowledge of fundamental computing concepts. (2) An analysis of the existing information space that graphic and web designers rely on for help. (3) The implementation of a novel case-based learning aid named ScriptABLE that is explicitly designed to leverage existing user practices while conveying conceptual knowledge about programming. (4) Initial confirmatory evidence supporting case-based learning aids for the informal computing education of web and graphic design end-user programmers. (5) An argument in support of the value of normative computing knowledge among informally trained programmers.
  • Item
    Assessing fundamental introductory computing concept knowledge in a language independent manner
    (Georgia Institute of Technology, 2010-08-26) Tew, Allison Elliott
    Measuring student learning is fundamental to any educational endeavor. A primary goal of many computer science education projects is to determine the extent to which a given instructional intervention has had an impact on student learning. However, the field of computing lacks valid and reliable assessment instruments for pedagogical or research purposes. Without such valid assessments, it is difficult to accurately measure student learning or establish a relationship between the instructional setting and learning outcomes. The goal of assessment research in computer science is to have valid ways of measuring student conceptions of fundamental topics, which will enable both research into how understanding of knowledge in the domain develops as well as enable curricular innovation and reform grounded in this knowledge. My dissertation work focused on three questions regarding assessment of introductory concepts in computer science. How can existing test development methods be applied and adapted to create a valid assessment instrument for CS1 conceptual knowledge? To what extent can pseudo-code be used as the mechanism for achieving programming language independence in an assessment instrument? And to what extent does the language independent instrument provide a valid measure of CS1 conceptual knowledge? I developed the Foundational CS1 (FCS1) Assessment instrument, the first assessment instrument for introductory computer science concepts that is applicable across a variety of current pedagogies and programming languages. I applied methods from educational and psychological test development, adapting them as necessary to fit the disciplinary context. I conducted think aloud interviews and a large scale empirical study to demonstrate that pseudo-code was an appropriate mechanism for achieving programming language independence. Student participants were able to read and reason in the pseudo-code syntax without difficulty and were able to transfer conceptual knowledge from their CS1 programming language to pseudo-code. Finally, I established the validity of the assessment using a multi-faceted argument, combining interview data, statistical analysis of results on the assessment, and exam scores. The contributions of this research are: (1) An example of how to bootstrap the process for developing the first assessment instrument for a disciplinary specific design-based field. (2) Identification that although it may not be possible to correlate scores between computer science exams created with different measurement goals, the validity claims of the individual assessments are not diminished. (3) A demonstration that novice computing students, at an appropriate level of development, can transfer their understanding of fundamental concepts to pseudo-code notation. (4) A valid assessment of introductory computing concepts for procedurally-based introductory computing courses taught in Java, Matlab, or Python at the university level.