The CS For All Consortium

Over the past couple years, it has become apparent to school districts across the country, particularly in inner city schools, that teaching computer science to ALL students (CS4All or CS For All) is a good idea and must be done. I am proud to have been one of the people pushing this idea for the last decade and I am even more proud of how far we have come in NYC highlighted by Mayor de Blasio’s announcement of NYC’s CS4All effort a year ago this month.

Earlier this year the White House realized that getting all of these CS For All efforts around the country connected and communicating was a good idea and the President announced a national CS For All in January of this year.

The thing that is so great about this CS For All movement it has been “bottom up” instead of “top down.” The elected officials are getting on the bandwagon and providing funding and other resources for it (not anywhere near enough yet) but CS For All has emerged from the classrooms, from the students and teachers, aided by a bunch of computer science and education researchers in higher education. There are literally hundreds of organizations, almost all non-profits, that have built the curriculum, professional development, and other tools and resources that together make up the CS For All movement around the country. There have been some unsung heroes, many of them women interestingly, like Jane Margolis, who started working in the LA public schools a decade ago and wrote a book about that which woke a lot of people up, including me, and Jan Cuny at the NSF who has funded a lot of the curriculum development work over the past decade, and many others who have been working for a long time to make this happen.

But happen it has. CS For All is expanding all over the country at a very rapid pace.

And yesterday, at the White House Summit on Computer Science Education, the CS For All Consortium was announced. The CS For All Consortium will serve as a hub for families, schools, and districts looking for resources that match their needs, including content by grade level and target audience. The consortium website at http://www.csforall.org/ will help connect members of the national CS education community, provide an avenue for disseminating their work, and track our collective progress toward the goal of providing every student with the opportunity to learn CS.

For now, our CS For All organization in NYC, CSNYC, that I co-founded a few years ago will be leading this effort. A lot of our work in NYC has influenced the national movement. We believe in a bottom up approach where there is not one standard curriculum or one standard pathway for a student to study CS. We have fostered an approach in NYC where literally dozens of computer science education organizations are active helping the NYC school system get CS in every school in the city (>1700 of them). We have built a big tent that allows all schools, all students, all teachers, all parents, all curriculums, all approaches, and all volunteers to participate. Literally CS for All.

And we are excited to bring that approach to the national effort. Michael Preston and Leigh Ann Delyser of CSNYC have been leading this work and I am very appreciative of their efforts to make this a reality. If you are a teacher, a student, a parent, a principal, or anyone else who wants help getting CS for all of your students, you can visit the CS For All consortium website and find resources that can help you do that. I encourage you to do that.

#hacking education

Comments (Archived):

  1. William Mougayar

    The bottoms-up approach is better because of the private sector involvement which ensures that teachers and schools have the required skills and required technology to teach this.Contrast that with a government only top-down approach where they announce intentions without readiness, like with the British Columbia government who announced that program in January of this year without ramping up what’s needed to properly implement it. http://vancouversun.com/new…(That’s the same government that allowed the banning of Uber in Vancouver, one of the few major cities in NA where Uber is banned)

    1. Susan Rubinsky

      Totally key: “that teachers and schools have the required skills and required technology to teach this.” It will only get traction if you convince people on the ground of the value, otherwise they will resist it.I cannot tell you how many public meetings I have sat in on over the years and watched teachers fight initiatives to bring CS into schools. (Same with STEM.) Of course, this was over the last decade or so. As we all know, resistance is futile. But wouldn’t it be better to have people who champion the cause on the ground rather than resist it?

  2. Rob Underwood

    Thank you Fred for your incredible leadership on this, both here in NYC and nationwide.The other folks you mention are indeed worthy of praise. Jane’s book, “Stuck in Shallow End”, made the case for “For All” while folks were still getting to that we needed to teach “CS” at all. While we still have so much work to do on equity and inclusion, Jane put this topic on the table at the start of this latest surge in CS education enthusiasm, which has been crucial.Jan Cuny has been the godmother of CS Education for many years. She was driving this critical cause when it was not getting 1% of the attention it now has. I have had a chance to work with Jan as part of my work as ED of TeachCS and she understands better than anyone how all the big pieces need to come and fit together to make everything work. Jan, like Jane, is a superhero.Leigh Ann and Michael – along with the rest of the CSNYC team (Maor, Jackie, Sarah, etc. as well as alumni like Cindy and Evan) – have take your vision and done it honor it executing and work that tails off. I am glad one of my causes, expanding computer science in Brooklyn, and the Code Brooklyn campaign specifically, was included in the new CSForAll Consortium.Extremely excited about what comes next. My own involvement in the cause has caused me to decide to go back to school myself to pursue my CS degree. So most of today -before the Phil Lesh concert of course – I’ll be writing my own dynamic memory allocation routines in C for my Harvard Extension CS61 class.Seriously, thank you to everyone for the work on this.

    1. fredwilson

      You are a big part of this Rob. Your energy and passion for it is infectious

      1. Rob Underwood

        Thank Fred. Now if I could only get young people excited about power lifting and Phish I’d have the trifecta.

        1. Ronnie Rendel

          I love Phish, just call me Prep School Hippie (you need to be a har core phan to know this song)

          1. Rob Underwood

            Don’t go back QUITE that far, but I was at Amy’s Farm in ’91 if that gives me any cred.

    2. DJL

      By the way, CS education is a critical foundation for information security. We are projected to have a shortfall of many hundreds of thousands of people over the coming decade. In later years, it would be great to put some cyber security into the curriculum (if it is not already there). Congrats again.

      1. LE

        Ironically an increase in CS education will also lead to needing more people for information security.

  3. Twain Twain

    THIS: “We have built a big tent.”Congrats to all involved.

  4. creative group

    FRED:The efforts of all involved should be applauded and acknowledged.This is the critical task that anyone desiring our youth to receive a competitive education that meets the global needs of our country. They should be mindful of the groups that oppose the efforts to educate our youth. The term budget cuts and balancing state budgets that don’t effect their pet projects.The defunding of public education by outside groups to dumb down the future electorate. A fact! It is being done on the state level for all levels of education. Each state dominated by this group has done it. Each state uses different excuses with the same goal.This is nationwide.http://www.azcentral.com/sthttp://azcapitoltimes.com/n

  5. pointsnfigures

    was thinking about jobs and pay. why do coders/programmers etc make so much compared to marketing personnel, or accountants? there aren’t enough of them. Simple supply and demand.

    1. Quantella Owens

      It might also be because it is all incomprehensible gobbley-gook which makes the average non-tech person exceedingly uncomfortable. They pay alot to make the “pain” go away.

  6. DJL

    Congratulations, Fred. What a great program.

  7. Ronnie Rendel

    Are there any plans on bringing CS education to non public schools in NYC? As you know, I have been working within the chassidic community in Brooklyn doing regular workshops, coaching, and speaking about learning to code + related tech skills (QA, PM, Data Analysis, Media, etc.)I’m proud to say that several people in my community are full time coders today because of this effort, and I get people coming up to me regularly to ask how and what to learn (I usually take them through my Udemy courses and have them try out a few lectures from different topics to see what works best for them, if at all).But this is a “hack” on my end, and I am looking for a partner that will make this a more formal program with a set location, advertising, and budget for students to access online learning and coaching. I had a nice thing going with a program called Hidden Sparks, but it was limited to one course a few years ago and today I would use that money to give students access to Codecademy, Udemy, and codeschool rather then bring in an instructor (my, how times have changed.)Awesome to hear about progress in the public schools initiative, if anyone knows of a program that can help this specific case please let me know. Thanks.

    1. Carol Ann Ribeiro

      HI Ronnie, My nonprofit organization The Virtual High School (www.thevhs.org) offers a variety of online computer courses including the new AP Computer Science Principles course. We are participating in #CSforAll and I had the honor of attending the summit yesterday. We currently serve over 600 schools nationwide include public, private, paraochial, Jewish Day Schools, and others. We provide education to ALL students regardless of what type of school they attend or their geographic location. We currently work with a number of schools/students in NY and we are also currently doing work with AVI CHAI foundation as part of our Online Judaic Studies Consortium (OJSC). Let me know if you need more info or feel free to reach out to my colleague Lisa Micley ([email protected]) directly.Carol

      1. Ronnie Rendel

        I will certainly follow up with you, thanks. We have one yeshiva high school that asked me about providing cs education to their students .

      2. sigmaalgebra

        Okay, I took the bait! [I’ve done that before and promised myself I’d quit doing that!]So, I looked at VHS.ORG for the courseAP Computer Science Principlesand couldn’t find any details or anything. So, had Google search for me and foundhttps://code.org/educate/cspon the course and read their description.So, they have some on(1) The Internet and TCP/IP and layered protocols.(2) Data representation.(3) JavaScript.(4) Big data and privacy.First objection: That’s not much on principles!Second objection: That’s not very advanced. Instead I’d say that it would not give anything like “advanced placement” in a college computer science curriculum.The course might be named “An Easy, Leisurely Middle School First Glance at Current End User Internet Usage”.Gee, I used to think that the AP Calculus materials were written by people who didn’t understand calculus. Well, now it appears that somehow AP is a contagious, debilitating affliction that took root in the College Board, infected the calculus people, and now has spread to the computer science people!The solution appears to be much the same as for calculus: Just get a good collection of the college materials!For calculus, that’s easy since there is a long list and a big stack of astoundingly highly polished college freshman calculus texts. E.g., I got one of those, and that’s how I learned freshman calculus. Then my first college calculus course was their sophomore calculus, from the same text Harvard was using. I did fine — easy, fun.But for computer science the situation of texts, etc. is not nearly so good. So, there is a role for a lot of guidance for the students.A problem is, the computer science people are not nearly as good at writing about their subject as the math people are about writing about math.But, some good material could be collected, right, as PDF files, YouTube video clips, homework problems, and on-line tests.Sure, touch on using programming languages, that is, data types, data structures, objects, I/O, if-then-else,do-while, logical, string, and numeric expressions, exceptional condition handling, scope of names, threads. Then touch on compiling/interpretation.For more fundamental material, could draw from the Intel manuals on their processors, texts by Knuth, Sedgwick, Ullman, and others, some of the RFCs, documentation from Microsoft, open source materials for Linux, documentation from Cisco, maybe documentation from VMWare, etc.Do some on security — authentication, capabilities, access control lists. Then cover public key cryptosystems, e.g., RSA and PGP and the applications to database, e-mail, and HTTPS. Blockchains?To be serious about fundamentals, sure, have a lecture on P versus NP.Also, say, from some of Ullman, go from BNF to a parser and from some code to a parse tree.Then for the more recent work in AI and ML, just get into some of the relevant math, for now heavily calculus and mostly linear, multivariate statistics.That’s some fundamentals.

        1. Carol Ann Ribeiro

          Here is a link to the AP CSP course on our site. The full syllabus and course description is up there on our public site for your reference. Hope that helps! -Carol https://my.vhslearning.org/

          1. sigmaalgebra

            A Top Ten ListYes, once again I lose!In school, I spent years trying to understand the girls. The top 10 things I learned are:(1) They are cute, sweet, pretty, darling, adorable, and precious.(2) When they want, they can be really nice.(3) They tend to gather in groups of other girls, that is, form little herds.(4) They are really good at social things, e.g., throwing parties.(5) They can consume English literature faster than a great white shark can consume fish.(6) They are fantastic at spelling, handwriting, and writing essays on English literature.(7) They are fantastic at learning foreign languages.(8) They are often good at a high school course in biology.(9) In high school, they are not good at math and physics or, outside of school, mechanical, electrical, or electronic things or computers or computer science.(10) NO WAY do they want to let me take them after school for a milk shake at the drug store across the street.So, all that seemed to make sense! Ah, so I satisfied the first criterion of, necessary condition for, truth — at least it makes sense!AP Computer ScienceNow after all that effort trying to learn about girls, here at AVC.com I lose! You girls show me that you can be good at computing, too!So,following your links, I foundhttps://secure-media.colleg…withAP Computer Science Principles: Course and Exam Description Effective Fall 2016.Reading, I saw a wall of text of bureaucratic boiler plate with nothing on computing.Looking for a description of what was in the course, eventually I saw The computational thinking practices capture important aspects of the work that computer scientists engage in at the level of competence expected of AP Computer Science Principles Students. To me that is much like saying that a course teaches mathematics that mathematicians use at the level of the course. Ah this is a case of being self-referencingwith all the honors, rights, privileges thereunto appertaining. With such a description one can’t tell if the course is arithmetic, areas and volumes, algebra, plane geometry, trigonometry, solid geometry, calculus, linear algebra, …, stochastic optimal control theory, nonlinear functional analysis, partial differential equations, research on one of the problems of Clay Mathematics, etc.!Similarly for the College Board’s description of their course. VHS Computer Science Athttps://my.vhslearning.org/…I sawCourse ObjectivesBy the conclusion of this course, students will be able to:1. Understand the basics of computer systems.2. Understand the digital representations of real-world things.3. Evaluate and analyze the tremendous impact of computing on the world.4. Analyze and draw new conclusions from large data sets.5. Apply foundational programming constructs to solve problems.6. Create programs that serve useful functions.7. Design future technology applications. So, that VHS description is a lot better. If the students did really well on all of 1-7, then the course could be a lot of work.Identify the Real TargetIt appears that if want to study some material in high school that will replace a college course in computer science, then start by identifying the target, that is, pick one or a few such college courses, get the course descriptions for those, and study THAT material. If can visit such a class, sit in, and chat with the prof, then even better!Same for calculus: If in K-12 want to learn some calculus to replace some college calculus courses, then get some descriptions of some good college calculus courses, pick one or more of the texts used, and study THAT material.If could sit in on such a course and/or have a college calculus prof could chat with occasionally, then even better.My view of AP Calculus, the time I looked at it, was that the people who wrote that didn’t understand calculus.So, if the AP people can’t do college calculus, I have to doubt that they can do college computer science. Then, for a K-12 student, the solution is the same — get the college materials and study THOSE.A Challenge — Looking for the FundamentalsI taught a first computer science course at Georgetown University and gave a graduate seminar in computing in the B-school at Ohio State University. And, I’m still short on understanding how the VHS or College Board AP courses would replace a college course in computer science.E.g., in my Georgetown course, some of what I taught was heap sort and quick sort from Knuth, The Art of Computer Programming: Sorting and Searching, and I didn’t see any discussion of such a topic for the high school courses.High school teaching is starting to look heavily bureaucratic — lots of words, not much content.Yes, there are some challenges here:(1) ImportanceThe difference in practice, on a lot of jobs, etc. between knowing nothing about computing and knowing a lot can be very important for the work, the person, and the economy. So, people should know about computing.(2) Fundamentals.The materials readily available on computing are enormous, i.e., are likely among the largest of any academic or practical subject. So, there is a desire to teach fundamentals, but identifying those is not easy.Common Approach — Learn by DoingIt begins to look like the way to learn about computing is the way I and a lot of people mostly learned: Learn by doing.The Real FundamentalsFor 3-7 of the VHS items, my view is that the fundamentals are really not in computer science and are rarely well understood even by famous chaired professors of computer science at the best computer science departments of the best research universities at all but are in selected topics in pure and applied mathematics available mostly in mathematics departments but at times only available in other departments in science, engineering, and at times even social science. E.g., the social sciences work really hard on4. Analyze and draw new conclusions from large data sets. and commonly conclude that at best their results stand on quite thin ice.And likely now there is a lot to learn in the bio-medical sciences, e.g., computerized tomography, analysis of DNA, and, generally, again4. Analyze and draw new conclusions from large data sets. Sorry ’bout that.Uh, for more on biology, consider the Eric Lander lectures at MIT athttp://ocw.mit.edu/courses/…Yes, Lander is a mathematician.Getting the Math FundamentalsBut for such math, again we can look for the fundamentals, and those really are readily available in math departments of good universities.Fred’s CS4ALLNet, Fred’s CS4ALL sounds like a good enough goal. My view is that nearly all of K-12 is just baby sitting to keep the kids out of trouble on the streets. So, CS4ALL can easily be better than babysitting. And, as all the materials referenced today agree, computing is really important for everyone.So, for Fred’s CS4All, go for it!My AdviceFor students who want to take computing at all seriously, I’d recommend that in K-12 and college, major in pure and applied math. And in other subjects, e.g., the social sciences, mostly stay with the more mathematical parts.Then, for the computing, learn that by doing. E.g., maybe start by building some simple Web sites. Then for more advanced Web sites, learn a production quality, compiled programming language and relational database. At the same time, learn a lot about at least one of Windows or Linux — this in K-12.For more, after college, work in computing and study applied math for Ph.D. qualifying exams.Then do some research: Likely from the work, select a practical problem and get a good, solid mathematical solution, use computing to implement the solution in practice, and publish the work in a good peer-reviewed journal of applied math and/or computer science. Maybe call the work artificial intelligence.Then go for a Ph.D., likely at an Ivy League school. Take the qualifying exams right away and then submit the published paper as the Ph.D. dissertation.If want an academic career, then stay in the graduate school, maybe as a post-doc, and get some good research directions. Then go for a prof slot. If want to say practical, then go for a job or, better, do a startup.Alas, apparently I still don’t understand girls!

    2. Mike Zamansky

      There’s a group of private school tech people: NYCIST – https://nycist.wikispaces.com/. The current president is Saber Khan (@ed_saber).I don’t know much about them other than that I’ll be giving a curriculum talk for them in about a week.

      1. Ronnie Rendel

        I will check them out. @chjcc here we come!

    3. davidsol

      Ronnie, I’d be happy to chat with you about Ready, a potential solution: http://www.getready.io.Exposes students to software making through a visual interface over unity3d. Free app. Runs on PC, Mac, iOS and Android. We have free lesson plans too. Based in NYC. Send me a note: [email protected]

  8. Richard

    while you are at it probability and statistics should replace algebra and calculus.

  9. tenchi.ru

    Thank you Fred for your incredible leadership on this, both here in NYC and nationwide.+1

  10. awaldstein

    This is goodness Fred. Great work!

  11. chhhris

    Hey Fred, seems like the resources pages on CSNYC are broken -http://www.csnyc.org/resources

  12. John

    Love these efforts. I wish you’d add a piece for parents that want to help their children learn CS. As a parent, there are too many resources out there. Would be great if you offered a best practices approach for parents to help their children learn CS. I’d much rather have them coding on the computer as opposed to playing Minecraft or watching other people play video games. It’s a hard switch though.

  13. Kirsten Lambertsen

    An amazing and inspiring accomplishment by all involved. Respect.