

CS in HS - Read Write Code - jkeesh
http://csinhs.com/

======
hoytie
I'm all for teaching CS in high school, but am irked by the claim that
"learning to code is just as important as learning how to read and write."
This is obviously not true if you think about it for two seconds. There isn't
a job in the world that doesn't involve communication. Reading and writing is
the basis of forming arguments and understanding things -- quantitative or
not. The best programmers I've encountered have great mastery of their native
language. Educators need to be careful about how they suggest CS should be
implemented in HS, and just how much is essential. It could be very effective
to integrate CS into a mathematics track, since they reinforce each other so
nicely. Computer literacy is so important and is becoming more important -- no
argument there -- but even computation itself requires a good grasp of
language. Computers can't answer the question of "why" for us.

They also suggest that computing skills will be required for "any" job, which
raises some important questions. First of all the claim itself is bs: Yeah,
computers will become more and more ubiquitous, but many vocations just don't
and shouldn't require computational skill. In many cases it could be a
distraction from the core issues of the vocation. I don't care if my
therapist, dance instructor, baker, farmer, mother, coach, musician, ... (ad
infinitum) knows how to reverse a linked list. Sure, computer literacy would
help all of them achieve certain things, but let's be honest about what level
of CS education is _essential_. Secondly, a world where EVERYONE has a job
where computing is of central importance is one I personally would never
strive towards. We should ask ourselves if we really want to stick all of
society behind a computer.

~~~
zachgalant
> Reading and writing is the basis of forming arguments and understanding
> things -- quantitative or not.

Similarly, having an exposure to coding and computational thinking also
fosters those sorts of critical problem solving skills that are helpful
whether or not you're a programmer.

> I don't care if my therapist, dance instructor, baker, farmer, mother,
> coach, musician, ... (ad infinitum) knows how to reverse a linked list.

That is not the argument we are making. We are not advocating that a baker
must also be a professional programmer, but we are saying that a certain level
of computer literacy is important no matter what field you are in.

Similarly, we wouldn't expect your dance instructor to be well versed in
Hemingway, but you would still value a basic level of reading and writing
skills.

~~~
hoytie
Your first point is certainly true, but I still think that "as important as.."
is an overstatement. Problem solving skills are taught in innumerable ways, so
what makes programming the most important?

I agree with your second point too, but "computer literacy is important"
belies "any job requires computational thinking". I think it's a great cause
and I'm happy to chip in, but the hyperbolic text makes me crave a more
nuanced discussion of it all.

------
majormajor
My high school AP CS course I took as a senior (good ol' apstring.h and
friends...) scared me off programming for four years due to an underqualified
teacher, a lack of feedback, and a total lack of any sort of big picture
approach, so I really like attempts like this to make it more accessible (and
more personal than just something totally automated).

~~~
zachgalant
Yeah, that sounds similar to a lot of stories we've heard. We've spent a ton
of time making sure it's fun and really accessible, so it doesn't scare people
off. If you try it out, let us know what your thoughts are.

<http://codehs.com>

~~~
majormajor
The thing I like most from browsing the site is that the demo programs look
really interesting. One of the most discouraging things about my high school
experience was that we spent what felt like a ton of time memorizing C++
syntax/include file boilerplate, and learning the fundamentals of pointers,
and then just used it to sort strings and solve riddles entirely from a
command line—but the command line didn't interest me at all back then.

~~~
zachgalant
Yeah, we definitely want to make it interesting. We've made some really cool
libraries that make graphics on the canvas really easy to use and pretty
intuitive, so you can make cool graphics, animations, and games very quickly.

For example, to draw a circle, you just need to type:

var circle = new Circle(radius);

circle.setPosition(x, y);

circle.setColor(Color.blue);

add(circle);

~~~
e12e
While this project looks really nice - that's not entirely different from:

<http://www.khanacademy.org/cs>

is it? (Not that that is a bad thing, just saying).

~~~
jkeesh
Like Zach mentioned, Khan's CS is a great tool and they have a great team. Our
approach is a bit different. Right from the beginning we start with "Karel the
dog," which allows you to focus much more on problem solving than on syntax.
The dog only knows four commands: move, turnLeft, putBall, and takeBall, so
the world is greatly simplified. In this way we are really giving comments on
how you take a big problem and break it down.

We've found that starting right with graphics (even though very fun to tinker
with) is too large a barrier for many students, since there are too many new
concepts at once.

------
jkeesh
Hey HN --

We are launching a crowdfunding campaign to teach 1,000 high school students
to code over the next six months.

We focus on providing help from _real people_ along the way--because when you
are learning to program, everyone gets stuck, and needs debugging help and
feedback.

We are also making a site to collect 30-second videos from people across all
fields saying "why you should learn to code." It would be great to get some
help from HN supporting this cause.

------
garbles
I like the idea of this, but just know that teaching first year university
courses is nothing like giving a quality high school education. As someone who
has done both, I think that it's near impossible for someone on the outside to
appreciate the difficulty of the latter. You will be sadly mistaken if you
believe that you can get away with giving a university type education to a
high school student. This seems to be a big point that most education startups
miss. That said, I look forward to seeing the results! Good luck!

~~~
zachgalant
Thanks! We definitely know there is a _huge_ difference. We've been spending
the last 6 months testing with mostly low-income 8th and 9th graders to make
sure we give the best teaching experience possible.

The course we've made is definitely inspired by what we taught at Stanford,
but it's very much a different course targeted specifically for high
schoolers.

~~~
garbles
Great news and good luck to the both of you!

------
davegauer
Beyond just the importance of understanding how computers work, I deeply
believe that learning to program can be a huge aid to understanding (really
_understanding_ ) mathematical concepts as well as other fields of science,
language, etc.

I'm currently reading Seymour Papert's amazing book _Mindstorms_ (after
reading a comment on HN, appropriately enough). I am in complete agreement
with his assertion that schools currently present topics as a series of
disconnected rote pieces with no "point" or basis for deeper understanding.
Computers can provide the platform for understanding, intuiting, and even
self-teaching concepts in a way that just isn't possible with pencil and
paper.

The whole book makes me unconsciously flex my hands into fists and suppress a
scream, "yes! This!"

I was one of those kids who thought they just weren't made for math and I
hated it and felt bad about it. Later in life, I finally figured out that all
of the math I'd been taught in school was about as complex as a "hello world"
program. It's laughable, really. And I don't feel bad about it anymore. I wish
somebody had been able to tell me that then.

------
econner
This is great. My high school didn't offer any AP computer science and most
people equated programming with learning how to use MS Office programs. I
think programming will truly become a medium like math that you need to know
because it is such a valuable tool for whatever you end up doing.

------
vandershraaf
This is indeed a great initiative. As many people pointed out, we need to
teach young kids for them to make sense of computer science and technology in
general. What hinders them from learning this seemingly hard field is the fact
that computer science is very abstract. So we have to let them know the
connection between loop and data processing, variable and data storage etc. I
really hope that this endeavor would do the exact thing. Good luck!

~~~
jkeesh
Yup---after having helped to teach lots of students how to program, I've seen
so many ways where people get stopped before they get started. Making it easy
to get started, and very accessible are the key. I've written more about that
earlier here: [http://blog.codehs.com/post/31912193554/getting-stopped-
befo...](http://blog.codehs.com/post/31912193554/getting-stopped-before-you-
get-started)

------
freditup
I personally had a great AP CS teacher. It was my favorite class. I remember
that most days we just went to class and worked on an assignment which was
programming something specific in Java. The days we had lectures were always
the worst. :D Point is, in HS you can put students in an environment where
coding is fun quite easily.

Also, great idea. I'm still stunned about how little attention programming
gets in schools.

~~~
just2n
My experience was equally awesome. My teacher was great, and definitely
qualified. She had worked for NASA as a Software Engineer and she even lead a
group of interested students in local programming competitions for UIL. Much
of the structure she had set up mirrors what CodeHS does, which is really
cool. People in the AP course were able to be tutors for people in the Pre-AP
course as we shared a room, which helped both groups immensely, IMO.

I think this is a pretty solid product. In my opinion, it's definitely better
than things that I've evaluated like it. Getting feedback on your submissions
is huge, and having tutors there to help you is pretty awesome. It also solves
some pretty glaring issues that still haven't been fixed in CodeAcademy for
example. Of what I saw, there isn't a whole lot there yet, but hopefully
there's a lot planned moving forward (or even in the non-free content). I
think the real value in things like this is the visibility it gives to current
students, and most of all the accessibility to new resources for them to keep
learning, especially when they hit roadblocks.

------
johncoogan
This is a really great program from an excellent team. Despite going to a
great high-school (IMHO), no teachers new CS, so we never had the option to
take any CS what-so-ever. It would have been awesome to have something like
this to bridge the gap between the hacking my friends did outside of school
and real course credit in school.

------
mgummelt
This is run by a few Stanford alums with a lot of experience teaching CS to
undergrad noobs. Should be a good experiment.

------
jtsegs
I've had the good fortune of working with both founders and they're highly
qualified with a lot of experience in the teaching CS space having helped
teach Stanford's intro CS courses. Keep an eye on them and recommend people
wanting to learn to code - this is a great way to learn fast and learn well.

------
christiangenco
Fantastic! And totally in line with a TEDx talk I gave last month[1].

I wish you guys immense success!

1\. [http://christian.gen.co/2012/09/21/tedxsmu-hilltop-you-
shoul...](http://christian.gen.co/2012/09/21/tedxsmu-hilltop-you-should-learn-
to-program.html)

~~~
zachgalant
Great talk! I'd love to hear more of your thoughts. I'll actually be in Dallas
for a bit starting this weekend if you're interested in talking. Shoot me an
email at zach@codehs.com

------
vitno
I'm a CS major in college. Students who knew what they were doing actively
avoided AP CS in our high school. (I've heard many other similar stories as
well)

The majority of High School "tech" teachers are utterly unqualified to teach
CS.

------
jbenet
This is awesome! You're definitely on to something with the whole personal
help thing. In my experience teaching CS, people _always_ get stuck on
something and it can be really frustrating for them.

------
e12e
Did I miss something in the FAQ for tutors? What kind of commitment do you
want? Any compensation (other than the joy of teaching, and the learning that
comes with that?)?

~~~
zachgalant
Right now, we're just looking for volunteers who are interested in helping out
on their own schedule without any required commitment.

As we grow, we will begin to structure it more and have more options for being
a paid tutor, but for now, it's for the joy of helping and inspiring beginners
(and sharpening your debugging skills as well).

------
rjwalsh88
Having worked with both of these guys, I'm excited to see where this goes.
Clearly an excellent problem to tackle, and I can't think of a better duo to
take it on.

~~~
zachgalant
Thanks RJ! We really appreciate your support!

------
pindi
A great initiative from a great team.

------
dam_adler
This is a pretty important cause.

------
bardenstein
the guys behind this know what they're doing, and this will go far.

------
zimmyer
What a great cause!

------
fearthetree2014
cool

