
Real talk from real computer science teachers - kevindeasis
https://medium.com/@NSF/real-talk-from-computer-science-teachers-89c935346ff2#.9ynt3p7t7
======
gshubert17
I have a master's in computer science, worked in industry for a couple of
decades, have been teaching high school computing for the past decade, and
think of myself as a "real" computer science teacher.

At the high school level, I think it is better to teach computing as a broad-
based life skill, not as a prerequisite to the AP exam, college major, or
programming specialization.

Most students of history in high school won't be historians; most students of
literature won't write great novels or screenplays; and so on. I think
computing is like math and science generally, in this way.

I use Kernighan's "D is for Digital" book in some of my classes. He wrote it
for an introductory college course for non-majors, and it works for high
school students too.

~~~
sloppycee
Computer science is the science of the 'theory of computation' (essentially
mathematics): proofs of correctness, complexity theory, numerical methods,
symbolic logic, etc.

I am glad that your course is called 'computing' and _not_ computer science,
since they are usually misconstrued (as in this article). I am all for
teaching children how the digital world works, and introducing them to the
concepts of electronics, programming etc. but it call it what it is.

Computer science != programming. Programming is an applied skill across nearly
all scientific disciplines. Physicists, climate researchers, statisticians,
etc, all require programming to do their research.

~~~
WoodenChair
Completely agree with your general sentiment "Computer Science != Programming"
but disagree with the fact that you seem to discount it as a part of computer
science all together. Computer science is all the things you listed and also
includes a lot of programming in any applied capacity of it.

I agree these courses are often mislabeled and it does the discipline a great
disservice, but programming is _a part_ of a computer science education and
programming language theory (which you can only really learn well from
programming) is a part of computer science itself. How else can you put
algorithmic theory and data structures into practice? It's just not the whole
thing.

Computer science people on the more mathy side of the spectrum tend to
discount applied computer science completely, and that annoys me. Maybe we
shouldn't call a plain coder a computer scientist - but anyone who regularly
applies theory in practical applications in a programming context and
occasionally runs experiments should be considered an applied computer
scientist.

For better or worse, a big part of studying computer science at the
undergraduate (and presumably high school level) is programming. And
programming is a part of computer science, but of course you're right
coding/programming != computer science and that misconception is a problem.

~~~
ethbro
I think the difficulty is the break between job title and discipline. And
discipline titles (in all fields) have always been a bit historical-wonky.

By profession, we're all effectively software engineers, data engineers, or
computer engineers, according to our work emphasis.

But then you've got the weird break you noted where academically and
theoretically, _everything_ we do is math. Or more reasonably, at least a
larger proportion than any other discipline except physics and pure math.

So... we could always just go the physics route and retitle the discipline
"Computing" and ourselves "Computerists"! (No trailing noun)

------
wtvanhest
If the goal is to get more people coding, the biggest problem that I see few
people (besides Hartl) solving are getting people from absolute zero to a
deployed project.

For web dev it means starting at a computer with just a web browser and
showing them how to get a functioning site running which you can send a web
address to outsiders, even a very, very minimal one. The definition changes
with robotics, or other coding disciplines, but the absolute key is developing
tutorials and tools which help people go from zero to minimal app deployment.

Once you get someone there, they can build on it using tutorials.

------
Benichmt1
Maybe I'm biased but I wish Computer Science was more of an integral standard
of education instead of an afterthought.

With all this discussion about Common Core, we're still at the point in my
state where MAYBE a Computer Science can be applied to the Math credit
requirement for graduation.

I just feel like so many schools view it as an optional afterthought.

Source: Physics teacher who has been begging his administration to add this
course. Right now I have over 40 kids who meet after school to learn
programming and scripting, but can't find it to be added as part of the
official offerings.

~~~
kickscondor
I teach computers and technology (basically stuff like Arduino, Twine, Scratch
and so on) at an elementary school. Obviously my experience is just my
experience - yours might be different - but there seems to be a fervor right
now for applying technology at every level of education.

To me - the problem is not enough programmers willing to come into teaching.
Programmers just want to be in startups right now.

~~~
cwbrandsma
Age might be a factor. When I was in my 20's I had no real interest in
teaching kids. No I'm older, with highschool age kids myself, now I have some
interest in it (I am teaching 2 of my kids to program myself).

But I'm not sure I would want to teach a real class either. Computer Science
is very hit-or-miss. Seems bad to force a kid to complete a class when they
have no aptitude for it.

Final side note: I help run Boise Code Camp, which is held once a year around
spring break. As part of that we devote one room just to kid topics (grade
school-middle-school). That room accounts for over 10% of our attendance.

~~~
jerf
This prompts the thought that we ought to reserve a few days at the end of a
school year for kids to try out computer programming. Then I realized that
would be awesome for _all_ the electives and got sort of excited. Then I
remembered that any real change in the school system is effectively impossible
and I got sad again.

(Would we still have shop classes if students had a chance to try it out
first?)

~~~
grayclhn
I think those few days for students to try out new subjects is named "summer
break."

------
rw2
Make computer science teaching something a computer programmer can do in his
spare time!

I have TAed at Cornell and ran my own section for beginner Java and pretty
sure I can do a great job of teaching students. However, why would I leave a
programming job or a founder job to do a teaching one at a huge pay cut. Make
the part time easy to do and I can drive to a school daily near lunch hours
and teach an hour of class and grade homeworks after work.

~~~
dj_axl
You're right about the pay for teachers. However if you look at the way it's
worked out for adjunct professors at the college level, the part-time pay is
even less, plus they miss out on benefits. If there's any high school
teachers' union involved, I'd bet they'd be against allowing part-time
teachers.

Once I chanced upon an ad for high school comp sci teacher. They were willing
to waive the Master's degree requirement as well as the teaching credential
requirement. As you note, the pay was ridiculously low, about 30-35% less than
industry salary for a fresh-out-of-school graduate. Would have been nice
though, for someone eager to teach but wanting to skip the 2-4 years of extra
training.

------
leroy_masochist
From article:

> "Until CS Principles, 95% of my students were math and science majors."

Since when did high schools start making kids choose majors??

~~~
SiVal
That was a teacher from the Alabama School of Fine Arts, which began as a
state-funded program to pay the fees of private, after school music, art,
writing, theater, and science/math schools so all kids, especially lower
income kids, could have access to private, fee-charging programs that
developed talents other than just sports. Eventually, the program evolved into
an actual public school, but one which requires auditioning for the specialty
you are interested in. The author of "The Hunger Games" is a graduate.

~~~
leroy_masochist
That's very cool! Thanks for the explanation.

------
nickpeterson
Might sound a bit crazy, but anyone else surprised at the reasonable gender
equality in that photograph? I somewhat expected a large amount of male
teachers, but if this is indicative of the average makeup it bodes well for
future female CompSci majors.

~~~
erroneousfunk
Not really. More than three fourths of all public school teachers are female,
and it was co-organized by the National Center for Women and Information
Technology, so it makes sense. Even at the high school level, teachers aren't
usually teaching what they have a degree in or have industry experience in,
they generally major in education and teach whatever the school needs. A lot
of my math/science teachers in high school were just following the book along
with the class, especially the younger teachers.

~~~
cwbrandsma
This was my school growing up in small-town USA. Town population of 2000, no
cities within a 5 hour drive, class of 60 kids. My math teachers typically had
math degrees, but the science teachers were usually warm bodies. (no such
issue with English, history, or spanish tho, had plenty of those)

