17 research outputs found
Assessing fundamental introductory computing concept knowledge in a language independent manner
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.Ph.D.Committee Chair: Guzdial, Mark; Committee Member: Bruckman, Amy; Committee Member: Cooper, Stephen; Committee Member: Fincher, Sally A.; Committee Member: McCracken, W. Michae
Tracking an Innovation in Introductory CS Education from a Research University to a Two-Year College
Innovations in teaching and learning computer science education can easily be overly-specific to a given institution, or type of institution. For example, an innovation may require special hardware, or may make assumptions about the background of the students. This paper tracks one such innovation, a multimedia-focused introductory computing course, as it moved from a research-focused university to a public two-year college. At both institutions, the new course resulted in dramatically improved retention. Students at the two-year college were even more motivated and more positive about computing after the course than students at the research university. The results suggest ways of approaching innovation that is easily adaptable to other institutions
Imagineering inauthentic legitimate peripheral participation: An instructional design approach for motivating computing education
Since its publication, Lave and Wenger’s concept of legitimate peripheral participation (LPP) [18] has become an important concept for understanding situated learning. LPP states that learning only occurs when students perceive that what’s being taught is aligned with their goals (in LPP terms, with the students ’ perceived community of practice). This has implications for our traditional CS courses (e.g., are we teaching what the students perceive as being relevant for their future careers?), but even greater implications for courses for non-CS majors. When computer science educators are asked to teach non-CS majors, we are often placed in the position of teaching in alignment with a community of practice that does not, or does not yet, exist. In that sense, our teaching is inauthentic—not aligned with a community of practice. However, there is the possibility that we can generate a perception of authenticity or alignment. We use the example of two classes at Georgia Tech that seem successful by several measures, yet suffer this inauthenticity. We propose that a useful tool for understanding how these classes work is the Disney Corporation’s Imagineering—their process of storytelling in three-dimensions as used in their theme parks. However, in the end, we find that what students actually learn is not necessarily the story that we are telling them, which points toward future research
Computer Science Construct Use, Learning, and Creative Credit in a Graphic Design Community
End-users, who are projected to outnumber professional
programmers in the next decade, present a
unique opportunity to understand how computer science
knowledge is acquired in the real world. We
conducted an analysis of projects created by end-user
programmers to discern their adoption of introductory
computing constructs. A variety of project sizes were
represented in the data, ranging from fewer than 100
lines of source code to greater than 1500. Many introductory
computing constructs were highly adopted,
but some were relatively unused. As these variations in
adoption could be indications of topic complexity, we
compared our findings to previous work in the novice
programming literature. Additionally, a data-driven
analysis provided insight into user sharing and reuse
practices. Many distinct approaches to copyright and
code ownership concerns were found in the projects
studied, and their potential impact on end-user learning
was considered
Introductory Computing Construct Use in an End-User Programming Community
Previous studies of end-user programmers have indi-cated a reliance on related examples for learning. Ac-cordingly, we analyzed the projects contained in an on-line community with respect to their use of introductory computing constructs. In general, the projects resemble those of novice programmers, implying the opportunity for supporting additional learning. Project authors ’ at-tention to matters of intellectual property may also di-rectly impact other end-users ’ willingness to learn. 1
Impact of Alternative Introductory Courses on Programming Concept Understanding
Computer science has long debated what to teach in the introductory course of the discipline, and leaders in our field have argued that the introductory course approach is critical to student development. We investigated the impact of alternative approaches to introductory computing by considering the questions of what students bring to their second class in computing and how the outcomes differ depending on the students ’ alternative first course. Our study showed significant differences in understanding of introductory concepts, such as iteration, conditionals, and arrays, at the beginning of the second course. However, by the end of the second course their understanding had converged