Hacker News new | past | comments | ask | show | jobs | submit login
New York City gets a Software Engineering High School (joelonsoftware.com)
329 points by apress on Jan 13, 2012 | hide | past | favorite | 122 comments



I am actually astonished that this is the first time something like this is tried in the US. And I also don't understand the negative comments here in HN - most of you guys probably had a passion for computers at even earlier age and would have enjoyed this kind of school greatly. Here In the Sofia (the capital of Bulgaria) this is long established practice - we have loosely specialized schools and students decide where hey want to learn at about 13 years of age. You can of course switch schools as you like, but more prestigious ones have some requirements. The point is that I did know I wanted to work with computers and made this decision then to go to he programming school here and I consider this one of he best decisions in my life. Most of my classmates have ended up with quite accomplished careers in IT but a surprising number end up with very different professions - doctors, dentists, musicians - the emphasis on programming did not hinder their progress that much maybe even helped hem.


I also don't understand the negative comments here in HN

I bet many HN'ers are remembering what they were like at that age. Sure, plenty of geeks started programming in kindergarden or what have you- but I know I didn't pick engineering until I was twenty, and when I was fourteen I still had no idea what I wanted to do. (Besides knowing that I liked woodshop) If I had been forced to decide back then, I probably wouldn't have discovered engineering before it was too late.


Even if you had chosen "wrong" when you were 14, surely you could have switched to engineering when you were 20. I think that's what he meant by saying that some of his friends ended up with surprising careers despite studying programming.


Specialized High Schools already exist in NYC. I attended Murry Bertraum for Business Careers (in downtown manhattan) and took computer science electives in QBASIC, Fortran, and Java. This was in 2004 - when obviously Qbasic and Fortran had nothing to do with the internet - but that's the education system for you. There is also Stuyvesant, Brooklyn Tech and Bronx Science.


Stuy High alumnus here ('04). Applications to the Stuy, BK Tech and BX Sci are more rigorous than most college applications - considering this high school is not basing entrance acceptance on GPA/Attendance, what could they possibly be using as an acceptance metric? While it might be good for a few kids who believe (or are told to believe) that Comp Sci is the only way to a six figure job and a life of happiness, something tells me the other aspects of High School might be largely deficient and ultimately, dare I say, self destructive.


It is not the first time, there are dozens of specialized schools in NYC alone. There are thousands of specialized schools across the country. Arts, sciences, sports, you name it.


I am actually astonished that this is the first time something like this is tried in the US. And I also don't understand the negative comments here in HN

Specialized high schools are moderately common in the United States, some organized as general public schools, and some organized as "charter" schools (a form of regulation in the United States with public funding, but less public funding than most schools, and some variation in regulations that apply to general public schools). In my part of the United States, Minnesota, there is public school open enrollment (any student can enroll in any public school district, anywhere in the state) and quite a few charter schools (Minnesota was the first state to have any charter schools). My public school district receives students from forty-one public school districts, the farthest one more than 100 miles away. (I've heard that the child stays with relatives during the school week and goes back to his parents' home on weekends. That is perfectly legal here in Minnesota.) There is another charter school, far across the metropolitan area from where I live, that purports to be a Math and Science Academy.

http://www.mnmsa.org/

But as I think any European or east Asian reader of the school's website will soon recognize, the Math and Science Academy charter school in Minnesota does not have a credible academic program in mathematics or science up to international standards. (One of my good friends had a child in that school, and she is bitterly disappointed by how much the school killed her daughter's interest in mathematics and science with its underchallenging curriculum.) A regular public school in Minnesota is permitted to have an internal program that is academically selective, for example a "school within a school" for gifted students, as my local school district does

http://www.minnetonka.k12.mn.us/ACADEMICS/NAVIGATORPROGRAM/P...

and as other Minnesota public school districts had first.

http://www.invergrove.k12.mn.us/atheneum.html

http://www.springlakeparkschools.org/schools/la/la_lighthous...

http://department.services.bloomington.k12.mn.us/modules/cms...

By contrast, charter schools in Minnesota cannot be academically selective in any way, but must accept all applicants (which is also the plan for the New York City school in the submitted article), allocating spaces by lottery if the number of applicants exceeds the number of spaces. That is one of several ways in which regulations on charter schools are more restrictive than the regulations on regular public school districts.

Minnesota has a specialized program for mathematics only

http://www.mathcep.umn.edu/umtymp/

that draws in students from all over the Twin Cities metropolitan area for classes at the University of Minnesota. I like that program a lot. My oldest son is an alumnus, and I will have two other children take that program's qualifying test in a few months, for two different entry points into that program.

In general, the cultural attitude in the United States is highly hostile to advanced programs for bright learners, as you can see in some of the comments here. Many programs for "gifted" students may not even have added value for academic growth,

http://educationnext.org/poor-results-for-high-achievers/

academic achievement even in wealthy school districts is often below the standards achieved in poorer countries,

http://globalreportcard.org/

and the United States especially lags behind in teaching mathematics to its most advanced students.

http://www.hks.harvard.edu/pepg/PDF/Papers/PEPG10-19_Hanushe...

So I'm glad to see the New York City experiment in offering a software engineering high school, and will be curious to see if that example is imitated in other parts of the United States.


Wow... it's been ages since I thought of UMTYMP. I went through two years of UMTYMP, and it was the most amazing program. In those two years we covered four years of high school math. It taught me math quick, and also how to work hard.

A side benefit is that because I was taking math at the University of Minnesota outside school hours, I had a free period at school when I would normally take math. (Along with two friends.) We had free reign over our Macintosh computer lab for nearly an hour a day for two years and it was AWESOME. I programmed some pretty wicked stuff in Hypercard, messed around with ripping audio from TV shows onto the computer, fked around on the school's network, and loved it all. (I'm dating myself a bit; this was around 1990-1992 or so.)

Programs like this are amazingly awesome, and they should spread far more than they do.


> the United States especially lags behind in teaching mathematics to its most advanced students.

When I was in 8th grade at the best private day school I could find that would bus me (just under an hour away, but I lived in the sticks and accepted that), I was one of the few kids in "advanced math and science." This was 1 year accelerated, nothing special: we just went to class with the 9th graders. I was taught "Math A" out of this bad boy: http://www.amazon.com/Lets-Review-Lawrence-S-Leff/dp/0764122...

In my first year of the 1.5-year-long Math A, I was never once introduced to the quadratic formula. We were taught to factor quadratic equations by guessing the roots. Not kidding. The Math A test guaranteed integer roots, so... we learned to factor quadratic equations by guessing roots. I actually wrote a TI-83+ program to solve quadratic equations by guessing the roots (somewhat intelligently).

I still look back on that in astonishment - that's all you had to know for algebra 1! Integer roots and guessing! I'm sure schools in new york state - and schools in my region - taught the quadratic formula... but by the book, they didn't have to.

Thankfully, I was fortunate enough to be able to go to high school in connecticut where I could get a decent education. So my story ended up just dandy. Not sure about the rest of NYS.


There is a lot of worry in this thread about the curriculum being too narrow. While I do not know how it will work in this new school, let me offer some perspective as a Stuyvesant alum.

Like many have said, it can be possible to have a "normal" school with all the usual subjects in addition to a prominent computer science program.

Take my experience, for example:

Freshman year I learned things like recursion, Scheme, dynamic programming, and cellular automata. Sophomore year, I learned basic data structures and algorithms and wrote a couple of games. Junior year I learned systems programming in C, signals, processes, network communication and wrote a filesharing system. The next semester I wrote a computer graphics engine from scratch --- all the way from line drawing to complex lighting and implementing an animation and scene graph language. I also took the independent research class where I worked on information retrieval research.

I am not bragging. This is typical (in fact, many of the projects, or variations thereof, are things that everybody in those classes does). And yet, I still took tons of math, physics, chemistry, european history, american history, classical literature, modern literature, tech shop, architecture, and many other things. This was also typical! Other kids took the same common stuff but instead of so much computer science and math they took special electives in philosophy, literature, history, economics, and so on.

You really can fit all that stuff in. Stuyvesant is a great example that you can have a serious, multi-year computer science program and still have more than enough focus on other subjects.


I'm not sure it's a great idea to get so focused at such an early age. There's a lot to learn about the world when you're 14, and it might be good to explore a wide range of topics. (I personally took most of my "real" classes in high school, so by the time I got to college, I had an idea of what I wanted to do. After going to college for a year, I realized my needs would not be met in that way. But deciding at 20 is a lot different from deciding at 14.)


There is a lot to learn about the world when you're 14. But I was already programming when I was 14. When I was younger than that, I asked my dad how I could cheat at the qbasic games we had on the family computer: he handed me a 'learn qbasic' book, and told me that all I needed to know to cheat in those games was in there.

Just because the school will focus on software engineering doesn't mean it will lack in other areas. I'm fairly certain I would have done better in math, for example, if the math courses were programming-oriented instead of pencil-and-paper oriented.

It's pretty specifically stated that this is not a vocational school.

A lot of classes can benefit from an injection of programming - a few off the top of my head include statistics, maths, physics...


I was in a similar boat. I was already programming in qbasic when I was around 14-15, but went to a standard high school. Math had always been my strong point, but I lost interest and my grades suffered. It was then very difficult to catch up because I wasn't learning whatever I needed to learn throughout the year.

I did however excel at the programming course we had. I loved going to the computer lab and trying stuff out. This school would have been awesome if it was around when I was in school. It would have been a perfect fit.


From the article:

"Unlike traditional vocational schools, this new school will have a rigorous academic component and will prepare students for college"

You're going to the school because you want to learn to code, but it's not just coding.


"vocational school":

I guess it is official now: IT programmers are the blue collar workers of the digital age. Nothing against hard working men and women regardless of the color of the[ir] collar, but software is a mind product and this disparages the true measure and worth of [what] we do as software engineers.

[edit]


For a while now I've been thinking that there should be a divide between software engineers, programmers, and computer scientists. Software engineers should be considered the people who go out and design a system, who are the primary create force and technical experts. Programmers should be people who implement.

Computer Scientists should be (mainly) scientists.

I see a lot of people who I have gone through school with enjoy the first 2 years where it's mostly practical work. Then they hit the last 2 years where it comes down to theory and they struggle with it.

A 2 year vocational school that focuses on learning a couple of languages, data structures, and gives a few options for specializing a bit sounds like a good idea to me. Then you can software engineering which is focused entirely on the actually engineering of a system.

In a seperate but equal sort of setup you can have more theoretical CS.


I'm sure that this divide exists somewhere if people still talk abou tit, but genuinely confused by it. "Programmer" and "Software Engineer" are different job categories for the purposes of filing taxes (in the US), and I've read articles projecting job prospects that give a sunny outlook to "software engineers" and poor prospects to "computer programmers." The idea is always that "software engineers" design a system and provide technical expertise, and "programmers" implement.

Thing is, I've called myself a "programmer" for well over a decade now, and I just don't see it. Where are these programmers who just "implement"? I guess if someone had wireframes and made all the technology decisions and handed it over to a programmer, maybe that would count?

A company I worked for tried this, they made me an "Architect" and gave me an offshore team, and it was a disaster. It could be that I wasn't good at providing precise instructions, but to me, precise instructions are hard to distinguish from code. Well, maybe that's why "programmers" have poor job prospects - all programming work is now done by "software engineers"...

Does google, or facebook use "programmers" who are distinct from "software engineers?" Any startups out there that do this?


Does not exist. It seems to be primarily about trying to define programming as an upscale profession like engineering - "programmers" might be replaceable cogs, but "software engineers" are a little harder to shove around.

Even worse, you have "computer engineering", which is a real engineering discipline (at least when focussed on hardware) and then you have the disaster that is the CS/programming community's attempts to ape standard engineering practices when the blueprint and finished product are the exact same thing.


The divide exists as a matter of practice; I do agree with you. But I think it a disservice to steer young people who gravitate to the field [from casting a wide net as far education goes]. My formal education background is BSEE (through which I learned to reason about systems) and MArch (through which I learned to think about total design of artifacts subject to orthogonal concerns). I have been happily coding since 16 years of age (20+ years professionally), but my one regret (as far as software goes) remains not hitting the CS fundamentals earlier, and I have been addressing that for the past few years. (I'll admit that back in engineering school we used to make fun of CSs ("is computer science? /snicker") Turns out the joke was on me!)

If you haven't seen this, I recommend this lecture by Dr. Alan Kay, that does address this issue (besides being a phenomenal talk):

http://tele-task.de/archive/video/flash/14029/


(1) How does viewing something as a craft rather than as a Mind Product undermine its worth? Your statement tells much more about your value system than it does about reality.

(2) Read. The school is not structured like a vocational school.


So an electrical engineer who designs circuits is blue collar now too?


well in the Uk he/she is - apparently the no2 at Martelsham ( The place where Tommy Flowers the design the first computer)

One day his wife was asked what he did and when she said "oh hes an engineer" they reply was "that's nice dear what sort of cars does he work on"


Here in Finland people have two different paths to choose from after the first (compulsory) 9 years of studying. The academic path means going to an upper high school and then to a university. The other option is to go to a vocational school, and then to either get a job, or continue to a university of applied sciences[1].

The system seems to be working pretty well. The vocational path has been gaining popularity all the time (at the moment I think almost 50% of students choose it). The academic path is still considered more prestigious though.

The main difference seems to be that here we make the decision when we're 16-17 years old.

[1]: The difference is that a University teaches "computer science" while a University of Applied Sciences teaches "software engineering". You can also go to a University from a vocational school, or to a UoAS from an upper high school, but usually people don't do that.


Conversely, if a student thinks this is something they want to do, and find out this is not what they want, better to do that sooner rather then later. Cheaper to do it this way then in college.


Transferring to a specialized super-school is probably not the best way to find out if you like it.


I actually attended one of these types of schools in New Jersey. They are part of the vocational district, but are far from it.

There was an entrance exam and requirements, when I attended there were four schools: Marine Academy of Science and Technology (marine-biology with a heavy NJROTC component), High Technology High School (engineering), Academy of Allied Health and Science (where I attended and focused on medical careers) and the just opened in 2000 Communications High School (video, media, design, journalism). Since graduating in 2004 they've opened a fifth, Biotechnology High School.

Though I do not have a career in medicine, I don't know anyone who attended these schools who would have traded it for anything. The academic program was one of the most rigorous in the state, and I felt truly prepared for college. The schools are consistently ranked near the very top of the US News rankings nationwide and publicly financed.

The value is in the exposure, I still have a great interest in health and use that experience frequently, I'm even an EMT which I did as a senior elective there. In fact, there's even a YC founder who went to one of our schools.

TL;DR: It's not so much specialization as it is a rigorous 4 year college prep program with exposure to a field you have interest in.


HTHS'er (1999) & startup founder here -- I think this will be good for NYC but naming the school after such a focused discipline seems a bit shortsighted. "Software engineering" is likely going to be a phrase that looks quite silly a few decades from now. At the very least it should be a Computer Science academy.


It is probably not for everyone. But for 100 lucky students, I bet this will be just what they need. My son, who incidentally will be in 9th grade next year, has never had any interests beyond computers. Maybe it's time to move to NY.


Yes you do need to have a wider range than just CS

In fact a lot of what industy needs is more Computer Enginering and lees hyper secpecialised CS majors - you dont see Audi or Mercedes saying we need engineers lets train a load of physicists.


Computer Engineering is generally hardware and firmware design, something that is becoming less and less important as generalized processors have become smaller, cheaper, and more powerful. At this point, almost everything can be done in software, so a Computer Science degree is more important.

Also, your Audi/Mercedes analogy is flawed. Physicists and engineers are very different, and if they needed more engineers, they would sponsor engineering schools. Right now we need more software developers, so training kids in Computer Science makes complete sense. Some schools (including my alma mater) do provide a separate Software Engineering degree, but they generally overlap so much with CS as to be virtually indistinguishable. It's also somewhat laughable to call Software Engineering "engineering", as there is a general lack of rigor and no formal qualification for software engineers like there is for every other branch of engineering.


> Computer Engineering is generally hardware and firmware design, something that is becoming less and less important as generalized processors have become smaller, cheaper, and more powerful. At this point, almost everything can be done in software, so a Computer Science degree is more important.

And who, exactly, do you think is designing these new processors?


Computer Engineer here- while I would selfishly argue that Computer Science is not more important, the CS field is even now still growing, while our field is contracting. I do not expect ours to ever go away entirely, but the answer is not to make everyone a CE.

I think maybe what mjwalshe is thinking about, is the Computer Scientist graduates who cannot even program.


yes that's what i was getting at theorys all very well but you need to be able to apply this to real world which is what most employers of programmers want.

My first job after school (as a technical programmer) was at an Elite RnmD organistion (our boss was the mechanical engineers president at the time) and I remember I was told one way to think about it is that "engineers" are scientists with thumbs.


Role reversal: Employers say they can't find workers

http://lifeinc.today.msnbc.msn.com/_news/2012/01/13/10142795...


At my high-school in Romania we silently eliminated religion (yeah, surprised?), philosophy, 1 lesson of geography, 1 lesson of french and maybe something else.. and at the end we got 2 cs theory lessons and 6 full lessons of coding in the lab per week. We all had a linux shell on the school's server and most used vim to code C with gcc and makefiles.

That had a lot to do with what kind of programmer I am today even if I was one of the worst students in the class.


Religion class aside, it seems a loss to do away with geography, philosophy and foreign languages. I love that you guys had a shell and learned so many great tools, but I think programming is also enhanced by being exposed to many non-CS topics.


Don't worry, they drill more geography in you before high school than they do here throughout high school. Teaching foreign languages starts from kindergarten. By high school if you're inclined and had good teachers you should know enough to have an ok conversation in at least two different languages. Plus you get exposed to so much to English / Spanish (you hear the original soundtrack for every movie for example) that you could learn a lot just from listening. I'm not sure about philosophy though, that would be a loss.(salutari)


Compare unemployment rates in geography, philosophy and foreign languages. We need more CS people. We don't need more philosophers.

(Though admittedly, knowledge of English or German might be very useful if you are coming from Romania.)


According to census data from 2010, foreign language majors have a lower unemployment rate (5.2%) than computer science majors (5.6%). Geography (6.1%) and philosophy and religion (7.1%) don't fare as well, but are doing about as well as computer engineers (7.0%).

Worst off are clinical psychologists (19.1%), best off (0%) are actuaries, pharmacists, school administrators, and surprisingly, geologists and astronomers (!).

http://graphicsweb.wsj.com/documents/NILF1111/#term=


I stand corrected, foreign languages are probably also a worthwhile field of study.


We don't need more Continental philosophers. We need all the Analytic philosophers we can get. A curriculum that emphasizes rigorous thinking skills and logic is an invaluable foundation for CS as well as every other valuable human endeavor.


Philosophy also teaches one to carefully define terms and examine underlying assumptions. Clearly stating the problem often makes the solution obvious.


This is the wrong way to think about education. Learning is learning, regardless of job placement, and while I recognize the need for stronger STEM education it shouldn't come at the expense of equally important topics.


Learning is good only if it either enables you do to something useful or you enjoy it. If you don't enjoy it (many people don't), focus on learning that lets you do something useful. High job placement gives an indication that a field is useful.

As for learning you do because you enjoy it, treat it as consumption (i.e., the same way you treat an X-Box).


You cannot know what you will find useful in the future. A broad education helps inform your decisions on a huge variety of subjects, even without realizing it. Learning only what you think you'll need for your future profession is a really terrible idea.


With certainty, no. So what? The right question to ask is this: Is P(need subject X) x (cost of not knowing X) < (cost of learning X)?

Since the cost of learning X tends to be high (at least if you learn it in school), and the cost of not knowing it is very often nothing but the cost of learning it + cost of delays, this inequality is very often not satisfied.


I'm not talking about certainty. I'm saying that humans are impossibly bad at figuring out the first two variables in that equation, and only slightly better at figuring out the cost of learning.

And the opportunity cost of not knowing things can be staggering.

If you just want to maximize your wealth, maybe that approach is workable, since there are more tangible numbers involved, but if you're optimizing for happiness, it's much, much harder.


"Learning is good only if it either enables you do to something useful or you enjoy it."

I completely agree. But something is not only 'useful' if you can use it in your career.


> We don't need more philosophers.

Agreed but imagine how boring CS would be if people were ignorant of all of those other subjects.


> We don't need more philosophers.

Disagree. There would be no computer science without philosophy (but not the other way around).

> ...imagine how boring CS would be if people were ignorant of all of those other subjects.

If we eliminate philosophy from our curriculum, et cetera, I poise that kids entering high school this year will be obsolete by the time they have graduated. Because CS without philosophy is really just machine learning, right?


That's a fair point. I was already regretting my agreement with that notion.


So school should be thought of as nothing but a job training program?


A shell, gcc, makefiles...and not a clue of context of the world surrounding the toolbox to change it. Sounds like they were trying to churn out perspective-deprived automata.


I'm so jealous of people who had the opportunity to take CS classes in high school (none at mine). I've seriously considered volunteering to teach intro CS classes at local high schools, just to pay it forward, I guess. I'd done some BASIC and C programming by the time I entered high school, and I would have taken any programming or CS classes in a heartbeat.


I think this is great. The kids who are going to be applying and accepted to this school already have the desire to pursue CS and I would imagine are already investigatingthe topic on their own time. To be able to be exposed to formalized education in a field that you're already excited about is an amazing opportunity.


I went to Stuyvesant HS 10 years ago, and I took all the CS classes that the school had offered from Mr. Zamansky ("Z", as we affectionately call him), and can add some more specific information as to why this was necessary.

Stuyvesant opened in the beginning of the 20th century, and there are some vestigial components that should've been amputated long ago: in addition to the standard math, science, language (English and foreign), gym requirements, it has some requirements that truly made it historically a technical vocational school. To wit: 1 year of technical drafting (1 semester of drawing mechanical designs on paper, 1 semester of CAD), and 1.5 years of technical shop (1 semester of single-period shop, and 1 semester of double-period shop). By technical shop I mean the following: you get to choose two of ceramics, woodworking, metalworking (aka jewelry-making), electronics (aka computer tech), photography and video editing.

It's worth repeating: taking drafting and shop is required to graduate. By and large, these classes are not popular with students at all, the most obvious reason being "why the hell do we need to know this outdated shit? If someone likes it, they can take it as an elective."

Over the years, Z developed an ass-kicking CS curriculum: Intro to CS, AP CS (1 year), Systems/Network Programming, Graphics, and Independent Research. They are extraordinarily popular with the students, partially because Z is a great teacher, and partially because of the support of the previous alumni who would regularly take junior and senior-level college classes in their freshman college year thanks to that curriculum.

It's worth pointing out that none of the CS classes qualify for any graduation requirement. If you take them, you are taking them on your own time because you are interested. Aside from the knowledge itself, there's no carrot, even though the rest of the world is pointedly indicating that we need more software engineers and less metalworkers.

Now, Z goes to the current school administration and says "hey, can we add CS as an option to fulfill some graduation requirements?" and for 10 years straight (not kidding) the response he was getting was a consistent "GFY". Welcome to the NYC public school bureaucracy and people defending their own turf. It's not even that he asked anything outrageous. He didn't say "Hey, can we get rid of drafting and shop?". He said "Can we give our students more choice as to what is required to graduate?"

So, about two years ago Z decided to try a different avenue - working within the structure of Stuyvesant was not feasible, so he might as well go outside of it. Someone I know connected him to Fred Wilson, they chatted, and the rest is what you see in front of you. None of this would've happened if the Stuy HS administration had a few less heads up their asses.


Stuyvesant opened in the beginning of the 20th century, and there are some vestigial components that should've been amputated long ago

It's interesting to hear that Stuy requires drafting and shop. As a former NYC transplant I always thought it was more like a public prep school. My high school in rural Minnesota also required a year of shop, and drafting was one of the electives.

A few of my friends from high school focused on drafting and CAD, and have great jobs with architectural and engineering firms in the area. When I had to return for a while to deal with some family stuff, I could not find a local programming job to save my life.

NYC has continual construction, both with new buildings and public works projects. Drafting certainly seems antiquated, but perhaps there actually is a local need to get high performing students interested in the preliminaries of construction, civil engineering, city planning and other related fields?


It's an interesting question. Certainly, I know of a few people that after high school got urban planning degrees and seem to be happy in their jobs, so I am not one to denigrate fields related to construction. However, on a daily basis I am bombarded with articles that say how the supply of software engineers is low, but I don't often see articles that says that the supply of mechanical and civil engineers is low. Of course, my sample is thoroughly biased because I hang out in software circles - however, I still suspect that the supply of mechanical and civil engineers is just fine.

It all comes back to the difference between "requirement" and "elective". A situation where you must take a class in a field where the supply seems to be ok, but not in a field where the supply is low seems to be wrong.


Not according to Ross Brawn (you know the Best car designer in the world) - He and Mercedes have gone on the record that the CS grads are hopeless as they don't know the mathamatics to do CFD.

Though the last time I used my Mech side was to point out to an engineer in the 4th largest Civil Engineers that he had used the wrong equations for a bridge design.


Do you have any links to his comments? I agree with him (Most ruby "hackers" couldn't write a single line of code for an F1 car), and feel they also don't have enough soft skills, I'd like to see his view on the matter.


It was one one of the pieces about CS education in the Guardian - ill dig it out if i can find it tomorow


Did you ever dredge up that article? I'm genuinely curious what he had to say.


well when I did my mech enc Technician day release (in the 70's) we had to be able to design a Victorian era style central belt drive to run machines for a central prime mover.


As a Brooklyn Tech grad, we too had the shop and technical drafting requirements, though we also had a major system, which included Computer Science (http://www.bths.edu/majordesc/CompSci.jsp) as an option, which is technically required for graduation since it's your major. The courses offered as part of the major has changed since then, we had C++, Networking, and Computer Architecture, in addition to Java and Web Development, and perhaps another course or two that I can't recall. Though you can technically not take any of your major courses and graduate with a regular NYC diploma, I don't know anyone that was able to do that and stay within the school


I went to Brooklyn Tech as well and 'majored' in CS. Going into college, it was a huge advantage (maybe disadvantage in hindsight since I became bored in most of my 1st and 2nd year courses.)

I haven't seen the curriculum for this new school, but I hope they balance the theoretical with the practical. I hope it doesn't churn kids who end up being cheap labor for the big IT companies in NYC and who don't see Computer Science as a discipline and an art.

Looking back to my CS classes at Tech, I still recall what I learned about basic data structures and common algorithms. Heck, I still remember and find useful the things I learned about assembly.

The things I don't find useful and wish I could forget: Visual C++ and Windows programming.


What year did you graduate?

I was class of 2006 and we had AP Computer Science (which was Java at this point), computer architecture, networking, A+, some sort of PHP/MySQL web development class but it was mostly useless



Fascinating. I had no idea about the Brooklyn Tech major system. We didn't have one - you had your requirements, and then it's a free-for-all after that.


Very well put, Yuri. A small correction from a more recent alum: I was a freshman at Stuyvesant in the fall of 2003. In the Spring of 2004, the one semester intro CS class became a graduation requirement for sophomores (where the other semester would be a condensed version of the previous drafting courses). Your point still stands though --- this only happened after Z had already been teaching computer science --- and turning out a steady stream of great engineers --- since the early 90s.


"It's worth pointing out that none of the CS classes qualify for any graduation requirement."

Wow.

I've commented with others about the dangers of hyperfocus -- the flip side is denigration of CS by folks who are ostensibly guardians of "general education".

[deletion, material sent in email to poster, probably should have been so in the first place]

But at this point Zamansky has probably gone too far down this other road to have patience for that.


You are right about Z and this other road, but it's sad to see other high schools be left in the last century. However, aside from Z, I don't know of any other potential champion who is inside Stuy to pick up the baton.


It's great to hear from someone with some (positive!) firsthand experiences. Thanks for that insight.


I love computers and I work with them everyday, but I believe the idea of a high school geared primarily towards software engineering is wrong.

Computer Science teaches you to think logically about problems. It gives you primitives to build complex systems that will later help you understand the world. In fact, most computer scientists think the same when they approach a problem.

But there are other kinds of thinking that are also important which high schools should introduce to students. Art. Music. Athletics. Each subject requires you to think in a different way.

I will always remember what Marvin Minsky told me when I was taking his class: when he approaches a problem, he first chooses how he will think, not how he will approach the problem itself. He also said that he studied how the great minds of the past approached problems so that he could think like them.

Do I want to think like a Richard Feynman or an Albert Einstein? Have you ever thought about that question and what it means? If not, I recommend you start reading books that they've written so you can try to capture that brilliance.


That's a false dichotomy--a school focusing on CS does not preclude covering other subjects well. I doubt anybody wants to do away with art or music or English--rather, they want to take the existing curriculum and add CS, more than they've been able at normal schools.

Both my father and my uncle went to a mathematically oriented school in Russia; however, this does not mean their education suffered. What it meant was that on top of doing normal school, they had more math taught at a faster pace.

Specializing in high school does not stop you from getting a well rounded education, but it can provide focus and ensures an exceptionally thorough grounding in whatever subject you're specializing in.


Mike Zamansky was my AP CS teacher in high school. Way to go Mr. Zamansky!

Edit: If anyone has any questions about him or his teaching style I might be able to answer.


I have a question: how does he always come up with such brilliant ideas for Halloween costumes?


This is just a guess but he's been teaching for long enough that each year he probably keeps an eye out for concepts that he can use during Halloween and then works on the ones he judges to be the best.

Some say brilliance is often a product of hard work over a long time.


actually, I generally procrastinate until early October and than something hits me.


Hey, it's Mr. Z! You know, all of the tools that I use every day (i.e., Python and Emacs) I first learned from one of your classes. If it weren't for you, I would never be where I am today.

Thanks for being an awesome teacher, and congrats on this new project!


I have to echo this. I learned emacs, python, scheme (and then elisp, and then lisp), linux system administration, and assembly all as direct results of either Z's classes or being on the ZTeam and being pushed to learn more. Most of what I do now on a daily basis stretches directly back to those days.

So thanks, Z. :)


mine as well.


It looks like you know more than I do about his motivation for getting the new school going. Thanks for sharing that.


I don't know if that's novel in the US, but this is pretty common here in Argentina. Secondary school here takes 5 years. Where I did it (1997-2001), before starting the 3rd year (14 years old), we had to choose the speciality (software engeneering, chemistry, civil engeneering, media and communications, musical production, business administration, electronic engeneering, graphic design).

I choose software (while most of my friends of that time choose electrinics engeneering). The next three years we had lots of subjects related to CS. This is what I learned there: - Computer architecture, - Networking (osi model, ip stack, that sort of things), algorithms, - Structural programming (1st year), then oop (2nd year) (with C and C++), then Events Driven Programming with VB6 (3rd year) - systems analysis and design, database design (er model) - internet programming (back then, that was ASP, CSS and Javascript)

And all along the final year, we had a subject called Final Project, where we had to develop (from the requeriments to the implementantion) a REAL system (mostly done for family companies or NGO's ).

When I finished high school I was really prepared to start working, so I did, while at the same time, started going to the university. I can tell that it was REALLY easy to do my grad career because of my background. Even when at University some topics where seen in much deeper detail, i did it much faster than other people, because I already had my mind used to that things, and I just needed to learn the details.

But then again, even when I keept studing CS, some of my high school classmates chose other things to study (e.g: medicine, law school, economics, etc). But I think anyway that I must have to be a good experience for them, at least to learn that CS was not for them, and dont lose their time later.

Hope it helps!


I need to add that it was a private school (sadly, public school here is going down the tubes). And that CS subjects were additional to the standard subjects (maths, literature, geography, history, foreign language, philosofy, sports, etc).


Will they record/share the videos/lectures/notes?

It seems like it could also be a boon to many others if they can take the efforts of this school and share them out, similar to OCW at MIT, or Stanford, or even Khan Academy.

I think it would be particularly interesting because the other material out there tends to target either too high (the university material is at a university level, of course) or it doesn't have the same kind of feedback as what the students will be able to give here.

While Joel doesn't want it to just be superstars, it seems fairly likely that a good number of the kids would be the kind that already wrote their first OS and compiler before they attend, so I'm wondering if there will be a similar 'level divide' as what's seen in industry, and if so, what that ends up doing to the ones below that Mendoza line...


This is fantastic! This is the same thing I want to start in China someday.


As a Stuyvesant alum and a supporter of Z (a.k.a. Mike Zamansky), I can't wait to see what Z does here.

While Stuy was immensely fulfilling and I learned a lot, it was not thanks to the general history and drafting classes. While those were (sometimes) interesting, it was the fact that I was no longer bored as I was in JHS and got to take subjects that allowed to me excel and "stretch my brain," for lack of a better term. Those were limited to my CS classes (Z's classes), the math classes, and psychology.

The CS courses I took at Stuy were on par with, and occasionally better than, some of the courses I took at MIT. At the very least, it prepared me to do very well at MIT and allowed me to take more advanced courses.

If it hadn't been for Z, I know for a fact I would have been significantly more bored in HS and probably wouldn't have done as well. Being a part of the 'Z-Team,' as we affectionally called the network team at Stuy (yes, we were lucky enough to have a network team; sadly, due to the roadblocks placed in front of Z, I'm not even sure this exists anymore) was easily the best experience of my academic career up until that point, and one I still fondly look back upon.

I truly can't wait to see what Z does with a bit of freedom to build what he's been trying to build for over 10 years.


As a person who finds immeasurable delight in programming, I am immediately wary of this idea. My impression is that this HS's curriculum would be narrower than usual, to accommodate a deep focus on SEG.

If that is the case, I feel this is a disservice to young humans: we ought to be exposing them to as broad a range of human thought as possible, and not narrowly focusing on a passion. The idea (as I understand it) seems to be a recipe for producing narrow humans.


Absolutely. This is the first thing Joel has ever done that gives me pause. Any kid with the cognitive horsepower to code well has the chops for Shakespeare and Lincoln. I don't care if they aren't interested, if they knew what they needed to learn and how to learn it they wouldn't need a school.

This will very likely be a +1 over the status quo for 400 to 500 kids, at least over a 4 to 10 year period. But I expect that success will have more to do with the quality of the leadership than the soundness of the model -- which means this won't scale past the supply of Zamanskys and Spolskys.

And I'm afraid the characterization of the various symptoms skates around the deeper and touchier problems. (Some kids, in _school_ are struggling b/c their English isn't there yet, so let's focus them on subjects they can excel at anyway? Umm . . . ) That is understandable, it's a constructive effort, no point in picking fights and many people seem to believe those problems are beyond the reach of policy in any case. It seems Joel doesn't even agree with me about all of those. But the larger system ain't going anywhere until we tackle those issues. The larger problem is that we can't even discuss any of that without the whole thing turning into a food fight.

I admire the generosity here, I sympathize with the urgency to do _something_. But I really worry that efforts like this will divert a lot of valuable concern into sideroads without much potential for the larger system.


If they learn to engineer software, surely they'll know how to access Wikipedia.


Learning how to accumulate facts is a completely different problem than learning how to think about ideas. I think teaching children how to think about things is far more important than focusing on specific skills at that age, even if they are useful skills.


How can one confirm the benefit that thinking has had in one's life? From my point of view, it's more important to know both the principle and the problems (questions) that determine the results that exist in the world, rather than learning how to think about how to solve problems. It's my experience that I have to think when there's an important fact that I haven't realized.


I don't agree with this dichotomy. Thinking and doing are two activities that inform and reinforce each other - "book learning" and "on the job training" are best when combined in an individual.

Sometimes the best ideas don't come to you until you've worked and struggled with the existing tools and materials to appreciate the difference between practice and theory.


Education not only teaches facts, but efficiently exposes a person to unknown unknowns. I'd argue that a student-teacher conversation is more efficient at exposing a student to an unknown unknown, than Wikipedia would be.


Could you share one or two unknown unknowns to which you were exposed in school?


This is interesting, but I'm not certain there need be an institution with just a heavy interest on software engineering. The article suggests that there are those who may not be proficient at other academic pursuits, but may have a keen interest in software engineering. To be honest, most of those kids are the types who will start coding/hacking on their own, not sure if a special school is needed for this. Plus there are added benefits to learning english, the arts, maybe a foreign language - I feel all of these have an impact on the type of person you become, perhaps even the type of software engineer you become. Just like it is with medical school - in many countries you go to medical school straight from high school, but here you complete 4 years of college first. In those four years you learn certain things which med school won't cover and which you may never be able to learn at any point again - but they could have a significant impact on the type of doctor you become, esp in how you interact with your patients. I feel the same applies to any career choice, including software engineering.


To be honest, most of those kids are the types who will start coding/hacking on their own, not sure if a special school is needed for this

I might be a special case but for what it's worth: I didn't start programming until I was a freshman at Stuyvesant High School. I took the intro course on a whim and was hooked. If the computer science program didn't exist, I might not have gotten into it. I was more into art than math/cs back then. I didn't have much of an environment to discover that I loved programming before that, and I bet many other kids don't either.


My 2 cents on the "too specialized" arguments...

1 - In high school, the people who take multiple CS subjects tend to be intellectually curious, and good at many other things. The same folks who took AP CS with me also took AP European history. I suspect it will be similar here.

2 - Similar to what folks say about Stuyvesant, I don't think there will be a crowding out effect of other subjects.

3 - If done right, the teachers can connect many other subjects to computer science: Philosophy, Mathematics, the Scientific Method... This can make those topics more interesting, not less.

4 - The rigor of learning to program is applicable in many other fields. Computer Science grads frequently go into other fields precisely because of this. This diminishes the "Let's fix the software engineering deficit" argument, but it's true that CS as a major signals ability above and beyond programming.

If I had grown up in NYC, I would have done anything to go to this school. I am glad that my children might have the opportunity to go to a place like this if they so desire.


Almost makes me wish I was born in america. I can't think of anything like this over here in England.


Not for programming per say but a different way of eduction - http://www.summerhillschool.co.uk/


It is too bad our country doesn't care about education. All I hear about on the morning news in California is Jerry Brown making cuts to public spending on education. My wife and I put a lot of time into tutoring our daughter (1st grade) and it would be nice to know that by the time she reached the secondary education level that an option like a Software Engineering focus was available to her. I will try to stay positive and vote for government officials who support creative and proactive educational systems like this.


This is awesome, and I would have loved to go to a school like this.

However, I wonder if the school will become a place for people who are passionate about software to expand their coding talent at an early age, or if it'll become a place for kids whose parents want them to make money later in life to slog their way through a curriculum. It seems like there's a mixture of both types even in college CS programs, and one kind is a lot more pleasurable to learn with (as well as a lot more useful) than the other.


I'm not convinced by the idea of heavily specialised high schools. At that age you should be discovering what you're passionate about, and sampling a wide range of subjects.

The focus here seems to be more on training kids up for a job - would anyone be so enthusiastic if we replaced "software engineering" with "assembly line work" or "street sweeping"?


This notion that you should spend the first 30 years of your life figuring out what you want to do is a pretty recent one. Nobody ever questioned a 14 year old blacksmith's apprentice. I think for most of human history you just did pretty much whatever your father did.

It's not like the kids are being forced to go into this school. If you graduate at 18 and decided you don't want to be a programmer that's still plenty of time to do something else and having some knowledge of programming is going to be useful in just about any field.


Nobody ever questioned a 14 year old blacksmith's apprentice. I think for most of human history you just did pretty much whatever your father did.

I'm a little confused by your post, because the tone seems to suggest that this is a good thing.


I think it's good that people have more options than they used to. But for the vast, vast majority of people, their career will not be the fulfillment of some life-defining purpose, and trying to treat it as such is going to lead to disappointment.

Basically, I'm saying that it's ok if what you do for a living is not an all-consuming passion. I know if you're doing a startup, there's a good chance that it is, but there are other ways to lead a satisfying life besides through your job.

It's not so much that working towards a career is good, but I don't think it's the unmitigated disaster that some comments here are making it out to be.


By high school, I was already passionate about software. If an old, retired army colonel hadn't pushed his way into my school to teach computer science (thanks Mr. Mims!), I would have had to wait another three years to get any sort of formal CS instruction. Instead, I was able to test out of all of the introductory CS classes in college, which gave me more time to learn about the more advanced areas of CS.


The thing is, those aren't fair comparisons. Software engineers are in exceedingly high demand at this stage. This is just a reaction to that demand. In addition, software engineering is a very flexible field. You can engineer under or tangentially to almost any position or field and be a part of what makes those things interesting. Assembly line worker and street sweeper are not so similarly blessed.


> Software engineers are in exceedingly high demand at this stage.

When I was in high school, teachers were in exceedingly high demand. Because of this, teaching was a career highlighted often by our teachers.

The result is that most of my friends ended up choose teaching careers; along with a significant number of others in my age group. I have watched my friends really struggle to find work in the field and a couple have even chosen to leave the field altogether because there are far more people than jobs now.

Anyway, the point is that being forcefully reactive to the problem of career demands is never a good idea. You will just end up with a bunch of highly trained people who are unable to use those skills. I do not believe that software development is immune to this fact: Both teaching and programming are skills that are useful everywhere, but it still didn't help my friends.

The market will naturally sort itself out. As pay for programers rises, more people will become interested in the field until the pay declines again. The influx becomes manageable this way. Any additional incentives will cause the problems above. It is best to not mess with the market.


True, they aren't exactly fair comparisons, but I find them relevant. I recall just a few days ago, there was a discussion how "everyone" should be able to program, and a lot of the value comes from applying that programming to another, personally interesting field. I remember a quote "in 10 years not being able to program will be like not being able to...". No matter what that last word is, I agree with the above statements, a school so focused on one thing needs to give the students a chance to probe their other interests, ones they can use their software engineering prowess to excel at.

I think this is a great idea, but hope that in 10 years the kids who only have experience in software engineering do not become a commodity.


too much of a good thing is never good...do you really want to turn programming into a commodity? Do you want to be paid $10/hr for your work?

It's a supply and demand curve, there really only needs to be a few thousand too many developers looking for work and the entire thing will crash from the programmer perspective. Salaries/benefits will fall because people will be more eager to settle...and then there'll be in a race to the bottom taking less and less compensation in order to get a job


Hmm, won't that be a problem for the students given that the ratio of males to females is going to be far from 1:1?


I am certain that if this thing actually happens, it will spin out companies on par with any accelerator.


About time!

I would actually accept a much lower wage than in industry (as long as I could live off it - which I doubt would be very low in NYC haha) to teach at such a school


One of my dreams upon someday achieving FU money is to found a school like this in my home town (Rochester, NY). They need it.


Could anything like this ever happen in the UK?


Maybe in York...


Probaly not they wouldnt get 5 good GSCES which have to include english so school would be put in special needs and the head and 80% of the staff woudl be fired.

And a "technical" school getting anyone into oxbridge mm that will be the day.


Does Oxbridge really matter, anymore? I mean for those of us who aren't planing on becoming the next PM.

Similarly I am sure Eton (which seems to be one of the most popular ways into Oxbridge) provides a very good education, but I am also certain that it is almost impossible to pay that much for most people.


Its does for a lot of jobs I am afraid and places like Google do seem to like elite universities.

Also Ox-bridge along with Bath, Imperial and Queens (British telecoms Belfast engineering Center used to get the pick of those) do have a rep as being the best universities for CS.

Eatons where the thickos go :-) Years ago when Mum had had a stiff Gin she commented if we had stayed in Birmingham she would have tried to get my grandfather to pull strings to get me into King Edwards (Tolkien's Old school) which along with The Oratory (Tony Blairs school) are considered the top 2 schools.


If my girls show any interest in CS, I'm moving the family to NYC. Done.


from the article:

"Starting salaries for smart programmers from top schools are flirting with the $100,000 mark. "

By that logic, we better start churning out more doctors, lawyers and CEOs because, gosh, the salaries for those folks are flirting way way past the $100k mark. And we can't have that!

"One of the reasons the elite US colleges seem to turn out so few computer science majors every year is that they are only drawing from a narrow pool of mostly white and asian males."

Ooooh... we definitely can't have that! There's also a startingly low percentage of redheads and part-time harpists. Let's fix this, stat.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: