Hacker News new | past | comments | ask | show | jobs | submit login

Practical programming should not be the point of early computer science curricula.



It should be if you want more people than CS majors to take it.


That's why there should be a separate line of courses for people who are interested in practical programming rather than computer science, similar to the way many schools have separate "calculus for business" or "calculus for engineers" classes for those who aren't math majors.


Intro to CS is intro to CS.

Intro to programming is something different.

And there is a difference between the two, and the courses should not be conflated.


Why on earth not? What's so bad about starting at a high level of abstraction and then progressively peeling the abstraction away to get to the core concepts?


freshmen are easily bored?


You have to learn arithmetic before you can learn proofs.


Ehh.... I don't believe so.

I'm reasonably sure Euclidean geometry and symbolic logic do not require arithmetic.


It'd be interesting to teach first graders that.


Can you prove it?


Why, doesn't this add up?


Frankly, not that much.

Proof writing depends more on abstract reasoning than knowledge of arithmetics.

Of course, traditionally, it works that way. I would say, though, it's harmful a bit for the reason that the basic math curriculum is so boring, it puts off many brilliant minds.

Mandatory reference: TED Talk, Wolfram on Math Education. ;-)


I actually think that students could be exposed to proofs at an earlier level. At least, the ability to conceptualize a reasoned argument.

But I think to be able to do actual mathematical proofs, elementary school students may lack many of the tools and mechanisms that are necessary. Those tools being arithmetic and basic operations. By the same token, I think understanding basic CS principles and programming are necessary prior to understanding the theory.

Though it would be interesting for an Intro to CS course that used no actual language but was taught with only psuedocode. Teach basic concepts, hell even data structures, prior to tying the concepts to any one programming language.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: