Live data from Hacker News

Learning to Code vs Learning Computer Science

shkspr.mobi

51–60 of 116 posts

Re: Learning to Code vs Learning Computer Science

#51
post #42

Why does he say "infamous" logo turtle? Logo is still the easiest to grasp programming language for young children with the possible exception of Scratch, though I still think Logo is better.

https://www.youtube.com/watch?v=GIGtHhAfe8w

:-)

From my experience, the Logo Turtle is a neat idea - but it often got stuck and couldn't crawl around. When it did work, kids used to draw crude pictures!

Re: Learning to Code vs Learning Computer Science

#52
post #35

I find sorting algorithms a bizarre and damaging introduction to computer science. If, as suggested, you ask an interested teenager how they sort a list of numbers on paper, they can usually give a reasonable algorithmic explanation, e.g. "Find the smallest number in the list, and write that first,..." Then, they have to throw that thought process away, and rote learn some different and esoteric alternative - the A-l…

Absolutely correct. Using these abstract algorithms in such a "one-size-fits-all" pattern is very disengaging to students; Constructivist educators should work hard to find suitably contextualized algorithms to explore that individual students will find cognitively engaging.

Or at least that's the thesis of my dissertation.

Re: Learning to Code vs Learning Computer Science

#54
I teach computer science, and I've always felt the distinction between programming and computer science to be artificial, for the following reasons.

(1) It is necessary to learn the basics of programming in order to learn computer science.

(2) It is necessary to learn computer science in order to become a proficient programmer.

So my feeling is that, by all means, we should be teaching anyone and everyone how to code, to lay the groundwork for teaching computer science.

Re: Learning to Code vs Learning Computer Science

#55
post #7

Computer science is to programming as physics is to civil engineering.

No, that's not even remotely an accurate analogy. Computer science is a branch of applied mathematics; not a physical science. Engineers need to have a basic understanding of core physics principles in order to do good work. That analogy doesn't hold with respect to programming and CS. A better analogy is that CS is to programming as number theory is to arithmetic: a person doesn't have to know what a "field" is in order to compute 2+2, or to be able to solve incredibly complex computing problems in general.

Re: Learning to Code vs Learning Computer Science

#56

The thing is, most software jobs today don't require much knowledge of computer science. Mine certainly doesn't. I have a both a bachelors and masters in CS, but I'm no better at my job than my coworker who has no CS education but learned to code on his own. I can't think of one time I've used Machine Learning, AI, advanced Networking concepts, advanced OS concepts, Computer architecture, etc in my day to day work. N…

I agree, 'There's more then one way to skin a cat' no harm by what method one enters the field ,so long as the catfish hits the fry pan!

Re: Learning to Code vs Learning Computer Science

#57
I'd have thought the best strategy is to teach coding/basic scripting as a requisite course earlier on and then allow more official CS education to be something a student can choose to do in a later course if they so choose.

The basic understanding of how to use a programming language will be of practical use to them, the CS course will let them understand what the programming language is actually doing under the hood.

Re: Learning to Code vs Learning Computer Science

#58

I teach computer science, and I've always felt the distinction between programming and computer science to be artificial, for the following reasons. (1) It is necessary to learn the basics of programming in order to learn computer science. (2) It is necessary to learn computer science in order to become a proficient programmer. So my feeling is that, by all means, we should be teaching anyone and everyone how to code…

I absolutely agree with this. All kids should be learning how to compile a basic program as they are learning their multiplication tables. They may not end up being computer scientists or mathematicians but everyone should at least get that. I certainly didn't. They didn't even have programming at my highschool.

Re: Learning to Code vs Learning Computer Science

#59
post #25

When you're building a skyscraper, you are not going to design every brick. The basis of teaching children how to code is making them learn how to use code as a problem-solving tool. Like this, the sorting will not be important by itself, but as means to an end. As a way to achieve greater objectives. And besides this reasoning, we have another: in CS, something is generally built on top of others. If you write a hea…

While it may be perfectly acceptable to ignore the lower-level details when first learning some new technology, or even when using it for personal use only, that sort of ignorance is not acceptable when working on systems that are meant to be used seriously. At that point, you need to have at least a high-level understanding of each and every layer that you're building upon. If you don't, then it will come back to ha…

> While it may be perfectly acceptable to ignore the lower-level details when first learning some new technology, or even when using it for personal use only, that sort of ignorance is not acceptable when working on systems that are meant to be used seriously.

I'm a self-taught web developer. While I have probably picked up some programming fundamentals/best practices through experience I have very little interest in computer science or learning the low-level details of every technology I use.

I probably couldn't get a job at most SV/SF startups, but I run several WordPress sites that have millions of monthly visitors and that have traffic spikes of 100,000+ visits in 2-3 hours at least a few times each month. I'm paid very well and I don't need to apply rocket science to do a good job.

Meanwhile I have friends with CS degrees at hot VC backed startups using all sorts of crazy technologies and advanced programming techniques for sites that get maybe 100,000 visits a month.

If you ask me, ignorance is premature optimization, overengineering and hiring expensive people to apply skills you're nowhere close to needing.

Re: Learning to Code vs Learning Computer Science

#60

When you're building a skyscraper, you are not going to design every brick. The basis of teaching children how to code is making them learn how to use code as a problem-solving tool. Like this, the sorting will not be important by itself, but as means to an end. As a way to achieve greater objectives. And besides this reasoning, we have another: in CS, something is generally built on top of others. If you write a hea…

"When I write my HTTP Applications I don't need to understand all the Network Layers beneath it." If you want your HTTP application to perform well, be secure, be scalable, work with a multitude of browsers in unusual conditions, and be able to troubleshoot weird errors, then yes, you will at some point need to know something about TLS and TCP and IP (v4 and v6) and even Ethernet and Wifi. Similarly, architects and e…

Did you ever consider that a lot of the work being done by developers today makes them more like plumbers and electricians than architects and engineers?
Post reply on HN