AP Computer Science Exams In NYC

The NYC Department Of Education announced yesterday that almost 4,000 high school students took an AP Computer Science exam in the school year that ended in June. This news was part of a larger announcement that total NYC students taking AP exams increased 7.5% last year to almost 50,000.

The NYC public school system is the largest school system in the country with about 1.1mm students, about one third of which are in high school. So moving the needle in a system that big is hard but when you do it, you can really have an impact.

The AP CS news was particularly gratifying to me as I have been working for most of this decade to get computer science broadly offered in the NYC public school system. I see this work as an important investment in the children of NYC and in the NYC economy and business community too.

When I started this work, about 600-700 students from the NYC public school system would take the AP CS exam each year. And most of them were from the top schools in the system (Stuyvesant, Bronx Science, Brooklyn Tech). That number slowly grew, to 926 students in 2015, and to 1,137 in 2016.

So what happened this year to cause an almost 4x expansion in one year?

Well first and foremost, the The College Board added a second AP CS exam, called AP Principles of Computer Science. That opened up the AP CS population to students who are not deeply skilled/schooled in Java (which is a big part of the AP CS exam).

But equally important, the CS4All program in NYC, which is bringing CS to every school and supporting 40 middle schools and 40 high schools to offer full multi year programs in CS, is starting to kick in. Over 90,000 NYC public school students studied CS in their school last year. That is starting to have an impact.

So where do we go from here? Well I expect we will see over 10,000 NYC students take an AP CS exam within another few years and that number will get even larger before the ten year CS4All program is fully deployed in 2025.

We are also seeing the AP CS test taking population starting to more closely mirror the demographics of the NYC public school system. More girls are taking it. More black and hispanic students are taking it.

AP CS exams put students on a path to attend college and study CS. They will do that in NYC where the local colleges, including CUNY, are upping their CS game significantly. And they will do that at leading engineering schools around the country.

And that, in the end, leads to a more diverse set of skilled talent for our economy, both locally in NYC and around the US, in the coming years. And god knows we need that. Badly.

CS4All is a public private partnership between the city government which is putting up half the funds for it and private donors who are putting up the other half in a $40mm capital campaign that I chair. If you know of a person, a foundation, or a company that would like to support this work, please have them contact me or my colleague Jennifer Klopp who is the Director of the CS4all Capital Campaign. We will gladly come talk to them about our work and how they can support it.

#hacking education

Comments (Archived):

  1. creative group

    FRED:great work especially in the system that nurtured and developed millions of New York City Baby Boomers.Why in the world are we still up?Are you going to post photos? Detail and suggest great locations to visit and eat in Asia? Provide a summary of the Entrepreneurs and possibilities of investing in the places you visited?

    1. fredwilson

      That content is on gothamgal.com

  2. rich caccappolo

    Wow – the 4x jump is incredible, as is the number (4k) who took the exam, but the fact that 90K studied CS is really striking and encouraging. Great to see – congratulations and thank you for your effort to make this happen.

    1. fredwilson

      Thanks Rich!

    1. fredwilson

      I think that’s nonsense

      1. marcoliver

        Well, then let’s just all pray and hope there will be at least someone who can take care of the oldest and the youngest, when everybody else codes.

        1. William Mougayar

          How are the 2 related?

          1. marcoliver

            More importantly we can raise the question: who should decide what subjects schools need to teach our children? And what processes should be in place to help thourougly evaluate and prioritize what should end up in the school curriculum?

          2. William Mougayar

            who should decide?

          3. PhilipSugar

            Parents and activists like Fred. My point to people is this: We teach subjects like Math, English, History, Physics, Chemistry, Biology, Art, Music, Shop, etc, to people that are never going into one of those fields.We do it because it makes you well rounded. It makes you understand your world which should be the goal of what you should provide a child.Teaching basic programming is just that. Frankly they were doing it in the late 1970’s at some of the better schools (like mine).Like it or not I literally do not really see anybody that doesn’t have a supercomputer in their pocket.The biggest disparity in our country is not the fact that people don’t have the opportunity for advancement or that we don’t spend enough on their schools. The biggest disparity are kids that don’t have the parents or peer group that value education.Once that opportunity is lost, it is like a plant that didn’t get to develop good roots. It is forever stunted.

      2. jason wright

        maybe, but this has happened before. why did the Victorian elite class decide to educate Britain’s illiterate working class masses at the end of the nineteenth century?

      3. William Mougayar

        “Contrary to public perception, the economy doesn’t actually need that many more programmers.”- such a distorted statement & the article is so narrowly focused on the wage issue, they totally ignore the innovation potential that results from this new wave of competency.

        1. Matt Zagaja

          In a world where employees tend to not capture much of the value of innovation they create, it is not particularly surprising that folks take that perspective. It’s great that start-ups give their engineers equity and many times compensate them well, but there are many established companies that pay their labor well below its value. Unless the norms and laws change, it is the inevitable result of an increase in supply of software developers that it will push wages down to commodity levels. We live in a world where America is more economically successful than any time in its history, yet a large number of people are not sharing in that success. This sort of anxiety should not be dismissed.

          1. PhilipSugar

            I disagree. I think programmers do capture the value of the innovation they create.Now the innovation that they create? Well that destroys the value of those that do not. What do I mean?If you were a call center agent….there is an app for that.If you were a local set of hands…..there is supply chain software, email, web telcom, etc that means it doesn’t matter where those set of hands are, hell Laos, Vietnam, etc are replacing China for unskilled sets of hands.And do not take this to mean I dislike or don’t want programmers. No different than Farm equipment or machines during the industrial age. I am no Luddite.

        2. PhilipSugar

          1. Most importantly knowing how to program does not mean that is what you are going to do for a career. Do I know programming and accounting? Yes. Do I do either? No. Fred, Brad, and Mark are right in the same boat. People that say…..oh I have no clue about that or worse….oh it will just work, get their ass kicked by those that do.2. If you are a good programmer, you make six figures even in a place like Delaware where a huge house costs $300k.3. Yes, there are people that know the cost of everything and the value of nothing and outsource to “cheap” resources, but people like me love kicking their asses.

          1. LE

            Part of the problem is that from what I know programming courses are taught by people who know, understand and enjoy programming. So their brain is wired differently. Taking as an example the one course that I took in college (APL) I hated the course, the language and found it of zero use. And it is. Nobody uses it. If anything it made me think programming wasn’t of value to me actually. Wrote exercises, tests everything about it was wrong. And that was at a good school. This is similar to many things done by academics who are focused on the wrong thing. [1] Self teaching and learning from a practical standpoint worked very well at least for me. I took exactly one accounting course which wasn’t as bad but truth be told they stuffed a whole bunch of shit that isn’t relevant to the point that you are making (which I agree with ‘I use… but I am not’).So sure if there is value in learning programming, accounting and so on stop teaching it as if the point is for someone to earn a living doing it full time.[1] Anyone remember the episode in Breaking Bad where Walter White was obsessed over the fly in the lab and his partner Jesse said ‘we are making shit for meth addicts’. Kind of like that. This obsession with things that honestly don’t matter in the real world.

        3. LE

          I could easily argue either side of this issue. But since Fred is pissed I will take the side of disagreement with the article.Wages will be lowered. But not at the top end – at the middle and mediocre end. The non rock stars will be in abundance and plentiful.If that happens I will then be able to hire them. And I will find work for them. I have all sorts of projects lined up. @PhilipSugar:disqus just said that in Delaware a programmer can still make 6 figures there. Well the things that I need aren’t going to pay 6 figure salaries nor do they require rock star skills. I never had those skills but I was able to make money with what I could do. And that was with nothing like what is available today as a crutch that makes it so much easier.

        4. LE

          “Jamie” – You probably don’t read the print WSJ but note this FULL PAGE ad last night… https://uploads.disquscdn.c

          1. jason wright

            what’s this?

          2. LE

            This is ‘Jamie’https://www.cnbc.com/2017/1…Oh wow looks like I am not the only one who noticed:https://www.cnbc.com/2017/1

          3. Lawrence Brass

            Somebody is eating Jamie’s cheese.

          4. jason wright

            oh, that Jamie. got it. thanks.

          5. William Mougayar

            Good find. From Switzerland.

        5. sigmaalgebra

          Yes, but from that effect only a tiny fraction of the people will get career results good enough to buy a house and support a family.Commonly Main Street trades are a better career opportunity.

        6. marcoliver

          @wmoug:disqus – I believe the US school system has to fix many many other problems and issues, before they should think about introducing new subjects. Don’t you agree? Most kids who leave the US school system these days cannot even to basic math, know nothing about the world outside the US and have difficulty express their opinions, because they lack proper writing/speaking skills, respectively are not critical at all (hence why this country has Trump as its president?).

      4. sigmaalgebra

        The article has> In an era of flat and falling incomes, programming provides a new path to the middle class – a skill so widely demanded that anyone who acquires it can command a livable, even lucrative, wage.BS. That was true when I was under 35. Much over age 35, and the statement long has been and remains wildly false. In particular, at the present and for 20+ years I have been absolutely, positively, totally, permanently unemployable at anything in computing at all for any salary level that will keep me from losing money at all. Always a house cost 5+ times my annual salary, i.e., too much to qualify for a mortgage. Before I gave up, I sent 1000+ resume copies, short, long, polished, etc. and never got back anything like a living wage, certainly nothing like enough to buy a house and support a family.Net, in computing, at times, for short intervals, there can be some jobs. Even then jobs good enough to buy a house and support a family are rare, especially in Silicon Valley, NYC, or Boston. Soon after age 35, there are nearly no such jobs at all. Then the only money available in computing is to successful startup founders.Most students in high school studying CS would, quite literally, no doubt, exactly true, be better off learning how to start and run a successful, suburban grass mowing service. Why? (A) The grass will keep growing. (B) The work won’t be automated or change much for decades.

    2. Mitchell Henderson

      I can only speak from my perspective. We need Computer Scientists badly – and the good ones are worth their weight in bitcoin. But I don’t know a single CEO of a startup that is not also a fantastic salesperson. Coding ability is amplified several fold for individuals that are also good at sales.

  3. lynnerae

    What impressive results. It’s the future/opportunity, and the more our students can understand this the better off they will be, and we will be, in leading innovation. Though I’m ‘born in the USA’, I’m active in Mexico’s tech-innovation sector, and its rate of growth has been notable — today they graduate more CS/IT degrees per capita than the US, or Germany (!!). The diversity in this NYC program is foundational — and fantastic to see. Congrats on the great contribution you are making to this progress, Fred.

  4. jason wright

    what’s the NYC D of E’s annual $ budget?

    1. fredwilson

      Massive

      1. Rob Terrin

        $30.8 billion (http://schools.nyc.gov/Abou…Interesting anecdote that I like to keep in mind about public vs private social roles, “[A hedge fund manager told Mayor Bloomberg] he’s going to raise $1 billion from the hedge fund community over the next five years to fix public education. When [Bloomberg] explained to him that New York City’s annual school budget was $22 billion a year, that was the last time we ever heard from him.”A bit more on topic, taking CS and the AP exam in high school put me on track for a technical career despite never majoring in CS. It enabled me to become a cybersecurity consultant, take masters and PhD level engineering classes while I studied business and public policy in graduate school and eventually found a cybersecurity firm. High school CS is a great foundation for economics, business, statistics, marketing, public policy and so many other fields that it should be a core course.I signed us up to host an intern this spring. @fredwilson:disqus if there are other ways http://www.tailriskconsulting.com can help out, I would like to know! Thanks so much for giving back to the NYC community.

  5. jason wright

    nice post, but why not supplement your holiday writings with an attached photo of where you are each day? adds a bit of colour to your wanderings.

  6. Steve Goldstein

    Well that’s awesome.

  7. William Mougayar

    That’s incredible traction, in Startup speak.As a student of globalization, I’m always curious how CS education compares in other countries too.

    1. TeddyBeingTeddy

      Ever since watching the movie Kids, I knew at that moment I’d never ever raise a family in NYC. Ever. “Shhh…It’s Casper” (chills)

  8. Mike Zamansky

    The CUNY piece is extremely important – NYC needs great educational opportunities that don’t cost 50 to 80 thousand a year.I’m very excited about what we’re currently doing at Hunter College but these things take time.

    1. fredwilson

      I am too Mike.

  9. DJL

    Congratulations to you and the NYC public schools. Is there a template that can be used by other cities? Has it branched to other school systems? This would be awesome in Houston.

    1. Michael Preston

      There’s a growing national movement build around city initiatives like this one as well as states/regions and non-urban districts. See http://summit.csforall.org

    2. Rob Underwood

      There is overlap between the CSForAll national community and the community of civic hackers who have helped with the recovery efforts for Sandy, Harvey, Irma, etc (see http://www.xconomy.com/texa… as some context) and there is a some discussion happening right now about prioritizing CS in Houston as part of the recovery efforts from Harvey.

      1. DJL

        Nice – so do I contact Jeff Reichman here?My kids are in Fort Bend ISD, and I am totally dismayed at the lack of effective tech usage. I am trying to see if we can establish tech “liaisons” among the parents to help.

        1. Rob Underwood

          DJL – Email me. I’m rob(at)ttmadvisors and I’ll rope you into the discussion with Jeff. But, yes, Jeff.

  10. Moritz

    I gotta’ wonder: what exactly are the kinds being taught?

    1. Mike Zamansky

      This is or should be a big concern. The growth is terrific but the implementation and quality, at least from what I’ve seen is very uneven.It’s amazing and awesome to get this much movement so quickly but unless the DOE makes sure that in the long run every class has a knowledgeable, qualified CS teacher (in 6-12 since that’s where you have subject specialists) we’ll see the same complaints about and problems with CS Ed that we’ve seen for decades in Math and Scienc Ed. I wish I could say I’m hopeful but I’m not.

      1. sigmaalgebra

        Ah, so hard? Let’s see:Lecture 1: Computer basics, bytes, data representation, processors, instructions, programming languages, compiling, “Hello World”.Lecture 2: Processor cores, privileged instructions, addressing rings, processor (n-way set associative) caches, cache concurrency, dynamic address translation, translation look aside buffers, address spaces, virtual memory, virtual machines, current speeds, capacities, costs.Lecture 3: Classic, current procedural programming language common basics — Basic, Fortran, Algol, PL/I, C, C++, Java, Python, C#, Visual Basic .NET. So,define data structures and operate on them with if-then-else, do-while, call-return. BNF, parsing, DeRemer LALR parsing, parsing generators, Ullman and compiler construction.Lecture 4: I/O basics. Hierarchical file systems, byte string files, direct access files, authentication, capabilities, and access control lists. Classic serial/parallel asynchronous I/O (COMx, LPTx), Ethernet, TCP/IP, sockets, SMTP, HTTP, HTTPS.Lecture 5: Flying over Knuth, CLRS, and Sedgewick at high speed and mentioning only a few of the horrible mistakes in CLRS: Sort-merge on sequential external storage. Sorting in main memory in-place, n^2 or (n ln(n))! Bubble sort or heap sort! The Gleason bound and heap sort. Big-O notation. Binary search. AVL trees. Red-black trees. B-trees. The heap data structure as a priority queue. Exercise: Speed up binary search when have several keys to search for.Lecture 6: Fast overview of computational time complexity. Combinatorial optimization and NP-completeness. Many NP-complete problems. The question of P versus NP. Glance at much more in algorithms from networks, optimization, computational geometry, string search, etc.Lecture 7: Relational database.Any questions?Not so hard!Good! Now after this low grade interruption, back to something good and actually important for the future of computing like pure and applied math!

        1. Rob Underwood

          Teaching “dynamic address translation” is not so easy when basic food security, and even physical security, is a primary concern for many students at many schools — schools at which usually few to none of the teachers have any training in computer science. There is a huge retraining effort involved in this to get current in-service teachers trained to be CS teachers.The heart and soul of all of this is “for all” — Fred, his foundation, Debbie Marcus and her team at the NYC DOE, etc. are committed to doing this for all students at all schools. That’s a huge undertaking in a system of 1.1 million students.I know it all sounds so easy from outside the education system. I have heard the “Why does it take 10 years?” complaints just as I know Fred and his team have. But, again, this is a massive teacher retraining program that has to happen amongst myriad other priorities and tensions, not least of which is that the NYC school system is the most segregated in the United States (and that in turn translates to a have/have not 10%/90% sets of schools which creates yet another obstacle to CSForAll).Mike, whose comment you responded to, just spent 20 years putting in a program akin to what you describe at Stuyvesant, the absolute top public high school in NYC. I was at Stuyvesant last night doing a tour for my son and the product of his work is evident and incredible. But again that was two decades of work at just one high school that already attracts the absolute best students in all of NYC.Here’s an idea — let’s pay every CS teacher the same as the median software engineer income at Google.

          1. sigmaalgebra

            My main point was that for HS “computer science”, could do pretty well in just 7 lectures.Okay, if there are too few suitable teaches, then have some videos made, one hour each, for 7 hours total, and have a textbook with expanded discussions, references, example code, and exercises.Then for the rest of the semester, develop some practical programming skills.My point is, the “science” part is so far in all of “computer science” for the HS level not very long, 7 lectures are enough.And for the usual wringing of the hands about what programming languages to teach, notice that I restricted the candidates to just the “procedural” languages and, there, boiled the whole thing down to just (A) define some data structures (ordinary variables, arrays, collection classes, whatever) and (B) manipulate the data in those data structures with just if-then-else, do-while, and call-return. Sorry, I omitted the assignment statement with an expression on the right!Then do a table, what a simple program looks like in each of the several languages I mentioned. No, have two programs in each language, “Hello World” and, say, read in some character strings and sort them with, say, heap sort. Such a little program is enough to illustrate data structure definition, say, an array of strings, and the control structures I mentioned.It doesn’t have to be grim.

          2. Rob Underwood

            Respectfully you’re only looking at this from one dimension, curriculum development, and there is much more to delivering a class than just the curriculum. I wouldn’t say it’s the easy part, but it’s not the hardest either. It’s all well and good to have a wonderful online curriculum but doesn’t mean as much if kids are coming in hungry, bullied, not having slept, abused, etc. It also doesn’t mean much if the WAN/LAN at the school is not operational, which is all too common problem.Moreover – and I say this as someone who was the CTO of a the graduate school of education arguably at the very forefront of online education and flipped/hybrid classrooms – there is no replacing a real life, in person, qualified teacher with online anything. This is one reason why CSforAll/CSNYC is rightfully focused on (re-)training classroom teachers to teach computer science

          3. sigmaalgebra

            My ResponsesI’ve been around a lot in education, especially the STEM fields and technical education.So, I responded to the claim that it’s super tough to teach first computer science in high school.I had two responses: (1) The main topics in computer science suitable for a first course in high school do not form a long list and, instead, can be covered in about seven lectures. (2) If good lecturers are not available in a high school system, then get some such lecturers from some universities and put their lectures on YouTube. Students could download the lectures as relatively high resolution MP4 files and play them, say, slowly, often stopping, with the VLC video player. Also have a book with more explanations, references, examples, and exercises. Sure, have the book in PDF.For promising students in computing, the lectures and the book should work well. By the way, I did mention the authors of some famous college texts on computer science; really what I outlined was an okay first college course in computer science, still just seven lectures.Just seven lectures? Once I saw good computer science researcher S. Kosaraju dust off the famous, pillar of computer science,Donald E. Knuth, The Art of Computer Programming, Volume 3, Sorting and Searching.in an hour. I’d already read the book fairly carefully; Kosaraju did okay in an hour.Lesson: Can do a lot of first cut computer science in an hour.Social ProblemsIn part your response was that for teaching computer science in all but the best few public NYC high schools encounters a lot of serious social problems.Okay. I can believe that there can be such things.But, when NYC has made some good progress on the social problems, then it can get back to teaching computer science.My guess is that maybe 5% of the students now could do well in a course such as I described.For what I say, I’ve got some relevant background:Technical TrainingLong likely the single most important case of technical training in the US was at the US Naval Aviation Technical Training Center (NATTC) at Millington, TN about 20 miles north of Memphis.The training was for the maintenance of the aircraft of the US Navy. So, there were schools for sheet metal, engines, hydraulics, electronics, etc.Continually there were about 40,000 students there.Long the schools were likely the single most important source of employees in US electronics.The main educator was Dad.So, I’ve been around some work in technical education.Good School and OthersIn particular, I grew up in Memphis. When Dad bought our house, he first picked the school. Well, Memphis had a crown jewel school, high end, college prep, deliberately the best of Memphis education. So, for grades 1-12, that’s where I went.There was a Latin course: On the annual state Latin test, her students routinely totally blew away all the other Latin students in the state.The school ranked well nationally: MIT came recruiting, and when they did classes were canceled, and the students gathered in the big auditorium for an hour long presentation by the MIT team.The year I graduated, for 1-2-3 on the Math SAT, I was #2, and #3 was voted “Most Intellectual” and went to MIT. The Math SAT scores the three of us got helped our high school rank nationally.The year before me, three guys went to Princeton and ran against some fourth guy for President of the Freshman Class.Okay, it was, as high schools go, okay. But there were other high schools in Memphis.Lucky kids! They only had to go half a day! And even luckier! They got the same textbooks we used but after we had used them for four years and had lots of answers written in the margins! Yes, the covers were falling of; lots of pages were missing; and maybe some of the pages were stained with sauce from the ubiquitous Memphis BBQ; but those marginal notes!I can believe that at those other schools there were some serious problems in the teaching due to social problems.The students in those schools and their families had plenty of reason to believe that they were a case of slave labor.So, I can believe that in some NYC schools there might be some social problems that get in the way of education. I can believe that.But, NYC must really like such social problems because essentially all NYC and all the major NYS politicians are eager for open borders to bring in a lot more such social problems and, sure, people who have plenty of reason to believe that they are a new version of slave labor.So, NYC imports people for slave labor and then has some social problems from slave labor. Okay. So, why are the NYC public schools trying to teach computer science to the slaves instead of just broom pushing 101?When NYC wants to solve the social problems and does, then they can get back to education, and then maybe what I wrote could be useful.LearningFor my education, Dad left me essentially alone. Well, in grades 1-8, the teachers were not thrilled with me. But in grades 9-12 I found that I could do well in math and science, especially math. I continued that way through my Ph.D. in applied math, and my main technique for learning, whether I was in a course or not, was just to teach myself.So, in plane geometry, I regarded the exercises as more fun than eating caramel popcorn, largely ignored the exercises in the main part of the text as too easy to bother with, but eagerly did 100%, made sure I never missed even one, of the more difficult exercises in the back of the book. I wish I’d paid the fee to keep the book, but the students who later got my book got a lot of quite good marginal notes! But, sure, in class, I slept!The students 1-2 on the Math SAT were 1-2 on the state geometry test! So, for 1-2, it was me and one other guy. Sure, since the school was by far the best in Memphis, and I’m not sure there was a Yeshiva there, there were some Jewish kids there, maybe nearly all the Jewish kids in the city. So, for 1-2-3 on the Math SATs, #1 and #3 were Jewish! They both worked hard at school. I loved math and science and couldn’t put them down!There in plane geometry I did my first somewhat original work! I reinvented the advanced construction technique similitude. When I showed the geometry teacher, she said I “couldn’t do that”. Later I discovered that I was right and she, wrong! Why? Given triangle ABC, by Euclidean construction, find E on AB and D on BC so that the lengths AE = ED = DC. Find how to solve that and you will likely reinvent similitude.For freshman calculus, I never took it and, instead, got a good book and studied it, and then started on a good course in the second year of calculus and did fine.Later in college I wanted to learn some point-set topology so got the main, challenging text by Kelley, and dug in. I gave a lecture a week to a prof, one week on the math of a chapter, and the next week on the exercises. The prof, a fresh math Ph.D. from MIT< never told me anything. I did fine.On the GRE math knowledge test, I got 800.It went on this way, mostly just teach myself.There really is a good role for a few lectures by some really good people; such lectures can outline good directions tough for a student to see otherwise.Lesson: A lot of largely self-teaching is possible.For more, self-teaching is important in math: E.g., that’s mostly how the professors learn new material they need to keep up and do good research.For more, long the Princeton math department stated that the graduate courses were introductions to research by experts in their fields and that no courses were given for preparation for the qualifying exams. Instead, students were expected to prepare for the exams on their own.Well, if only by accident, I found that that self-teaching approach was the best way anyway: In my grad school program, on three of the qualifying exams, I did the best in the class, and those three where the ones where I’d taught myself the material before going to that grad school.Lesson: Self-teaching is important.TeachingSo, of course, one way and another I’ve done some teaching.I never encountered the problems you mentioned.E.g., for my Ph.D., I gave some seminars on my research. Some of the other students did their dissertations building on what I taught in the seminars.At Indiana University I taught trigonometry, college algebra, calculus, and math for elementary education teachers. For that last, the students were essentially all girls (PC: young women), just super serious about doing well in the material, really sweet, but essentially hopeless at math. And I was then hopeless at reading their super strong feminine emotions, especially math anxiety! All the teaching came out well except for that course for those girls!I taught computer science to ugrads at Georgetown and to grads at Ohio State University.A course in computer science? Essentially never had one! Some people actually take courses in computer science? Really?Uh, right, before I taught any computer science, I’d long had a good career in computing where I’d been teaching myself about both computing and associated applied math ASAP as if drinking from a fire hose.Again, self-teaching can be important.US Computer IndustryLong the main source of technical training for the US computer industry has been just self-teaching. E.g., some huge fraction of the industry got the first several volumes of Knuth’s The Art of Computer Programming,Brian W. Kernighan and Dennis M. Ritchie, The C Programming Language, Second Edition.Stanley B. Lippman, C++ Primer: Second Edition.Bjarne Stroustrup, The C++ Programming Language, Second Edition.Charles Petzold, Programming Windows, 5th Edition.and dug in.Similarly for how to program for Windows, Linux, smartphones, SQL, TCP/IP, HTML, CSS, JavaScript, the .NET Framework, SPSS, R, C-PLEX, AI/ML, AWS, etc.E.g., for programming Windows now, I can 100%, rock solidly guarantee you that there are well over 5000 Web documents of important Windows programming documentation at Microsoft’s MSDN Web site. Guarantee you on both the number of documents and their importance.My collection is well over 5000 just from Microsoft with likely 1000+ more from elsewhere. I have those documents in four collections, (A) programming languages, (B) SQL Server, (C) TCP/IP and Web page programming, (D) Windows more generally. I’ve read all the documents, nearly all carefully, and I have them all indexed and abstracted. For my code, as comments, I have links to relevant documents in that collection that, with my editor macros, can be displayed with just one keystroke.Lesson: To me, for software development, e.g., for my startup, that huge ocean of documentation is crucial.Long US bookstores had their biggest and most important sections not English 19th century romance novels or cookbooks but computer books. So, lots of US computer industry nerds bought lots of books, right, as part of self-teaching.More than once when I was buying such books in the computer book section of a bookstore, there would be some women around, young, perfect figures, perfectly dressed, attractive, skirts, relatively short, supposedly customers, who somehow didn’t look much like they were interested in computing, say, AVL trees, C++ collection classes, LINPACK, Rexx, Power Shell, etc. but had spent hours in meticulous dressing before coming to the bookstore. Hmm …. Maybe they hoped some computer nerd would invite them for coffee and little chocolate cakes in the coffee shop part of the bookstore? Ah, “revenge of the nerds”?Two lessons:First, for computing today, there is a huge ocean of documentation that is just crucial. Indeed, there’s no longer any very good way to have all that material in books and, instead, Web pages and maybe PDF files are crucial.Second, in the US computer industry, people learn this crucial material nearly only via self-teaching. Really, there’s no good way to teach all that stuff in classes. In the US computer industry, self-teaching has been magnificent, the main source of the training.Final Lesson on Computer TrainingFor people wanting to learn computing, e.g., software development, courses can be a start; sometimes some lectures can be good; but overwhelmingly people have to teach themselves via Web documents and PDF files on the Internet.For computing in NYC, in K-12 and college, e.g., at the Cornell effort on Roosevelt Island, at Courant, at Columbia, at upstate junior colleges, etc., they are not going to teach the material crucial for software development in likely 20,000+ Web documents.Bluntly, students who can’t teach themselves, motivated by the current oceans of consumer computing, etc., starting with “Hello World” just don’t have much future in the computer industry.In particular, some good lectures on YouTube should be more than what is otherwise available and more than enough. The rest is pushing that big rock up that big hill.

  11. Dan Zurek

    While CS education is incredibly important it is also very limiting in the types of students that it attracts. I think another approach to support the NYC Public School system is to partner with non-profit BUILD which provides an experiential learning model through entrepreneurship to students in under-resourced areas. @fredwilson:disqus BUILD NYC just launched last year in NYC and would love to see you get involved with this organization. https://build.org/where-we-

    1. Rob Underwood

      With the disclaimer that 1) I’ve done a fair bit of work with Fred on expanding CS in Brooklyn and 2) NFTE, a competitor to BUILD, is a client of my firm, TTM Advisors, your comment is a head scratcher.Your implication is that it’s an either/or between CS and entrepreneurship programs like BUILD, JA, NFTE, etc. Why? Don’t we want kids to learn both? And there are programs such as NFTE’s Startup Tech that bring together both as well.And how is CS education “very limiting in the types of students that it attracts.” Moreover, I assume you understand that the NYC CSForAll mandate is that all students will get at least a unit of CS in each band (K-5, 6-8, HS) — that bare minimum will be required of all students not an elective to which students will be “attracted.”

      1. Dan Zurek

        Hi Rob – thanks for taking notice to my thoughts. And congrats for helping build out the CS4All initiative – I do think it’s important work. I was suggesting that programs like BUILD (or NFTE or JA) help build a foundation for success first. You’re right – it’s certainly not an either/or, but if you don’t help build the support system or nurture the curiosity of a student in a way that has demonstrated success (like with BUILD and NFTE and JA) then a core curriculum class, whether it be CS, math, science, history, has the potential to fall flat, especially with students who may have a hard time with it to begin with. Then, if you factor in difficult family and/or living situations, especially in underserved communities, programs like BUILD (and again, NFTE, JA, imentor…etc) can make all the difference in a student’s life – and have more of an impact.

  12. curtissumpter

    The AP exam is still using Java?!?!?Why?It’s such a deep language and the learning curve is so long. Why not Python? It’s faster, easier to learn, and can be just as deep and sophisticated.I don’t understand.

    1. Rob Underwood

      Education is a highly regulated industry in which things do not move quickly. In the case of the “AP-A” Exam, there are certainly some who would like to see that exam be given in a language besides Java (Python is one many suggestion) and there may in fact be plans to do just that (that’s a question for the College Board; if you’re really curious let me know and I’ll ask). But it’s a huge investment of time and money to retrain teachers, develop new curriculum, etc. to switch languages. As much a those not education may wish otherwise, things can not simply be switched out and changed over night.Note that as Fred points out there is a new exam, AP Principles. And Princples is not tied to a language and can be taught in a variety of languages (see page 38 of https://secure-media.colleg….For better or worse (I’d argue worse, but think I’m in the minority) most AP Principles courses are getting taught in Scratch, BYOB, or a similar block based language (I say “worse” as I taught a pilot of AP-P in Brooklyn and my students we eager to move on the “real” programming in text; and when I visited Brooklyn Tech last week heard the same from several students — high school seem to intuit that block based programming is not, in their mind at least, “real programming”).

    2. Mitchell Henderson

      I think because Java is still too popular. If you want your apps to run everywhere you need to use Java still.

  13. pointsnfigures

    check out brilliant.org great way to learn and study for things like this

  14. Rob Underwood

    See my comment above. Lots of folks would like to change out Java for another language. But start to finish, from getting a new language decided upon to students sitting for a test in it is probably 3 years, and more like 5.Fred makes a pretty clear appeal for cash in his post and what would help a lot if is folks would commit money to making all this happen. Nearly everyone working on this cause is making WAY less than their market value, and then there are a ton of costs associated with professional development and curriculum design. The ecosystem of computer science needs a lot more money infused, and also needs the money more even dispersed among organizations working in this space. CSNYC, the private partner to CSForAll that Fred chairs would be a great choice for a donation.There also needs to be more space made for-profit companies (disclaimer: I advise one, Codesters) — McGraw Hill and Pearson are not non profits and we should not expect that CS education uniquely curriculum development and PD, among all school subjects, is going to be done only by non profits. Candidly I think the CS education effort has hurt itself by building so much reliance on only non profit business models.

  15. Rob Underwood

    I don’t have a 501(c)(3) — I was referring to the foundation Fred chairs, CSNYC. You can donated at https://csnyc.org/donate“… Current school systems need to fix their problems with the money they have” sounds nice in, say, Republican talking points but at lot of schools in NYC at least, parents (at least at the 90% of NYC public schools or so in the “have not” category) are have to raise money and pay for essentials like toilet paper. Budgets are expression of strategy and strategy is the process of prioritization. Based on how much we spend on education and especially how much we pay teachers, the United States has made it pretty clear that both education and our children are pretty low in terms of priority. Like I said in another comment, if CS education were truly a priority we’d be paying CS teachers (and teachers overall) something akin to what they could make if they instead chose to take their tech talents to Google.I have not idea what Montessori has to do with this — CSNYC and the NYC DOE program overall are about creating a CS program within each of the 1,700 NYC public schools – elementary, middle, and high school – not creating new schools.This is an open offer to anyone on this blog — if you’d like to see the realities of public schooling in NYC, email me (rob-at-ttmadvisors-com) and I’ll take you one elementary, middle, and high school in Brooklyn. It’s eye opening (and I’m serious in this offer).

  16. Rob Underwood

    Who is they? Our host, Fred, who chairs the foundation?