6 ms·
Kids and parents turn to coding to boost college, career prospects
- NAFV_P 12y ago> Broad computer-science skills that include technological awareness and analytical thinking are more important than narrow programming skills, Hartovi said. "Learning how to code in any one particular [computer] language is not going to be worthwhile beyond 10 or 20 years," he said. "Learning how to problem-solve using algorithms and how technology works and how it's built is going to last a century at least." I fail to see how you could write an algorithm if you don't know how to code.
- trentmb 12y ago> I fail to see how you could write an algorithm if you don't know how to code. You never followed directions until you learned how to program? I learned addition, multiplication and division algorithms before I even got a computer.
- NAFV_P 12y ago> You never followed directions until you learned how to program? Of course I did (sometimes reluctantly). Before I learned programming, I couldn't 'write' an algorithm in a file and get a computer to follow those directions instead. > I learned addition, multiplication and division algorithms before I even got a computer. I know, subtraction is so damn hard to get right isn't it.
- iak8god 12y ago>I fail to see how you could write an algorithm if you don't know how to code. I teach introductory programming to college freshmen. We usually spend the first few classes talking about, writing, and refining algorithms in clear and simple English before we even start talking about the programming language they're to learn.
- NAFV_P 12y ago> I teach introductory programming to college freshmen. We usually spend the first few classes talking about, writing, and refining algorithms in clear and simple English before we even start talking about the programming language they're to learn. Explaining algorithms to someone in clear and simple English will enable them to understand those algorithms, but a computer does not understand English. To 'write' an algorithm for a computer to perform, you need to code.
- owlish 12y agoThere seems to be a misunderstanding of the word algorithm here. "Algorithm" refers to a set of instructions/operations that do not necessarily occur on a computer. You may know non-computer algorithms as "routines" or "procedures".
- NAFV_P 12y ago> There seems to be a misunderstanding of the word algorithm here. I can assure you there is none , the misunderstanding is with my original comment: 'writing an algorithm'. > You may know non-computer algorithms as "routines" or "procedures". Like the algorithm "make a nice, hot cup of coffee", which is executed billions of times each day by biological computers known as humans. EDIT: wrt my naff spelling.
- lliwta 12y ago> I fail to see how you could write an algorithm if you don't know how to code. Algorithms have existed for centuries. Computer programs have meaningfully existed for 100 years, if we're generous. And for a lot of that time, you had to design the entire algorithm correctly before running to code, or else you'd have to wait a day or two and try again (unless you were important). Even today, if you're designing a truly novel algorithm, you're very likely to spend the bulk of your time not coding, and then coding only at the end as a sort of check to make sure you ideas work out. Of course everyone has different processes and YMMV, but mt general impression is that most people who design significant (read publication worthy) algorithms do the bulk of their work away from the keyboard. And honestly, having taught high school cs students, the best students have this process: 1) try a niave solution, notice it won't work before they even compile. Maybe finish the program just to confirm their suspicion that it's wrong; 2) go to the white board for a while, and probably talk with their friends about potential solutions and pitfalls; 3) design the algorithm, and then code it up. Usually there's no pseudo-code before they start programming, but they have a pretty clear idea of the general structure of the algorithm; 4) test on inputs that they identified as reasons the niave solution(s) discussed at the board didn't work. edit: the very worst students are the ones who sit in isolation hacking away at iterative improvements on a fundamentally flawed idea. Usually they're trying to get their for loops sorted out and working correctly so that the program actually gets around to giving them any answer, and don't even get around to noticing their solution is completely and fundamentally broken until the end of class. Which is to say, from my observation, coding-as-problem-solving is not very effective until after you've thought things through in more general, mathematical terms.
- NAFV_P 12y ago> Even today, if you're designing a truly novel algorithm, you're very likely to spend the bulk of your time not coding, and then coding only at the end as a sort of check to make sure you ideas work out. If you cannot code, you cannot check that your ideas work out on a computer. > Which is to say, from my observation, coding-as-problem-solving is not very effective until after you've thought things through in more general, mathematical terms. I don't see how that relates to my comment, I specifically referred to 'writing' an algorithm, as in implementing the algorithm in code, not devising the algorithm in the first place.
- thewarrior 12y agoProgrammer salaries going down soon ...
- jimmaswell 12y agoI hope I'm not at the age of being just on the cusp of the time when the salary starts to decrease when I get in the field. Probably unlikely though right?
- th0br0 12y agoWhy "start" to decrease? IMHO, the whole process has been going on for quite some time. For freelancer's, there's the ever increasing competition from Asia/India/low living costs region which leads to less profit (arguably, most code coming from those regions is bad but even that will increase eventually). As for "proper" jobs ... well... given that you see more and more articles about people finishing up college without being able to code at all, the salary gap is probably only going to increasFor desk jobs / 8-to-5 jobs in mainland US... e. There'll probably be those coders that learn how to code pre-college and are then able to translate their experience post-college, whereas there'll always be those who are good at social things & buzzwords. Distinguishing yourself from the mass early on will probably make a big change regarding your target salary. In the end, I'm constantly reminded of my IT teacher's saying from high school (loosely translated from German): becoming a programmer just requires training. becoming a computer scientist / engineer, however, requires far more/university. (please keep in mind that CS in Germany is far more theoretically oriented than CS in the US)
- jimmaswell 12y agoA lot of people cannot be trained to program at all
- karmicthreat 12y agoI think in this day and age to actually be a good software engineer you need to keep advancing and learning new skills. If you sit back with what you learned in uni and don't actively seek out more knowledge you will fall behind into the category of just a programmer.
- krat0sprakhar 12y agoI've been teaching a 12-yo kid python programming and the surprising thing is that none of his friends (nor him) learn any programming in school. As per him, most public schools in his area (Boston) don't have any programming work in their regular curriculum, despite the fact that one keeps seeing such articles popping up often. When I was in mid-school, a decade back (in India) we had regular classes on Basic and C++ in high school. I might be completely wrong in generalizing but haven't the schools in US picked up on this trend?
- lliwta 12y ago> I might be completely wrong in generalizing but haven't the schools in US picked up on this trend? There are lots of reasons, but I think the largest contributing factor is that these teaching staff doesn't exist. In most high schools, there is no dedicated "programming" or "CS" teacher. Often these courses of off-loaded to a business-y person. In my experience, these were pretty useless and sometimes worse than useless. E.g. in one case this person was a retired math teacher who was tenured but awful, and "computer class" seemed like a low-impact place to put them. If a Math or Science teacher wanted to teach a programming class and had been around for a few years (and got along with their administrators), they could probably get away with teaching one section a year. Maybe scale up if there's demand and the department isn't under-staffed. But that's fairly rare, because lots of math people don't really "get" CS.
- krat0sprakhar 12y agoI think what worked in our (India) favor, despite the dearth of good teachers was the fact that Computers was an available subject in the nationwide standardised exams. Most of students who wanted to pursue Engineering loaded up on computers because it was easy (& fun) to score (compared with languages at the very least).
- lliwta 12y ago> Computers was an available subject in the nationwide standardised exams This would certainly help.