Research
Papers and Publications
-
The Beauty and Joy of Computing: CS Curricula That Scales from Middle School to University
paper
Michael Ball, Dan Garcia, Mary Fries, Marnie Hill, Della Dastur, Lauren Mock. (2026). Proceedings of the 57th ACM Technical Symposium on Computer Science Education V.2.
-
Snap! 10 --- From Blocks to AI: Empowering Learning with Custom Primitives and Machine Learning
paper
Victoria Phelps, Michael Ball, Dan Garcia, Yuan Garcia. (2025). Proceedings of the 56th ACM Technical Symposium on Computer Science Education V. 2.
-
Igniting Curiosity with BJC Sparks: A Transformative Curriculum for Middle and High School Computer Science
paper
Daniel Garcia, Mary Fries, Michael Ball, Lauren Mock. (2024). Proceedings of the 55th ACM Technical Symposium on Computer Science Education V. 2.
-
Beauty and Joy of Computing
workshop
Michael Ball, Lauren Mock, Dan Garcia, Tiffany Barnes, Marnie Hill, Mary Fries, Pamela Fox, Yuan Garcia. (2022). Proceedings of the 53rd ACM Technical Symposium on Computer Science Education V. 2.
-
Snap! 8 - Smart Script Pics and Metaprogramming for All!
paper
Michael Ball, Dan Garcia, Yuan Garcia. (2022). Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 2.
-
Ten Years of Snap! - Where Should We Go Next?
paper
Michael Ball, Dan Garcia, Yuan Garcia. (2022). Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 2.
-
Snap! 7 - Microworlds, Scenes, and Extensions!
paper
Dan Garcia, Michael Ball, Yuan Garcia. (2022). Proceedings of the 53rd ACM Technical Symposium on Computer Science Education V. 2.
-
An Introduction to the Beauty and Joy of Computing for Theological Librarians
paper
external work
Clifford B. Anderson, Gayathri Narasimham. (2022). Digital Humanities and Libraries and Archives in Religious Studies.
-
Snap!6, Introducing Hyperblocks!
paper
Dan Garcia, Michael Ball. (2021). Proceedings of the 52nd ACM Technical Symposium on Computer Science Education.
-
Teaching with the Beauty and Joy of Computing – AP CSP and More!
paper
Marnie Hill, Dan Garcia, Tiffany Barnes, Lauren Mock, Michael Ball, Amy Isvik, Dave Bell. (2021). Proceedings of the 52nd ACM Technical Symposium on Computer Science Education.
-
Snap! v5, Our Biggest, Feature-filled Release Ever!
paper
Dan Garcia, Michael Ball. (2020). Proceedings of the 51st ACM Technical Symposium on Computer Science Education.
-
The AP Computer Science Principles Exam
paper
Hannah E. Chipman, Marnie Hill, Tiffany Barnes. (2020). Proceedings of the 51st ACM Technical Symposium on Computer Science Education.
-
Building Blocks for Powerful Ideas: Designing a Programming Language to Teach the Beauty and Joy of Computing
paper
external work
Jens Mönig. (2020). Actas del Congreso Internacional de Ingeniería de Sistemas.
Show Abstract
Snap! is a cloud-native graphical programming environment and an online community. It is the programming language made for UC Berkeley’s popular introductory CS course named “The Beauty and Joy of Computing”. Snap! is taught in colleges and high schools across the U.S. from Palo Alto to Philadelphia. It has been translated to more than 40 languages and is used around the world—from Göttingen to Beijing—for teaching and research. Snap! has been designed for inclusion. Its low floor welcomes beginners and its multi-media capabilities invite creative thinkers of all ages. At the same time, Snap! offers sophisticated abstractions that make it suitable for an intellectually rigorous introduction to computer science.
-
The Beauty and Joy of Computing Curriculum and Teacher Professional Development
paper
Michael Ball, Lauren Mock, Dan Garcia, Tiffany Barnes, Marnie Hill, Alexandra Milliken, Joshua Paley, Efrain Lopez, Jason Bohrer. (2020). Proceedings of the 51st ACM Technical Symposium on Computer Science Education.
-
Fostering Engagement and Creativity through Programming: The Beauty and Joy of Computing in a First-year Engineering Class
paper
external work
Federico Meza, Nicolás Torres, Andrea Vásquez. (2020). 2020 39th International Conference of the Chilean Computer Science Society (SCCC).
Show Abstract
There is a growing interest in learning computer programming even among students from majors other than computer science (CS). Many universities offer a common Introduction to Programming (CS1) course, but this approach is usually detrimental to those who are not pursuing a CS major. This article is an experience report that summarizes the results of adapting and implementing the course “The Beauty and Joy of Computing” (BJC) in an Engineering in Product Design first-year class, a group that showed below-average performance in the past. BJC is a course for undergraduate non-CS majors at UC Berkeley, designed to broaden student participation in Computer Science. After a fully online semester of BJC at UTFSM, students showed greater responsibility and commitment when compared to previous cohorts. They also reported greater satisfaction with programming while having a lower attrition rate and comparable final grades to students in the regular CS1 class.
-
Design Principles behind Beauty and Joy of Computing
paper
Paul Goldenberg, June Mark, Brian Harvey, Al Cuoco, Mary Fries. (2020). SIGCSE.
Show Abstract
This paper shares the design principles of one Advanced Placement Computer Science Principles (AP CSP) course, Beauty and Joy of Computing (BJC), both for schools considering curriculum, and for developers in this still-new field. BJC students not only learn about CS, but do some and analyze its social implications; we feel that the job of enticing students into the field isn’t complete until students find programming, itself, something they enjoy and know they can do, and its key ideas accessible. Students must feel invited to use their own creativity and logic, and enjoy the power of their logic and the beauty and elegance of the code by which they express it. All kids need genuine challenge and sensible support so all can have the joy of making—seeing themselves as creators, not just consumers, and seeing that it is their own intellect, not just our instructions, that is the source of that making. Framework standards are woven into a consistent social and intellectual storyline to give the curriculum integrity.
-
Effective computer science teacher professional development: Beauty and joy of computing 2018
paper
Alexandra Milliken, Christa Cody, Veronica Catete, Tiffany Barnes. (2019). ITiCSE 2019.
Show Abstract
The Advanced Placement Computer Science Principles (AP CSP) course has been fully active for 2 years, garnering a large group of diverse students, and flaming the need for highly trained CSP teachers, especially in effective practices for diversity and equity. We have conducted summer professional development (PD) workshops from 2012-2018 which have prepared 748 teachers to teach AP CSP using the Beauty and Joy of Computing (BJC) curriculum. To improve equity and readiness for teaching, we have refined our PD by shortening the PD from 6 weeks to 1 week; developing new, highly scaffolded pre-PD work; and modifying the in-person schedule to incorporate more pedagogy and teaching experiences, while continuing to provide in-depth, hands-on support for teachers to learn the basics of programming. The most recent revisions to our PD schedule resulted in improved post-PD survey results, with teachers from the 2018 cohort planning to adopt more of the BJC curriculum than in past years. From 2017 to 2018, planned adoption rates increased by 13%, resulting in 73% of the 2018 PD participants planning to adopt more than 60% of the BJC curriculum and 58% planning to adopt 80-100% of the BJC curriculum in their classrooms in 2018-2019. In this paper, we discuss the most recent BJC PD implementation and provide evidence of increased teacher self-efficacy in areas including fostering interest in computing for underrepresented populations.
-
Beauty and Joy of Computing: 2016-17 Findings from an AP CS Principles course
paper
June Mark, Kelsey Klein. (2019). SIGCSE 2019.
Show Abstract
This paper reports on findings from the implementation of BJC as an AP CSP course in NYC from the 2016–17 school year with 1,383 students (33% juniors, 44% seniors; 43% female, 27% black, 28% Hispanic, Asian 23%, white 19%; 60% free or reduced price lunch, 2% English language learners, 7% with disabilities). BJC enrollments for 2017-2018 were 2,383 students with higher participation by females, blacks and Hispanics (49% female, 33% black, 29% Hispanic). Students from all demographic groups showed similar gains in content, confidence, interest, belonging, and identity. When excluding 2 high-performing schools from an analysis of 2017 AP CSP scores, 1,192 NYC students from 75 schools took the exam, with about half using the BJC curriculum. Students taught with BJC passed at a significantly higher rate (54.2%) than students not taught with BJC (37.7%).
-
Infusing computational thinking into middle grade science classrooms: lessons learned
paper
V Cateté, N Lytle, Y Dong, D Boulden, B Akram, J Houchins, T Barnes, E Wiebe, J Lester, B Mott, K Boyer. (2018). WiPCSE 2018.
Show Abstract
There is a growing need to present all students with an opportunity to learn computer science and computational thinking (CT) skills during their primary and secondary education. Traditionally, these opportunities are available outside of the core curriculum as stand-alone courses often taken by those with preparatory privilege. Researchers have identified the need to integrate CT into core classes to provide equitable access to these critical skills. We have worked in a research-practice partnership with two magnet middle schools focused on digital sciences to develop and implement computational thinking into life sciences classes. In this report, we present initial lessons learned while conducting our design-based implementation research on integrating computational thinking into middle school science classes. These case studies suggest that several factors including teacher engagement, teacher attitudes, student prior experience with CS/CT, and curriculum design can all impact student engagement in integrated science-CT lessons.
-
Reducing the State Space of Programming Problems through Data-Driven Feature Detection
paper
R Zhi, TW Price, N Lytle, Y Dong, T Barnes. (2018). EDM 2018 - CSEDM Workshop.
Show Abstract
The large state space of programming problems makes providing adaptive support in intelligent tutoring systems (ITSs) difficult. We present a data-driven feature detection algorithm for reducing the state space size, that could allow for more interpretable analysis of student progress as well as easier integration of data-driven feedback.
-
The Impact of Data Quantity and Source on the Quality of Data-driven Hints for Programming
paper
Thomas W. Price, Rui Zhi, Yihuan Dong, Nicholas Lytle, Tiffany Barnes. (2018). AIED 2018. [slides]
Show Abstract
Using two datasets, we investigate how the quantity of data and the source of data (whether it comes from students or experts) impact one hint generation algorithm. We find that with student training data, hint quality stops improving after 15-20 training solutions and can decrease with additional data. We also find that student data outperforms a single expert solution but that a comprehensive set of expert solutions generally performs best.
-
iSnap: Data-driven Support for Novice Programming Informed by Evaluations of Hint Quality and Investigations of Student Help-seeking Behavior
dissertation
Thomas W. Price. (2018). NC State University.
Show Abstract
Dissertation by Thomas W. Price.
-
Creation and validation of low-stakes rubrics for K-12 computer science
paper
Veronica Cateté, Nicholas Lytle, Tiffany Barnes. (2018). ITiCSE 2018.
Show Abstract
This paper builds low-stakes rubrics that support novice CS teachers to consistently assess student programming assignments.
-
Snap on the Scratch wiki
paper
B Harvey. (2018). Scratch Wiki.
Show Abstract
An article on the design of the Snap programming language.
-
Showpiece: ISnap demonstration
paper
Thomas W. Price, Tiffany Barnes. (2017). 2017 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).
-
Evaluation of a Template-Based Puzzle Generator for an Educational Programming Game
paper
Yihuan Dong, Tiffany Barnes. (2017). Proceedings of the AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment.
Show Abstract
Although there has been much work on procedural content generation for other game genres, very few researchers have tackled automated content generation for educational games. In this paper, we present a template-based, automatic puzzle generator for an educational puzzle programming game called BOTS. Two experts created their own new puzzles and evaluated generator-generated puzzles for meeting the educational goals, the structural and visual novelty. We show that our generator can generate puzzles with expert-designed educational goals while saving experts more than 80% of creation time, and these puzzles exhibit structural and visual novelty compared to expert-created puzzles. The contribution of this work is defined and implemented the first template-based automatic puzzle generator that saves expert time while incorporating expert-designed educational goals and enhancing puzzle.
-
Implementing "In-Lab" Autograding for Snap!
paper
Michael Ball. (2017). Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education.
-
Writing Autograders for Snap! And Integrating them Into Your Course
paper
Michael Ball. (2017). Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education.
-
iSnap: towards intelligent tutoring in novice programming environments
paper
TW Price, Y Dong, D Lipovac. (2017). SIGCSE 2017.
Show Abstract
This paper describes a new version of Snap that uses data to provide students with hints while programming.
-
The Continuous Hint Factory-Providing Hints in Vast and Sparsely Populated Edit Distance Spaces
paper
B Paaßen, B Hammer, TW Price, T Barnes. (2017). arXiv preprint.
Show Abstract
Intelligent tutoring systems can support students in solving multi-step tasks by providing a hint regarding what to do next. However, engineering such next-step hints manually or using an expert model becomes infeasible if the space of possible states is too large. We provide a mathematical framework for edit-based hint policies and, based on this theory, propose a novel hint policy to provide edit hints in vast and sparsely populated state spaces. We demonstrate that the Continuous Hint Factory can predict more accurately what capable students would do compared to existing prediction schemes on two learning tasks, especially in an open-ended programming task, and that the Continuous Hint Factory is comparable to existing hint policies at reproducing tutor hints on a simple UML diagram task.
-
Position paper: Block-based programming should offer intelligent support for learners
paper
TW Price, T Barnes. (2017). IEEE Blocks and Beyond Workshop 2017.
Show Abstract
Block-based programming environments make learning to program easier by allowing learners to focus on concepts rather than syntax. We argue that these environments should offer learners support while they program.
-
Factors Influencing Students' Help-Seeking Behavior while Programming with Human and Computer Tutors
paper
TW Price, Z Liu, V Cateté, T Barnes. (2017). ICER 2017.
Show Abstract
Busy instructors and large class sizes can make expert help a scarce resource. This paper presents a qualitative analysis of 15 students’ interviews, in which they reflect on solving two programming problems with human and computer help.
-
Evaluation of a Data-driven Feedback Algorithm for Open-ended Programming
paper
TW Price, R Zhi, T Barnes. (2017). EDM 2017.
Show Abstract
This paper presents a novel, data-driven algorithm for generating feedback for students on open-ended programming problems, annotating a student’s whole program with suggested edits, including code that should be moved, deleted, or added.
-
A Pathway to Strengthening Support for Beauty and Joy of Computing Teachers
poster
Meghana Subramaniam, Veronica Cateté. (2017). SIGCSE 2017.
Show Abstract
In this paper, we introduce a new style of coding rubric, which allows teachers to better understand the fundamentals of the Beauty and Joy of Computing, an AP Computer Science Principles course.
-
Application of the Delphi Method in Computer Science Principles Rubric Creation
paper
Veronica Cateté, Tiffany Barnes. (2017). ITiCSE 2017.
Show Abstract
This research study introduces two variations of the Delphi Method to create learning-oriented rubrics for Computer Science Principles teachers using the Beauty and Joy of Computing curriculum.
-
Generating Data-driven Hints for Open-ended Programming
paper
TW Price, Y Dong, T Barnes. (2016). EDM 2016.
Show Abstract
This paper presented new algorithms to create data-driven hints for Snap and BJC labs.
-
Developing a rubric for a creative CS Principles lab
paper
Veronica Cateté, Erin Snider, Tiffany Barnes. (2016). ITiCSE 2016.
Show Abstract
The “Beauty and Joy of Computing” Computer Science Principles class has inspired many new teachers to learn to teach creative computing classes in high schools. However, new computer science teachers feel under-prepared to grade open-ended programming assignments and support their students’ successful learning. Rubrics have widely been used to help teaching assistants grade programs and are a promising way to support new teachers to learn how to grade BJC programs. In this paper, we adapt general coding criteria from auto-graders to a lab where students write code to draw a brick wall. We tested the rubric on student assignments and showed that we can achieve high inter-rater agreement with the refined rubric.
-
Scaling Up for CS10K: Teaching and Supporting New Computer Science High School Teachers
workshop
Tiffany Barnes, Jamie Payton, Daniel D Garcia. (2016). SIGCSE 2016 Workshop.
Show Abstract
This workshop helped engage college and university computing faculty in supporting local high school teachers in learning to teach computer science.
-
AP CS principles and the beauty and joy of computing curriculum
workshop
Daniel D Garcia, Tiffany Barnes, Michael Ball, Emil Biga, Josh Paley, Marnie Hill, Nathan Mattix, Parisa Safa, Sean Morris, Shawn Kenner. (2016). SIGCSE 2016 Workshop.
Show Abstract
Workshops like this one have been offered at SIGCSE 2012, 2013, 2014, 2016, and 2018
-
Lessons Learned from BJC CS Principles Professional Development
paper
Thomas W Price, Veronica Cateté, Jennifer Albert, Tiffany Barnes, Daniel D Garcia. (2016). SIGCSE 2016.
Show Abstract
From 2012-2015, the BJC team offered professional development (PD) to 133 teachers, resulting in 89 BJC CSP courses taught in high schools. The PD improved teachers’ confidence in our four core content categories and met its primary goal of training teachers in equitable, inquiry-based instruction. In this paper, we present the evolution of the BJC PD, its challenges and lessons that we learned while continually adapting to teachers’ needs and contexts.
-
Lambda in blocks languages: Lessons learned
paper
Brian Harvey, Jens Monig. (2015). 2015 IEEE Blocks and Beyond Workshop (Blocks and Beyond).
-
Computer Science Principles Curricula
paper
Daniel D. Garcia, Owen Astrachan, Bennett Brown, Jeff Gray, Calvin Lin, Bradley Beth, Ralph Morelli, Marie desJardins, Nigmanath Sridhar. (2015). Proceedings of the 46th ACM Technical Symposium on Computer Science Education.
-
Creating data-driven feedback for novices in goal-driven programming projects
paper
Thomas W Price, Tiffany Barnes. (2015). AIED 2015.
Show Abstract
Original proposal to generate hints for novice programs.
-
Comparing textual and block interfaces in a novice programming environment
paper
Thomas W Price, Tiffany Barnes. (2015). ICER 2015.
Show Abstract
A study of two groups of novice programmers showing that students using blocks spent less time off task and completed more of the activity’s goals in less time.
-
Transforming K-12 computing education: AP® computer science principles
paper
external work
J Cuny. (2015). ACM Inroads.
Show Abstract
This critical perspective focuses on the new Advanced Placement® Computer Science Principles course and its place in the larger CS10K Initiative. CS Principles as defined by the College Board is a framework; several different, aligned curricula have been created.
-
The beauty and joy of computing
paper
D Garcia, B Harvey, T Barnes. (2015). ACM Inroads.
Show Abstract
In this article, we share our philosophy, an update on our course design principles, a general flow through our curriculum, the impact BJC has had, and conclude with lessons learned.
-
BJC in action: Comparison of student perceptions of a computer science principles course
paper
Thomas W Price, Jennifer Albert, Veronica Catete, Tiffany Barnes. (2015). RESPECT 2015.
Show Abstract
This paper investigates how the responses of females and students from underrepresented racial minority groups (URMs) differed from those of their counterparts in 399 post-course BJC surveys. We found that female students had taken fewer CS courses prior to BJC but that students from URMs had taken more prior CS courses. Both groups were nearly equally likely to recommend the course to a friend, with about 80% recommending. We found no evidence to suggest that female students showed more or less interest in specific CS topics, such as learning how computing has changed the world or making mobile apps/games. Despite having taken more CS courses prior to BJC, we found that students from URMs were overall less likely to intend to take additional CS courses. Overall, our findings suggest that BJC makes some progress towards broadening participation in computing.
-
The Beauty and Joy of Computing
paper
Dan Garcia, Brian Harvey, Tiffany Barnes. (2015). ACM Inroads.
Show Abstract
In this article, we share our philosophy, an update on our course design principles, a general flow through our curriculum, the impact BJC has had, and conclude with lessons learned.
-
CS Principles Professional Development: Only 9,500 to go! Lessons Learned from our CS10K Summer 2013 PD
paper
Jan Cuny, Diane Baxter, Dan Garcia, Jeff Gray, Ralph Morelli. (2014). SIGCSE.
Show Abstract
Our grand challenge is to scale high-quality computer science curriculum and instruction to reach all high school students. CS10K – an NSF and ACM-sponsored project – is working to do just that by supporting curriculum development, computer education research and professional development through the Computing Education for the 21st Century (CE21) program at NSF. Professional Development (PD) is a key piece of the project, as we need to train 10,000 teachers to teach rigorous computing courses in 10,000 high schools by 2016 – the school year that a new Advanced Placement Course will be rolled out. This panel will provide an overview of the PD landscape and then each panelist will discuss the unique aspects of their PD project for high school teachers.
-
Lessons Learned from "BJC" CS Principles Professional Development
paper
Thomas Prince, Veronica Cateté, Jennifer Albert, Tiffany Barnes, Dan Garcia. (2014). SIGCSE.
Show Abstract
Computer Science Principles (CSP) will become an Advanced Placement course during the 2016-17 school year, and there is an immediate need to train new teachers to be leaders in computing classrooms. From 2012-2015, the Beauty and Joy of Computing team offered professional development (PD) to 133 teachers, resulting in 89 BJC CSP courses taught in high schools. Our data show that the PD improved teachers’ confidence in our four core content categories and met its primary goal of training teachers in equitable, inquiry-based instruction. In this paper, we present the evolution of the BJC PD, its challenges and lessons that we learned while continually adapting to teachers’ needs and contexts.
-
Rediscovering the passion, beauty, joy, and awe: making computing fun again, part 6
paper
DD Garcia, V Barr, M Guzdial, DJ Malan. (2013). SIGCSE 2013.
Show Abstract
Dan Garcia’s passion, beauty, joy, and awe sessions at SIGCSE were inspirations for creating the BJC course.
-
CS principles pilot at University of North Carolina at Charlotte
paper
T Barnes. (2012). ACM Inroads.
-
CS principles pilot at University of California, Berkeley
paper
DD Garcia, B Harvey, L Segars. (2012). ACM Inroads.
-
The first five computer science principles pilots: summary and comparisons
paper
L Snyder, T Barnes, D Garcia, J Paul, B Simon. (2012). ACM Inroads.
Show Abstract
This paper presents the 7 Big Ideas and 6 Computational Thinking practices and descriptions of the first 5 pilots for the AP CSP course.
-
The beauty and joy of computing: Computer science for everyone
paper
B Harvey. (2012). Proceedings of Constructionism.
Show Abstract
“The Beauty and Joy of Computing” is a computer science course for undergraduate non-majors that combines a deep programming experience with lectures, readings, and discussions about nonprogramming topics such as the social context of computing and the future and limitations of computing. The course is designed to appeal to a wide range of students, including women and underrepresented minorities. The programming half of the course uses BYOB, an extension to Scratch adding first class procedures, lists, and objects. The course has been chosen as one of the pilots for a coming (2016) high school Advanced Placement exam. Our current work includes further curriculum development, an NSF-funded teacher preparation program, and the implementation of SNAP!, a new browser-based version of BYOB.
-
CS Principles Pilot at University of California, Berkeley
paper
Dan Garcia, Brian Harvey, Luke Segars. (2012). ACM Inroads.
Show Abstract
The course is intended for non-CS majors. For students in the College of Letters and Sciences, it fulfills the “Quantitative Reasoning” breadth requirement. It is not required for CS majors, but some intended CS majors with no prior programming experience decide to take it as preparation for our first course for CS majors. In addition, many non-CS majors enjoy CS10 enough to continue with the sequence for majors.
-
The Beauty and Joy of Computing: Computer Science for Everyone
paper
Brian Harvey. (2012). Constructionism.
Show Abstract
The Beauty and Joy of Computing is a computer science course for undergraduate non-majors that combines a deep programming experience with lectures, readings, and discussions about nonprogramming topics such as the social context of computing and the future and limitations of computing. The course is designed to appeal to a wide range of students, including women and underrepresented minorities. The programming half of the course uses BYOB, an extension to Scratch adding first class procedures, lists, and objects. The course has been chosen as one of the pilots for a coming (2016) high school Advanced Placement exam. Our current work includes further curriculum development, an NSF-funded teacher preparation program, and the implementation of Snap!, a new browser-based version of BYOB.
-
Rediscovering the passion, beauty, joy, and awe
paper
Daniel D. Garcia, Michele Friend Hutton, Eugene Lemon, Josh Paley. (2011). Proceedings of the 42nd ACM technical symposium on Computer science education.
-
CS principles: piloting a new course at national scale
talks
O Astrachan, T Barnes, DD Garcia, J Paul, B Simon, L Snyder. (2011). SIGCSE 2011 Panel.
-
Lessons from a course on serious games research and prototyping
paper
A Chaffin, T Barnes. (2010). Proceedings of the Fifth International Conference on the Foundations of Digital Games.
Show Abstract
Tiffany Barnes’s work on teaching serious game research and prototyping to students inspired her to introduce creative student-driven projects in introductory computing as in BJC.
-
Bringing "no ceiling" to scratch: Can one language serve kids and computer scientists
paper
B Harvey, J Mönig. (2010). Proceedings of Constructionism.
Show Abstract
By combining graphical drag-and-drop user interface of Scratch and key ideas, such as procedures as first class data, from the Scheme language, this paper describes the ideas for Snap, a programming language that can support a rigorous introductory computer science curriculum.
-
Bringing "No Ceiling" to Scratch: Can One Language Serve Kids and Computer Scientists?
paper
Brian Harvey, Jens Monig. (2010). Constructionism.
Show Abstract
‘Scratch is a computer programming language for children, with a graphical drag-and-drop user interface. It is a descendent of Logo, developed at the MIT Media Lab. A small but growing trend among universities is to develop computer science courses for non-majors using Scratch as the programming environment, because it isn’‘t threatening - the same reason it works for kids. Also, the visible use of multiple threads in Scratch provide a simple introduction to parallelism. One such course was piloted this year at the University of California, Berkeley: “The Beauty and Joy of Computing.” But Scratch has weaknesses as a programming language. Most notably, it lacks procedures, so it can’t convey the impressive phenomenon of recursion, one of the central ideas of computer science (and also one of the central ideas of early Logo pedagogy). Its support for data structures is also weak. These weaknesses aren’t oversights; the designers of Scratch deliberately avoided cluttering the language with anything a child might find threatening. To serve these two audiences, it has been proposed to split the Scratch community with two versions of the language, one for kids and one for advanced users. We believe that this is not necessary. By taking key ideas, such as procedures as first class data, from the Scheme language, we can add only a few features to Scratch and still make it powerful enough to support a serious introductory computer science curriculum. Furthermore, the graphical interface of Scratch makes the reification of procedures as data seem much less abstract and intimidating to novices.
No publications match your filters.
Our "FRABJOUS CS" (Framing a Rigorous Approach to Beauty and Joy for Outreach to Underrepresented Students in Computing at Scale) NSF-funded project: one-page summary and full proposal.
"And, has thou slain the Jabberwock?
Come to my arms, my beamish boy!
O frabjous day! Callooh! Callay!"
He chortled in his joy.