AccessCS10k: An Introduction to the Quorum Programming Language and Evidence-Oriented Programming

By:
Andreas Stefik, Ph.D.
Assistant Professor, Department of Computer Science
University of Nevada, Las Vegas

Computer programming in K-12 education has become increasingly mainstream in the U.S., especially with the excellent work being conducted by groups like code.org, Project Lead the Way, CSTA, and many others. These trends have been happening for many reasons, not the least of which being a growing awareness of competition from abroad and the well known shortage of professionals in the field (a problem we are acutely aware of in Las Vegas). In this blog post, I will discuss work on the Quorum programming language, the first, so-called, evidence-oriented programming language. By our current count, Quorum is taught in approximately 34 K-12 schools in the U.S. From surveys, we estimate over 1,800 students will be taught Quorum next year.

In this blog, I’ll outline the origins of the Quorum project and evidence-oriented programming in general. More information can be found about Quorum at our website
(http://quorumlanguage.com/). Quorum has, to our knowledge, the first Hour of Code that is accessible through a screen reading device and a talk on the language was recently presented at Strange Loop and is available here: https://www.youtube.com/watch?v=uEFrE6cgVNY&feature=youtu.be&list=PLcGKfGEEONaCIl5eU53uPBnRJ9rbIH32R

Research on blindness and the origin of Evidence-Oriented Programming

The Quorum project began in approximately 2006 with an exploration I was conducting into the experiences of computer programmers who are blind or visually impaired. Initial interviews and discussions with professional blind programmers made it relatively obvious how many challenges the community faced. In many cases, mainstream tools (e.g., Visual Studio, NetBeans) were not particularly well suited, or in some cases did not work, for this community. More crucially, after discussing the issue with blind professionals, I suspected the challenges for K-12 students were likely worse, as learning Braille or a screen reader can be challenging for blind children. Consider for a moment why learning a programming language like C, on top of learning screen reading skills, might be difficult. While most individuals might see syntax like: for(int i = 0; i < 10; i++) {}

and be fine with it, this is typically translated into speech for the blind. While there is no perfect way to write this, readers are encouraged to say out loud “for left paren int i equals zero semicolon i less than ten semicolon i plus plus right paren left brace right brace.” Similarly, compiler errors when translated to audio can be difficult to understand. A trivial error (e.g., missing a variable definition in C++), might take a minute or two to “listen” to. Mainstream students have difficulty with these things too, but they are exacerbated in students with disabilities.

After making these observations, I concluded that one obvious way to approach making programming easier was to improve the tools (e.g., talking debuggers, accessible editor hints, accessible completion, accessible code folding). I invented all of those things (most are in Sodbeans, a tool for the blind used throughout the U.S. today), and they do seem to help, but C itself is still hard to “listen to.” Ultimately I couldn’t get this nagging question out of my head, “What was the evidence for the design of C to begin with?” So I began to investigate, but weirdly … I could find little human factors evidence in the academic literature.

Historical Context on Evidence Standards:

A slight detour is necessary to help readers who are not familiar with historical evidence gathering techniques. Giving credit where due, I highly recommend reading a paper by Ted Kaptchuk on the history of blind assessment, which influenced my thinking: http://media.virbcdn.com/files/5f/FileItem-260254-Kaptchuk_IntentIgnor_BulHisMed1998.pdf

Let’s briefly discuss this history. First, it was not always the case that medical practitioners, psychologists, and others used experiments in science. In medicine, the techniques started largely in the late 18th century after Louis XVI created a commission to study the bogus theory of animal magnetism (mesmerism). Benjamin Franklin, the head of the commission, used the idea of “sham treatments” to uncover problems with this (bogus) theory.

As science progressed, techniques became increasingly rigorous. Scientists used primitive placebo tests as early as 1834, although they still had no concept of experimental design. By the late 19th century, psychology was developing and we start to see the use of randomization, at first to explore sensory perception and to evaluate (bogus) supernatural claims like those made by psychics (e.g., talking to the dead).

Experimentation moved forward again in pharmacology, in part because of Charles Edouard Brown-Sequard’s claims that testicular extract from guinea pigs would “rejuvenate mental and physical health.” The scientific community, now increasingly skeptical of claims made without evidence, started still rather primitive assessments within a few months. Finally, by the mid-1930s, we obtained what many scientists think of today as the randomized controlled trial, made possible largely by Ronald Fisher in his famous, “The Design of Experiments.” While not mentioned by Kaptchuk, experimental design today has made other important leaps forward, most of which are unfortunately not internalized in computer science like they are in other disciplines (e.g., studies on replication, registered randomized controlled trials). Walter Tichy has probably discussed this more than most.

Evidence-Oriented Programming

Back to blindness and programming, consider observations that children who are blind had extraordinary difficulties with programming languages, and also that the academic literature was sparse with human factors data on programming languages. Certainly, there exists some papers on the topic (e.g., ESP, PPIG, Plateau, a small number of trials in the 70s and 80s), but the number of randomized controlled trials is small. Programming languages make up the entire foundation of modern software — effectively every computing device that everyone owns is built with one. Yet, the top conferences in programming languages used rigorous proofs to determine if features worked, and had significant empirical data to evaluate performance, but used anecdotes for human factors. I didn’t understand why this would be (yet), but by 2009, we started investigating ourselves, largely in this paper:

Stefik and E. Gellenbeck. Empirical studies on programming language stimuli. Software Quality Journal, 19(1):65-99, 2011. 10.1007/s11219-010-9106-7.

Some problems became obvious. Surveys showed words like “for, while, or foreach” were, in a bizarre and unexpected twist of irony, the three least intuitive choices for people in our sample (which we later replicated). This is ironic because these choices are common across a large number of programming languages.

Surveys only tell us so much though, so we went further, which is to take from the medical playbook, using sham (or dummy) treatments. In the first test, we used what I called a “Placebo Language,” basically a randomly designed programming language where symbols are chosen from the ASCII table (one could imagine other placebo languages). We sent the first of these tests to a small workshop called Plateau in 2011:

Andreas Stefik, Susanna Siebert, Melissa Stefik, Kim Slattery. An Empirical Comparison of the Accuracy Rates of Novices using the Quorum, Perl, and Randomo Programming Languages. Workshop on the Evaluation and Usability of Programming Languages and Tools (PLATEAU 2011). Portland, OR, October 24th, 2011.

The result, at least to me, was an eye opener. Perl, despite the fact that it was a very popular programming language with significant community support, was apparently not detectably easier to use for novices than a language that my student at the time, Susanna Kiwala (formerly Siebert), created by essentially rolling dice and picking (ridiculous) symbols at random. That result was astonishing and I frankly wasn’t sure I believed it. So, we ran a replication with three additional languages. The result was the same, replicating with extreme accuracy on a new sample (Perl within less than a percent). That work was published here:

Andreas Stefik and Susanna Siebert. 2013. An Empirical Investigation into Programming Language Syntax. ACM Transactions on Computing Education 13, 4, Article 19 (November 2013), 40 pages.

Interestingly, in this new study, the same result we saw with Perl we also observed with Java, a programming language so popular it is used in the Computer Science A – AP test in high school. Ultimately, using a technique we call Token Accuracy Mapping, which is basically a way to figure out which tokens may have caused the problems, it appeared that C-style syntax was plausibly the culprit. At the same time, using this new technique, we found a variety of problems with Quorum and borrowed from languages where the evidence showed they had a better design (e.g., Ruby’s if statement design, with the exception of the equality syntax ==, was integrated into Quorum 1.7).

Again, this finding surprised us. At this point, while there is a lot more to learn, we knew there was a problem and our strong suspicion was that the language community had not been gathering rigorous evidence on human factors, basically in its entire history, which we have since confirmed is an unfortunate truth. We hypothesize that this lack of evidence may be one of the leading causes of the so-called “programming language wars,” which we discuss at length in the literature:

Andreas Stefik and Stefan Hanenberg. 2014. The Programming Language Wars: Questions and Responsibilities for the Programming Language Community. In Proceedings of the 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software (Onward! 2014). ACM, New York, NY, USA, 283-299.

In other words, if language designers are not even gathering evidence on human factors, then it’s not surprising that they seem to disagree about their designs or that students might needlessly struggle. In essence, language designers prove that their features work, and show evidence that they are “fast,” but they never seem to ask, in a scientifically defensible way, “What is the impact on various kinds of people?”

Creating Quorum:

As these studies progressed over time, and as we worked more with various communities, my wife and I decided that if we wanted to program using a language that used human factors evidence as a guide, we would have to build it ourselves. So, we developed the first Evidence-Oriented Programming language, which we called Quorum. Here are the basic ideas of this paradigm as I see it today:

  1. Design features of a language must have corresponding evidence from appropriately constructed randomized controlled trials for as much as is possible
  2. The language authors must allow the external community to suggest changes according to the scientific method, inspired by lessons from history
  3. Evidence from other techniques (e.g., software repository mining, educational data) if gathered from humans and rigorous is allowed

Now to be clear, Evidence-Oriented Programming is a paradigm, not a language, and the scholar Stefan Hanenberg in Germany thought it up at basically the same time. He came to the same conclusions I did for different reasons, with different experiments, on a different part of the globe (his story on the topic is very different from mine and fascinating). Others are fleshing it out better than I have, especially the scholar Antti-Juhani Kaijanaho, who has created what is perhaps the most systematic review of the history of the programming language wars ever.  

More crucially, it is a paradigm because the evidence on various design decisions (which I won’t get into here, but have written about extensively) is tricky to understand and requires significant statistical expertise to grasp. It also appears that some design decisions have trade-offs, the most well known of which to-date is that whether functions in programming contain type information (e.g., an integer, a number) appears to improve productivity of those past the third year of experience in college, but has a small, but non-zero, negative impact on novices at around a freshman year of college (depending on where in a program it is).

In other words, I can imagine one language designer using evidence to optimize human factors for one group, while another optimizing for another, with both taking all known controlled trials into account and therefore having some similarities in their design. As a simple example, a block language designer hypothetically designing for a child’s toy or learning might use the word “repeat” for iteration, which the evidence supports, yet a text-based language designer might use the same word when designing for industrial scale robotics or a NASA rocket where blocks might be impractical and where efficiency of the language is crucial (or some other reason). This type of thinking could provide increased consistency amongst language designs in the years to come, with an increasingly stronger foundation of evidence.

In any case, evidence-oriented programming is not a panacea, nor does it imply we will eventually get to the unlikely idea of “one language to rule them all.” Plausibly, what we are observing today is a paradigm shift in language design, going from next to no evidence at all on human factors toward an unwillingness of young scholars like myself to accept anecdotes or prestige as fact, for a basically similar reason Benjamin Franklin didn’t in the 18th century. No one knows where the evidence-oriented movement will end up, perhaps with some complex hybrid of blocks or visualization, or maybe with different domains having various kinds of approaches, or maybe even partial standardization of some aspects of language design within a century (or two). Wherever it ends up, the goal is to follow the evidence wherever it leads in order to make the next generation of programming technologies just as practical at industry scale, while also being easier to understand and use.

While Quorum began as a toy exclusively to help blind children learn computer science, it has grown in unexpected ways. While it is still used across the U.S. at around half of schools for the blind and visually impaired, about half of teachers that came to the 6th annual Experience Programming in Quorum workshop in Vancouver, WA represented mainstream schools. Quorum is a Java Virtual Machine Language, so it will run on most machines, and has a variety of libraries, including those for creating computer games, LEGO robotics support, and more. Quorum is accessible for people with disabilities, including those with visual impairments, and supports a robust and accessible development environment based on Oracle’s NetBeans. Since the language is built on industrial strength technologies, it can be used not just in K-12, but potentially in college or industry as well, for effectively any general purpose application. Finally, Quorum is under the BSD license (free for any use), and all curriculum is free under the Creative Commons License. Our curriculum goes through continuous improvement by dedicated K-12 teachers and is being mapped to Computer Science Principles and, hopefully soon, the common core. More information can be found at: http://quorumlanguage.com/

What are you doing this year?

What are you doing this year?

At the start of the year all educators like to refresh materials, think about what else we could use to teach our content and figure out new ways to engage and challenge our students. We do this to “turn on a light” in a student. We can all think back to that teacher who was the reason we looked forward to the school day, the teacher who made us smile, connected with us, and made us want to learn more. As this year starts I challenge you to be “that teacher” for your students. Be the teacher who teaches differently and diversely. Grow yourself by learning different pedagogy and methodology that can lead to more enriched classes and better student achievement.

So all this sounds great but you are thinking – HOW do I do all of that and do everything else my school requires me to do?  My answer – by connecting with other CS educators.  Teachers who do the best normally have a cohort of other teachers they work with, bounce ideas off of, and work through problems with. Teachers are not islands and sharing strategies allows us to become better teachers. CSTA is your best resource for finding a cohort or a connection of other CS educators.

Did you get some great ideas at the CSTA Annual Conference this summer and meet new people? If so, email them and ask what they are teaching and doing. Offer to share projects and ideas. If you missed the conference or want a refresher on what you saw check the CSTA Conference page for the presenters material. Past years are already available and the 2015 will be available soon. Presenters are always willing to answer questions and help you if you are trying something they presented.

Are you looking for people who are near you or a group of CS teachers to work with? There may be people in your area you can collaborate with. Check out the Chapters page. Or are you just looking for other resources right now? You can check out the Podcasts page, the CSTA Voice pagePD Videos page, or search through the blog for posts you may have missed.  All of the authors and/or presenters are approachable and are willing to connect with other CS educators.

So this year make it your goal to grow yourself, try something new and engaging, make connections with other CS educators, and most importantly do all of this to turn on the lights in your students. Show them the wonderment of CS and be the reason they want to come to school.

Stephanie Hoeppner

CSTA Board Representative

Less than a week to go before I can start looking at the submissions for CSTA 2016

Less than a week to go before I can start looking at the submissions for CSTA 2016.  The submission deadline is October 1!

If you are reading this you probably teach computing. You probably also have (at least) one special practice or bit of curriculum, or general teaching approach that you think works really well for you. That it works well for you means it is worth sharing with other computing teachers at CSTA 2016. We’ll be meeting next July 10-12 in sunny San Diego!

Submitting a proposal is easy. Just go to the conference portal (https://www.softconf.com/h/csta2016/), click the “HERE” link in the “For authors:” section, read the legal stuff about expectations, and start entering your proposal. You can check the system out without having to sign up or anything. (I always look at the information they want and write it up in a text editor, then copy and paste it into the web page.) I can’t guarantee your proposal will be accepted but it certainly will get serious consideration.

You might also consider volunteering to review submissions. That goes double for folks who have attended CSTA some time in the past. To volunteer to become a reviewer, please complete the following form: http://goo.gl/forms/xc5UAbFMd7 by September 27. If you have questions, please contact: [email protected].

I’ve had the privilege of being involved in the planning of all the CSTA conferences. Back in the old days a bunch of knowledgeable people and I would get together and identify topics and speakers, which is impossible with the size of the conference today. It would also make for a less diverse, energetic, and useful to participants conference than we get with proposal submissions and peer review.

So, please consider submitting a proposal or volunteering to review. You can propose a 20-minute session, a 60-minute session, a 3-hour workshop, or a birds-of-a-feather.

I look forward to seeing your proposal!

Thank you,
Philip East
CSTA 2016 Program Chair

The CSTA Curriculum Committee

The primary purpose of the CSTA Curriculum Committee is to provide K-12 computer science teachers with access to high quality, standards-based curriculum resources. The committee has vetted several crosswalks that have been submitted by curriculum providers with the CSTA K-12 CS Standards. The crosswalks that have been vetted by the committee include those submitted by Linux, Oracle, Google, Tech Corps, and Mobile Makers iOS. With approval by the curriculum provider, vetted crosswalks to the standards are posted on the CSTA website.

A major publication for the CSTA Curriculum Committee is the CSTA K-12 Computer Science Standards, released in 2011 and available on the CSTA website. The purpose of the standards is to delineate a core set of learning standards designed to provide the foundation for a complete computer science curriculum and its implementation at the K–12 level. The standards allow the Curriculum Committee to support our CSTA members by informing them of quality standards-based curriculum resources. To better support and assist CS educators, the CSTA K-12 Standards have been cross-walked to these national standards: Common Core State Standards, Common Core Mathematical Practice Standards, STEM Career Cluster Topics, and the Partnership for the 21st Century Essential Skills Standards. The CSTA K-12 CS Standards are also available on the CSTA website en español.

A major undertaking for the CSTA Curriculum Committee during 2015-2016 is the revision of the K-12 CS Standards. The process began last week with a request for input from educators and other stakeholders about the standards. Read the blog post from earlier this month.

The current members of the CSTA Curriculum Committee are:

Laura Blankenship, The Baldwin School, [email protected]
Debbie Carter, CSTA Board Member Emeritus, [email protected]
Fred Martin, University of Massachusetts, Lowell, [email protected]
Tammy Pirmann, School District of Springfield Township, PA, [email protected]
Deborah Seehorn, CSTA Past Chair, [email protected]
Lissa Clayborn, CSTA Deputy Executive Director/Chief Operations Officer, [email protected]

Frequently, the Curriculum Committee collaborates with other CSTA committees on projects of interest to both committees. Occasionally, the committee solicits assistance from experts with a particular area of computing curriculum expertise. We welcome your comments and suggestions on ways the CSTA Curriculum Committee can better meet the needs of our CSTA members.

Deborah Seehorn; CSTA Curriculum Committee Chair

Website Links:

Completed Curriculum Crosswalks: http://csta.acm.org/Curriculum/sub/CompletedCrosswalks.html

CSTA K-12 Computer Science Standards: http://csta.acm.org/Curriculum/sub/K12Standards.html

CSTA Advocate Blog: https://advocate.csteachers.org/

Computer Science: Dictating Careers in Digital Technology

The Computer Science Teacher Association’s Executive Director, Mark Nelson was recently featured in MediaplanetUSA’s “Careers in Digital Tech” campaign to inspire students to pursue careers in digital tech. The campaign highlights companies that are evolving and hiring the next great tech professionals. Providing tips and advice on the best path to take in order to be successful in digital careers from industry professionals themselves. The campaign was distributed in a centerfold of USA Today on September 4, 2015, and can also be viewed here: http://www.educationandcareernews.com/career-development/computer-science-dictating-careers-in-digital-technology.

The Growing ECEP Alliance

By: Mark Guzdial

The NSF Alliance Expanding Computing Education Pathways has expanded dramatically over the last few months. There are now 11 states in our cohort: Alabama, California, Georgia, Maryland, Massachusetts, New Hampshire, Puerto Rico, South Carolina, Texas, and Utah. The participants in the state cohort are leaders in their state to improve CS education and broaden participation. They are teachers, policy-makers from state education departments, higher education faculty, and industry.

The state cohort has monthly calls where we discuss progress in each state, share experiences, and make suggestions in other states. Each call has a guest speaker who addresses an area of concern for the cohort. Jane Kraus from NCWIT talked to us about working with high school counselors to promote computer science degrees and careers. Heather Carey from Constant Contact talked to us about how to engage with industry. We will be having our first annual meeting with our expanded cohort the day after the RESPECT conference (see web page) in Charlotte.

We held a session at the CSTA 2015 Conference in Grapevine on “Changing Computing Education in Your State.” We talked about the kinds of changes happening in Massachusetts (Rick Adrion), Georgia (Mark Guzdial), and California (Debra Richardson) — what’s been most successful for promoting change, and what’s been the most challenging. (Slides are available here.) Then we broke the audience into small groups by region (e.g., Midwest, West, Southeast) to talk about how to make change and find opportunities to collaborate. The session was videotaped and will become available at the conference archive.

Some of the common issues that we heard:

  • Some states are choosing to grow CS at the elementary and middle school levels. Nationally, ExploringCS and CS Principles are growing, but there is less pre-high school CS curriculum available.
  • It’s challenging to develop curriculum/learning standards for CS and teacher education programs and teacher certification. They interact (e.g., you want teachers to get credentials for taking the education programs that prepare them to teach to the standards) and they all take a lot of time to develop. The processes have to be timed right so that they interact and inform each other productively.
  • Each state’s policy works so differently, at all of the elementary, high school, and post-secondary school levels. There aren’t any good guidebooks for “How Education Works In My State.”
  • Higher education faculty should be able to play a role in policy and advocacy, but that’s not how their job is defined and they don’t always know where and how to play a role (see previous point).
  • We heard from some states where there is interest in writing a landscape report (see our page of resources to help in writing a landscape report) and organizing a group, but it’s hard to find a leader, a plan, and to organize the effort.
  • Texas was highlighted as a state with a lot of sticks (e.g., requirements from the state to implement policies to promote computing education) but no carrots (i.e., incentives or funding to build capacity).
  • Several states told us about competition between funding for CTE and for CS programs. For example, there are arguments within states over whether Perkins funding (see here for explanation) can be applied to CS classes, even if they’re not classified as CTE programs. The answer is “Yes,” but not all states agree with that interpretation.

We in ECEP are excited to be working with this larger group of states. We’re learning a lot about different models for change in computing education policy. We are pleased to be working with CSTA members and chapters in our cohort states because of their passion for computing education and their insights into the school systems in their states.

RESPECT for Diversity (in Computing)

Last week I had the honor and pleasure of attending the 10th annual STARS Celebration collocated with the first annual RESPECT Celebration in Charlotte, NC. STARS Computing Corps is a community of practice for student-led regional engagement as a means to broaden participation in computing.  RESPECT is the acronym for Research on Equity and Sustained Participation in Engineering, Computing, and Technology.

The celebrations highlighted the widespread and diverse efforts to broaden participation in computing (BPC). NSF was a proud sponsor of the celebrations along with Google, IT-ology, Duke Energy, Bank of America, Blue Cross/Blue Shield of South Carolina, UNC-Charlotte, and others. In addition to the many rising “stars” in computing education from the colleges and universities as well as high schools, the attendees included many well-known computer science educators. The sessions for the RESPECT attendees included engaging presentations of research on diversity in computing, a panel discussion on why we can and should keep diversity in focus during the college/university surge in CS enrollment, and lightning talks. Friday evening’s highlight was a STARS and RESPECT reception at Discovery Place—featuring food and fun with interactive science exhibits in addition to the RESPECT poster session.

The STARS attendees had ample choices among sessions addressing mentoring, professional preparation for students, outreach, and sessions of interest to faculty members. The STARS participants also participated in a Career Fair sponsored by IT-ology and a parallel STARS poster competition. The Saturday sessions for STARS participants focused on topics in mentoring, professional, outreach, grad school, sustainability and a track for faculty as well as a track for high school students and teachers. Several CSTA members were in attendance on Saturday and brought their students with them to participate.

The opening keynote address was delivered by Richard Ladner, Professor in the Department of Computer Science and Engineering at the University of Washington, who presented a fascinating discussion about accessibility in computing education (you may have met Richard at the CSTA Annual Conference in Dallas). Richard is the PI for the NSF-funded AccessComputing Alliance dedicated to increasing participation of students with disabilities in computing fields. He is also a PI for the NSF-funded AccessCS10K, which has a goal of preparing K-12 teachers to be more inclusive in their computing courses, particularly ECS and CSP, of students with disabilities.

The Friday lunch featured a BPC Fireside Chat presented by representatives from Special Technical Community on Broadening Participation (STCBP), Computing Research Association’s Committee on the Status of Women in Computing Research (CRA-W), CDC, the Computing Alliance for Hispanic-Serving Institutions (CAHSI), the Expanding Computing Education Pathways (ECEP) Alliance, AccessComputing, Center for Minorities and People with Disabilities in Information Technology (CMD-IT), STARS, the National Center for Women and Information Technology (NCWIT), and the Institute for African-American Mentoring in Computing Sciences (IAAMCS). The presenters represented the multitude of organizations devoted to broadening participation in computer science and the collaborative relationship among the organizations. Conference participants were given an overview of each organization and the resources that each organization provides to broaden participation.

The keynote on Saturday was presented by Teresa Dahlberg, Dean of the College of Engineering and Computer Science at Syracuse University. Teresa was co-founder of the STARS Computing Corps and presented a brief history of the organization.

This was a great conference for me. In addition to thoroughly enjoyable and interesting presentations, the conference served to bring broadening participation in computing back to the forefront—though it has never been far from it. This is a critical focus for computing for many reasons. Working together, we can accomplish the BPC goal. As you begin another academic year, take some time to reflect on how you are broadening participation of women and underrepresented minorities as well as those with disabilities, in your computing program. If you are a K-12 educator, have you considered partnering with a STARS member at a local university? Have you attended Tapestry Workshops? Have you taken time to visit the websites of the groups mentioned in this blog post to see what resources may be available to you? If you are a college or university educator, have you considered adopting the STARS Leadership Corps model for service learning? Have you joined the STARS Online Community? In short, what are you doing to actively promote broadening participation in your computing program? This post provides you with ample resources to do just that.

Deborah Seehorn, CSTA Board of Directors Past Chair

Websites:

http://www.starscomputingcorps.org/

http://respect2015.stcbp.org/

https://www.nsf.gov/funding/pgm_summ.jsp?pims_id=503593

http://www.discoveryplace.org/

http://www.washington.edu/accesscomputing/home/accesscomputing-homepage

http://www.washington.edu/accesscomputing/accesscs10k

http://stcbp.org/

http://cra.org/cra-w/

http://cahsi.cs.utep.edu/

http://expandingcomputing.cs.umass.edu/

http://www.cmd-it.org/

https://www.ncwit.org/

http://www.iaamcs.org/

Must-read (and Share) Report on US K-12 CS Education

They say you can have data without information, but not the other way around.  So for those of you seeking data on why CS in K-12 matters there is good news today.  There is a new report out from Google and Gallup, which I particularly encourage all of our members in the US to read and share.  Whether you are in K-12, higher education, government, or the corporate environment the data and information contained in this report is important.  As we head into another school year, it would be great if every school board member, superintendent, principal, parent, and legislative representative read the report as well.

The report is entitled, Searching for Computer Science: Access and Barriers in K-12 Education, and is available as a downloadable PDF here.

In short, the study illustrates that CS education matters, and that there is strong demand for CS education in K-12.  Two key barriers identified in the study are that administrators do not perceive that demand, and there is a shortage of teachers to teach CS.  The report also has some illuminating data around issues of equity and access.  As a whole, the report touches on critical topics we are working on in CSTA now and have even bigger plans for going forward.

Among some of the interesting findings:

  • 91% of parents surveyed want their child to learn Computer Science (CS), but <8% of administrators believe demand is high.
  • Half of principals and superintendents surveyed cite the lack of trained teachers as a barrier – greater than the need for technology. Less than half of administrators perceive school board support for CS.
  • 3 out of 4 principals surveyed say their school offers NO CS programming/coding classes.
  • More than 90% of students and parents surveyed believe people who do computer science have the opportunity to work on fun and exciting projects, and that people who do CS make things that help improve people’s lives.

Given that yesterday marked the “two-month mark” for me as the new executive director for the Computer Science Teacher’s Association, this news only reinforces for me that the mission of CSTA — to empower, support, and advocate for K-12 computer science teachers — is a mission that matters.

We can do more.  We must do more. CS matters, and we need more support to give all students better access to quality CS education, and ensure that CS teachers across the educational spectrum have access to the PD and resources they need to provide that quality CS education.  A great first step is making sure that the findings of this study are communicated and shared widely.

What do students think about coding?

What does assessment look like in a K-8 Computer Science program? Computer science teachers like myself use various methods to determine learning amongst their students, examples include:  a debug activity, some version of ‘get the robot through the maze in N programming blocks’ or a rubric to assess different components of a Scratch project.

In addition to problem solving and programming skills, I also assess my student’s attitude to computer science.  Through the year, I use anonymous SurveyMonkey surveys, Google forms, Edmodo questions, and writing prompts to determine what student think about their learning and about coding.

Since I teach across the Los Altos school district (over 500 students each week), I have a wealth of data to analyze after each survey. My survey question at the end of this school year wasWhat do you think about coding? What would you tell someone to convince them that they should learn to code? ‘.

This question generated a wide variety of responses. Here are some that seem to have a common theme – can you detect it?

  • I think it’s difficult, but still interesting.
  • It was fun yet challenging.
  • It is kind of difficult to learn at first, but then is fun to play with
  • Coding is hard in the beginning but fun once you learn how.
  • It is fun but hard and boring.
  • Coding is fun but hard. If you want to design or make something coding is for you.
  • Coding is hard but interesting.
  • Love it, and makes your brain work hard while you have tons of fun.
  • I think coding is fun but can be difficult.
  • I liked coding. It was challenging though.
  • I think coding is very interesting and challenging. The feeling of success when you finish a project is all worth the trouble.
  • Coding is complicated but fun. People think it’s scary because it’s new but it’s actually really cool!

The common theme is: ‘difficult but fun’.

These students find coding fun even though it is difficult. In fact, they think it is fun because it is hard. They enjoy coding for the same reason they enjoy a good video game – it is challenging. It is not easy and boring.

Seymour Papert who showed us that children can program computers almost 40 years ago, explained this kind of learning as ‘Hard fun’ in his article http://www.papert.org/articles/HardFun.html

It appears that my sixth grade students agree with the student Papert mentions in his article. Coding is fun and it is hard. Much has changed in terms of tools and resources in the last 40 years, and it is good to know that this fundamental attitude remains the same.

CSTA Professional Development Committee

The Professional Development Committee’s purpose is to improve teaching and learning in the computing disciplines by identifying the ongoing professional development needs of members; by developing, facilitating, and overseeing the professional development activities of the organization; and by building partnerships with other organizations that support CSTA’s mission and goals.

Specific initiatives include:

  • Encouraging networking and resource sharing opportunities for members.
  • Building upon the success of the CSTA Annual Conference to provide more professional development opportunities for members.
  • Developing and disseminating materials and providing support for local, chapter-driven professional development.
  • Expanding the presence of the CSTA, especially board members, at regional and national conferences.

The current members of the committee are Dave Reed (chair), Myra Deister, Irene Lee, and Fran Trees.

Dave Reed
Chair, Professional Development Committee