Many researchers and educators assume that innate aptitude explains the range of student success in introductory programming courses. In contrast, this project investigates whether students enter computer science classrooms with non-programming knowledge that can be leveraged in learning to program.
Phase 1 includes identifying students' productive non-programming strategies used on questions that are correlated with success on the Advanced Placement Computer Science exam. Students from a major public university, community college and a local high school will participate in the study. Phase 2 includes an experiment to assess the effectiveness of teaching methods designed to leverage these student strategies. Curricular materials are iteratively refined and used in the classroom during phase 3. An external advisory board is involved throughout the project to assess the reliability of methods and the validity of results. Materials and final results are disseminated in phase 4 of the project. Outcomes are expected to include a refined curriculum that can support the success of a more diverse student population.
There have been decades of fruitless searching for reliable correlations between success in introductory computer programming courses and non-programming performance metrics (see [2] for a review). We have used qualitative and quantitative methods to go beyond "correlated" or "not", extending existing computer science education research to understand "how" and "when." Most students first learn computer programming in college and, we argue, bring with them a wealth of untapped academic resources. We have investigated the roles and potential roles of varied resources, including intuitive knowledge, out-of-domain knowledge, and social resources. For example, Lewis [2], analyzing video data of college students, noticed that students frequently use techniques of "critical reading" to understand computer programs. In a programming context, critical reading includes paraphrasing dense segments of code, progressively refining hypotheses regarding the functionality or "meaning" of a segment of code, and using context clues to make inferences about the roles of variables, functions, or specific statements. We assume there are multiple paths to expertise in a domain and that understanding the range of applicability of these resources ultimately contributes to the accessibility of the domain. This research project is motivated by the goal to improve access to computer science. The development of curriculum [10] and research to better understand the teaching and learning of computer science [1-9] help to achieve this goal. In addition, we have directly focused on equity within classrooms to develop theory and best practices for supporting diversity in computer science [11-12]. For example, we have researched the effect of classroom practices in providing more consistent and equitable access to opportunities to learn [4, 12]. We developed a framework for the requirements of an equitable computer science classroom [12]. We extended existing literature by developing a method for measuring equity within a collaborative pair and showing ways that a lack of equity may limit students’ opportunities to learn [11]. Intellectual Merits: Researchers involved in the grant have: Published 10 peer-reviewed papers and a doctoral dissertation. Extended a specific learning theory to computer science for the first time. Won a best paper award, the Chairs’ Award, at the International Computing Education Research Workshop (ICER). Demonstrated that a previous study’s results were not replicated with more recent data. Broader Impacts: Over four years, this project has: Engaged 13 undergraduate students and three graduate students in research and each student has co-authored at least one peer-reviewed paper. Developed recommendations for how to structure collaboration to promote equal learning opportunities. Provided computer science curriculum that is publicly available and has been integrated into another NSF grant (MyCS #1240939). Publications: [1] Lam, A. J., Lewis, C. M., Lu, C., Ornstein, I. B., & Wang, D. (2012). Classifying problems to explain patterns of correlation on the 1988 Advanced Placement Computer Science exam. The Journal of Computing Sciences in Colleges. [2] Lewis, C. M. (2012). Applications of Out-of-Domain Knowledge in Students’ Reasoning about Computer Program State. (Doctoral dissertation). Retrieved from ProQuest Dissertations and Theses. (Accession Order No. 12710). [3] Lewis, C. M. (2012). The Importance of Students' Attention to Program State: A Case Study of Debugging Behavior. Proceedings of the International Computer Science Education Research Workshop. Auckland, NZ. 127-134. [4] Lewis, C. M. (2011). Is pair programming more effective than other forms of collaboration for young students? Computer Science Education. 21(2). 105-134. [5] Lewis, C. M., Bhattacharyya, V., Dominguez, N., Esper, S., Fa-Kaji, N., & Schlesinger, A. (2014). Children’s perception of what counts as a programming language. The Journal of Computing Sciences in Colleges. 29(4), 123-133. [6] Lewis, C. M., Khayrallah, H., & Tsai, A. (2013). Mining data from the AP CS A exam: patterns, non-patterns, and replication failure. Proceedings of the International Computer Science Education Research Workshop. San Diego, CA, USA. 115-122. [7] Lewis, C. M. & Shah, N. (2012). Building Upon and Enriching Grade Four Mathematics Standards with Programming Curriculum. ACM SIGCSE Bulletin. 43(1). 57-62. [8] Lewis, C. M., Titterton, N., & Clancy, M. (2011). Developing students' self-assessment skills using lab-centric instruction. The Journal of Computing Sciences in Colleges. 26(4). 173-180. [9] Lewis, C. M., Titterton, N., & Clancy, M. (2012) Using Collaboration to Overcome Disparities in Java Experience. Proceedings of the International Computer Science Education Research Workshop. Auckland, NZ. 79-86. [10] muddx.com (n.d.) Online curriculum: Programming in Scratch: Making Music, Movies, and Games with Computers. [11] Shah, N., Lewis, C. M., & Caires, R. (2014) Analyzing Equity in Collaborative Learning Situations: A Comparative Case Study in Elementary Computer Science. International Conferences of the Learning Sciences (ICLS). [12] Shah, N., Lewis, C. M., Caires, R., Khan, N., Qureshi, A., Ehsanipour, D., & Gupta, N. (2013). Building Equitable Computer Science Classrooms: Elements of a Teaching Approach. ACM SIGCSE Bulletin. 44(1). 263-268.