NSF Awards: 1441075
2016 (see original presentation & discussion)
Grades 9-12
The Beauty and Joy of Computing project is adapting a UC Berkeley computer science course for AP Computer Science Principles with the goal of helping under-represented students enjoy and succeed in computer science. The course uses Snap! (a complete, visual language) to teach the programming topics required for the AP exam and several additional topics including recursion and higher order functions. The text “Blown to Bits” and current events about technology are used to support classroom discussions of the social implications of computing. The curriculum is being piloted and refined through a partnership with schools in New York City as well as elsewhere in the US.
Elc Estrera
Senior Research Analyst
This looks like a very promising curriculum. Are there plans to conduct an evaluation? If an evaluation has already been conducted, what were the results?
Brian Harvey
Teaching Professor Emeritus
We are currently a year into a project that will
bring BJC to 100 New York City public high schools.
25 teachers are in their first year with BJC right now,
and another 30 are partway through our teacher workshop.
We are collecting data from these schools, and will have
even more to collect when the CSP exam starts next year.
We expect final publishable data in 2018, but are using
preliminary data to guide the next round of curriculum
refinement.
Wendy Martin
Hi Katie, Brian, June and Aankit;
Great video! Glad to hear that BJC seems to be working well in NYC schools, and is particularly appealing to girls (since I have a girl in NYC schools!). What kinds of products do the students develop? Have you had technology access issues as you scale up the program?
Mary Fries
Curriculum/Instructional Materials Designer
Hi Wendy, Brian responded below. Another idea: in one sitting, you can create a simple app yourself as an example of a product by working through Unit 1 Programming Lab 1, Building an App on http://bjc.edc.org.
Big thanks also to Michelle Kennedy and the BJC students at R.F. Wagner SSAT for letting us film their great work!
Brian Harvey
Teaching Professor Emeritus
Thanks! The praise should really go to Mary Fries, who organized the video work.
We don’t have final projects from New York kids yet, but go to
https://www.youtube.com/results?search_query=BJ...
to see projects from earlier students elsewhere (and some false hits).
Technology access was a common problem at the beginning of the school year, but it’s been pretty smooth since then. The people who run our back end server did have to increase the number of computers dedicated to Snap! this year, and eventually we’re going to have to find a funding model not dependent on the generosity of one small company (MioSoft — no relation to Microsoft).
Julie Steimle
I enjoyed your video. What data are you collecting now while you wait for the AP CSP to be officially offered next year?
Mary Fries
Curriculum/Instructional Materials Designer
This first year, our data include responses on student pre/post attitude surveys, teacher unit feedback, and student and teacher pre/post content assessments, which are similar to and cover the same Big Ideas as the AP CSP exam and also cover recursion and higher order functions.
Your user feedback data can be included if you click the blue feedback button in the lower right of any page on http://bjc.edc.org.
Thanks!
June Mark
Managing Project Director
Hi Julie, Thanks for your message. Regarding data collection, we are collecting formative data from teachers and students to inform improvements to the curriculum, and data on changes in teacher and student knowledge and attitudes. One of the challenges is that there is little instrumentation specific to computer science education. When the AP CSP exam is launched, we also hope to collect and use student scores on that exam. thanks, june
Barbara Ericson
I am glad to hear that you have a variety of projects in BJC including art projects. I am also glad to hear that the teacher thinks it is particularly effective for females. Are you doing any pre and post attitude surveys to see how much the students attitudes change over the course?
Mary Fries
Curriculum/Instructional Materials Designer
Yes. We have over 500 responses on the pre attitude survey this year. We look forward to reviewing the complete year 1 dataset soon and to refining the instrument for the second year. Thanks!
June Mark
Managing Project Director
Hi Barbara, We are adapting and using some self-efficacy measures (including identity and belongingness) that have been used in other computer science education projects. An important outcome of the work that we’re investigating is whether the course helps to attract more girls and students from groups typically underrepresented in computing (mainly Black and Hispanic students) to computer science. thanks, june
E Paul Goldenberg
Hi Barbara, and thanks for the question. Because Nicole (below) asked a similar question about student attitude change (and because we don’t yet really know outcomes), I’m combining a response to your question with hers. I /should/ know the answer to the actual question you asked—which was not about the results of our research but about how we are conducting the research—but I’m not the expert there, and so will leave that to someone who could respond with more detail.
Nicole Reitz-Larsen
Educator
It was great to hear from students in the video. The curriculum sounds engaging with a variety of collaborative projects that allow students to work in groups pair programming and working collaboratively.
I would also be interested to hear about students attitudes and how many of them decide to take additional cs courses in high school or college after taking this class?
Can you share a little about the teacher professional development program. What is the length of the pd, what are the background of the teachers, what kind of support do the teachers receive?
June Mark
Managing Project Director
Hi Nicole, We are looking at student attitudes as part of the research and evaluation efforts in the project as well as whether students plan to take additional CS courses. The professional development program in NYC is a six-week blended program in the spring/summer before teachers start to use the curriculum, and 5 Saturday sessions during the school year. The PD is extensive in part because many teachers come to the program with little or no CS experience. The PD focuses on teacher learning of the curriculum, planning for implementation, and building a community among teachers to support each other during implementation. Let me know if you want further details. thanks, june
E Paul Goldenberg
Hi Nicole and thanks for the comment. Our first cohort of students is just finishing their year of the first draft of BJC, so there’s lots we don’t yet know about the outcome, except by observation in class. Seeing excited and engaged students is, of course, wonderfully encouraging—and, comparing that to some other school experiences, we know it is it’s own kind of contribution—but, all that excitement aside, it doesn’t really tell us about changed attitudes or content knowledge. We /will/ know, but don’t know yet.
The professional development is an intriguing puzzle to solve, itself because teachers come with such a wide variety of backgrounds. A few have taught technology-related courses (some, even programming), more have taught mathematics, but a significant number come as teachers of studio art, social studies, English language arts and, if I’m remembering correctly, theater arts.
Treating these rather crudely as /two/ groups—STEM-like and non-STEM-like backgrounds—learning to teach BJC presents /different/ challenges for each group. There is a serious social-issues component to BJC, involving managing classroom discussion, that is typically less part of the repertoire and knowledge/attention (both content and classroom technique) to the STEM-background teachers; and, of course, the programming is less like the content the non-STEM teachers have learned or taught. And managing a /lab/ environment (for programming) and the problem-solving that is inherent in building working programs is familiar perhaps only to the small number of teachers who have taught hands-on engineering or technology before.
Our main PD model has two parts. One is a six week program: one face to face at the start, four weeks of independent work on line (with opportunities to interact with each other and instructor and with an /optional/ week interacting in person for extra support) and then one face to face week at the end. The first face to face week and the on-line work are (necessarily) pretty programming heavy, though that first week also takes the social-implications idea seriously. The last week is adjusted to the group, but includes more attention to the pedagogy—just how /does/ one teach this stuff (programming, discussion, problem solving) to kids?—than the first weeks. The second PD component is academic-year periodic meetings, some focused specifically on BJC, and, in New York City, some with the teachers of the various other computing-related programs that they have.
Speaking personally, I’ve been super-impressed with the teachers we’ve seen. Clearly there’s some self-selection involved, but they are so committed to their kids and so intrepid about taking on a brand new demanding curriculum in what, for some of them, is also a brand new demanding subject.
Mary Fries
Curriculum/Instructional Materials Designer
Thanks everyone for your great comments! We encourage anyone interested in the Beauty and Joy of Computing AP Computer Science Principles Course to visit http://bjc.edc.org and try out Unit 1 Programming Lab 1, Building an App. It’s a quick introduction to how BJC looks to students. Enjoy!
Jane Strohm
The diverse computing curriculum is great! I know from my own experience trying to learn to program as an adult, I was struck by the traditional methods and abstract problems that didn’t connect to my daily life. The labs were done in isolation and led to a lot of frustration. The collaborative environment of your program seems to encourage diverse thinking and helps every one see that they can think computationally and solve really interesting problems. I wish I had been exposed to computing consistently throughout my school years and look forward to the inclusion of computer science standards in the national curriculum. Since your program targets AP students, what efforts are you aware of or involved with to engage younger students with these same curricular designs?
Brian Harvey
Teaching Professor Emeritus
CS Principles (not just BJC) is a funny neither-fish-nor-fowl kind of course. It’s an AP because that’s how they get school districts around the country to permit it and principals to schedule it — parents love AP credit. But at the same time it’s explicitly aimed at just the kind of kids who don’t see themselves as “AP kids.” We think pretty much any high school student who’s had enough algebra to know what a variable is, and what a function is, can get through BJC. We are relying on the teachers to get the word out to kids that this is a course for everyone. And we’re hoping that after the first year in a particular school, kids will tell younger kids about it!
E Paul Goldenberg
Yes, /and/ we’re hoping that students who discover that they love it will attract in students of “AP age” who were initially put off by the AP label. We’ve been thinking about the younger kids since the beginning of our work on this course, and see parts of this course, and relatively easy adaptations of other parts, quite accessible to younger students. Thanks for your comment!
Kathy Haynie
Great video – very nicely explained and sequenced.
Jeff Forbes
Associate Professor of the Practice
Thanks for sharing! The curriculum’s connection to current events in technology is particularly interesting. How are teachers able to find relevant current events that have connections to the lessons? How do teachers update those lessons so that events remain current?
Brian Harvey
Teaching Professor Emeritus
Hi, Jeff!
Finding stories is easy. When I teach the course I rely on the Technology page of the NY Times, the ACM TechNews blog, and the newsletters from EPIC and EFF. I try to bring in stories literally from today’s newspaper! It’s not so important if a story aligns with the official Social Implications topic for that week in the curriculum. The best stories are about socially ambiguous technologies. Is Twitter democratizing? There are always stories about Twitter-fueled revolutions in faraway countries, but famous people (Trump, for example) get many more followers than revolutionaries do. But the really interesting question isn’t the yes-or-no one; it’s “how would you redesign Twitter to be more democratizing than it is?” That gets kids thinking as people with some agency in the world, not just as acceptors or complainers.
The teachers I’ve observed also never seem to have trouble finding stories. Also, after a while you can assign this task to kids, in rotation. That way you get some stories that aren’t as pedagogically powerful, but you also get buy-in from the other kids about the activity.
Michelle Kennedy
Hi everyone, thanks for taking the time to watch the Beauty and Joy of Computing in NYC video!
I just wanted to identify myself as the teacher in the video. If you have any questions for me specifically, feel free to ask and I’ll respond to as many as I can.
I look forward to hearing from you!
Stephen Spaeth
Michelle:
I find that BJC’s choice to use Snap intriguing. It is an open source project under active development* since late 2012. It also has spawned several derivatives (e. g. Beetleblocks for 3-D, Snapi for APIs and mapping and others ). As a teacher, do you find challenges or opportunities because the choice to use such a fluid medium for instruction?
The fifth-graders that I mentor for exploration of programming projects make serendipitous discoveries but we are not trying to follow a time-sensitive syllabus: http://buildinprogress.media.mit.edu/projects/3...
Brian Harvey
Teaching Professor Emeritus
Hi, Stephen. Your work with kids and unicycles and computing blows me away!
I know you’re asking Michelle, not me, and I’m not exactly going to answer your question, but I do want to clarify that it’s largely /because of/ BJC that Snap! development is so active. When Jens made the first version, BYOB, it was a proof-of-concept to show the Scratch Team; he wasn’t expecting a big user community. Then I started bothering him with feature requests. :-)
Michelle Kennedy
Stephen, great question.
I find a number of opportunities come with working with such a fluid medium. The updates the Snap! team are making on a regular basis make the program (and therefore the class) much better. More than once this year they’ve added a new feature which improves the interface and the programming experience. Furthermore, the team is always willing to take feedback from the teachers and students in order to improve the user’s experience. The changes could be challenging, but the Snap! team also does a great job of telling us when changes are going to happen and letting us know what we need to do in order to continue running our class smoothly.
Brian Harvey
Teaching Professor Emeritus
Thanks, Michelle! We do try. Jens prioritizes teachers’ bug reports and feature requests over, for example, mine. :-) We do have occasional disasters, but we’re getting better at timing big changes for school vacations.
Caitlin K. Martin
This is very exciting! I am really interested in how these different pieces are fitting together for students (and teachers, and schools, and districts…), especially as the CS for all mandate has been announced, and places like Chicago and NYC have initiatives underway. Can you talk about how this course is similar to, different from, or connected to other hs initiatives like Exploring Computer Science, used in LA and Chicago. Would this be something kids take after a course like that? Is this primarily being taught by teachers who already were teaching the CS A AP? Any information about how this fits into the larger HS CS landscape much appreciated. Really enjoyed the video – thanks!
Brian Harvey
Teaching Professor Emeritus
Hi, Caitlin. ECS is most strongly invested in LA and Chicago, but has been very widely adopted all over the country. It’s a carefully designed and well-researched curriculum aimed mainly at 9th graders. CS Principles, of which BJC is one conforming curriculum, is pitched as an AP course, so in principle (no pun intended) aimed mainly at 11th and 12th graders, although I think younger kids can often succeed at it also. So, yes, ECS then CSP then CS A is one idea of a high school CS sequence. (Personally I think CS A is the weak link! There’s a reason hardly anyone takes it. Just my own personal opinion…) But in the long run I’m not convinced it’s a high school curriculum sequence if two of the three courses are AP courses! Over time, people will develop additional high school level CS curricula. We have some ideas about that, if we ever get some spare time. :-)
CSP is a curriculum framework with seven more or less distinct “big ideas,” reminiscent of the ECS units. But the actual CSP curricula are quite different from one another. Ours is proudly programming-heavy. We address some of these questions at http://bjc.edc.org/bjc-r/cur/teaching-guide/com...
Our participating teachers come from just about every possible teaching experience. Some were already CS teachers before BJC. Another pretty big group are math teachers. Because of the foibles of state-by-state licensing rules, in some states we’re seeing a lot of teachers whose experience is in “computer literacy” courses: how to use Microsoft Office, Photoshop, and Google. CS ideas are often brand new to them. And in every workshop there’s a sprinkling of science, English, and social studies teachers. (The latter may have little or no programming experience, but they’re the stars of the workshop when it comes to leading class discussions in the area of social implications of computers.) It’s been a fascinating challenge to build a cohesive community of practice among all this teaching diversity.
Mark Guzdial
“Hardly anyone takes it”? 46,000+ people isn’t “hardly anyone.” http://home.cc.gatech.edu/ice-gt/593
Based on Mary’s response above, you have about 500 students in BJC in NYC — is that right?
Barbara Ericson
I don’t think AP CS A is the weak link as Brian suggests. As an AP course it is intended to match what most colleges do in a CS1 course for majors and it does that very well. The course focuses on object-oriented programming in Java which is what the majority of the colleges do as well (though many are changing to Python).
I also disagree that hardly anyone takes it because of the course standards. I think the numbers are low because not many schools offer the course and that is mostly due to a lack of teachers and people not understanding the importance of computer science. However, that is changing. The number of students taking the course has been growing quite a bit the last few years as more and more states have allowed the course to count as a math and/or science for high school graduation. In Georgia AP CS A counts as a 4th science and has done so since 2012, which has greatly increased the number of schools offering it and the number of students taking the exam (from less than 400 in 2004 to over 1600 last year).
High school students who want to get into the best colleges are taking tons of AP courses (the average number of AP courses for students admitted to Georgia Tech this year was 10). I think many students will take CSP and then A which should increase the number of students taking the A course quite a bit in the next few years. I am already hearing from teachers that they have nearly 100 kids taking AP CSP next year and about half of that number taking the A course.Julie Steimle
Brian, I am curious to learn more about why you feel CS A is the weak link. Can you please share more of your personal opinion on the matter? Thanks!
Brian Harvey
Teaching Professor Emeritus
Well, partly just based on the evidence: to a first approximation, nobody takes it. That’s why they invented CS Principles! Secondly, it’s in Java, which has to be the worst possible teaching language, except for maybe C++. You need two pages of declarations before you can add 2+2. I’m exaggerating, but there really is a ton of syntax to get in the way. And finally, it’s intellectually weak. It’s called “CS A” because there used to be an AB also. That was a serious CS course. The CS A course doesn’t even teach recursion! There’s more actual CS in BJC than in CS A. Once again, all this is my personal opinion, not in fact shared by all my BJC colleagues, let alone the CSP community, the NSF, etc.
Brian Harvey
Teaching Professor Emeritus
Wow, my offhand remark about CS A is generating a lot of discussion! I hope you’re all voting for the BJC video. :-) Barbara, yes, I agree that the College Board has to follow what schools are actually teaching, but it follows slowly because of the many steps involved in changing an AP. Just changing the programming language takes a decade, according to my colleague Mike Clancy, who was involved in the change from Pascal to Java. Maybe a decade from now it’ll use Python? Python isn’t my favorite language, but it’d be way better than Java. Also, partly I’m mourning the loss of the AB exam. At Berkeley the AB used to get you out of our second course, but the A doesn’t do anything for you. (Nothing gets you out of our first course, which is nothing like what’s in the AP.) And don’t get me started on the topic of kids taking 10 AP courses.
Mark, c’mon, that’s unworthy of you. You’re comparing numbers for a just-started pilot project in one city, albeit a big one, with a nationwide AP course that’s been running since forever with the full weight of the College Board behind it. I bet CSP has 46K takers in its first year. For sure in its second.
But all this is kind of offtopic
- if we’re going to have an argument, let’s have one about why BJC is the best CSP curriculum! :)Mark Guzdial
I’ll take that bet. CSP won’t hit 46K in years one or two.
Julie Steimle
Brian, it was my fault for asking the question about your offhand remark. I really was interested in your personal opinion and appreciated your honesty. I work with high schools in my role at the University and interact in my personal life with many parents of high school students, so I end up in a lot of informal discussions about the value of particular AP courses.
Mark Guzdial
My apologies for letting the offhand remark get under my skin. You’re right, Brian — I shouldn’t have responded. like that.
500 students is a lot of students in a pilot. 46,000 students is also a lot of students. We need a variety of different paths into computing — not one path, not one definition of what counts, not one approach or curriculum. Let’s create more paths, like BJC and like CSP, and still support and encourage students like the 46,000 AP CS A exam takers.
Brian Harvey
Teaching Professor Emeritus
Righto. I didn’t mean for it to be a big deal… (although switching to Python would be a great way to support and encourage those 46K kids!)
Kathy Haynie
For 2015-2016, we had 468 students in BJC4NYC, based on the pre-course survey (these students all submitted consent forms to be part of our research efforts). This is a subset of the total number of students who took this course in NYC. For 2016-2017, the number of students should more than double, since we are training a larger number of teachers in 2016 (Cohort 2), compared with 2015, and nearly all of the Cohort 1 teachers will teach the course in 2016-2017. Also, more BJC4NYC teachers will teach multiple sections in 2016-2017.
Kathy Haynie
Nicely put, Mark. No scarcity here – just more good models, options, training, and resources for (especially newly minted) CS educators. One size fits all is not necessary.
Richard Ladner
If people are looking for a good intro programming language try out Quorum. It has an evidence-based syntax and semantics that is easy to learn and use. https://quorumlanguage.com/
Furthermore, it is accessible so that young blind kids can program in the same language as everyone else.
Further posting is closed as the event has ended.