The Big Programming Thread - Page 728
Forum Index > General Forum |
Thread Rules 1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution. 2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20) 3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible. 4. Use [code] tags to format code blocks. | ||
Nesserev
Belgium2760 Posts
| ||
solidbebe
Netherlands4921 Posts
![]() | ||
solidbebe
Netherlands4921 Posts
| ||
Keniji
Netherlands2569 Posts
On May 12 2016 18:00 solidbebe wrote: Pearson is one of the worst companies around. How they are pushing and lobbying for standardized testing in America (and probably in other countries too in the future) is even more disgusting than their often bad quality books. I really do not want to buy their books, but I would mean seriously crippling myself in terms of study material for many courses ![]() Assuming you study in the Netherlands, can't you just use the library? Maybe I am lucky, but I haven't had a single prof who required online codes for exercises or such things of the books. For every book that is used in lectures, my library has at least one copy to borrow and one copy that stays in the library at all times. | ||
emperorchampion
Canada9496 Posts
It will be a truly sad day when this site dies ![]() | ||
solidbebe
Netherlands4921 Posts
On May 12 2016 18:21 Keniji wrote: Assuming you study in the Netherlands, can't you just use the library? Maybe I am lucky, but I haven't had a single prof who required online codes for exercises or such things of the books. For every book that is used in lectures, my library has at least one copy to borrow and one copy that stays in the library at all times. Good suggestion, hadn't actually thought of that. Might check out the library next time. I have had a few courses where the book contained a code for online exercises however. In my case though these were only required for the optional midterm exam, which could be used to raise your final grade (but you could also just not take it). | ||
enigmaticcam
United States280 Posts
http://techcrunch.com/2016/05/10/please-dont-learn-to-code/ | ||
Manit0u
Poland17187 Posts
On May 13 2016 06:24 enigmaticcam wrote: Saw this posted on facebook. Thought it was a bit silly. http://techcrunch.com/2016/05/10/please-dont-learn-to-code/ As silly as it may sound, I find it actually pretty close to the truth and I think that the author is trying to convey a pretty important message. It reminded me of what I've found inside one of the projects I was working on today. Someone has written a hundred lines of some convoluted code that did exactly that in the end:
I guess that's what you get when you try to "code first, think later". | ||
Acrofales
Spain17833 Posts
On May 13 2016 07:13 Manit0u wrote: As silly as it may sound, I find it actually pretty close to the truth and I think that the author is trying to convey a pretty important message. It reminded me of what I've found inside one of the projects I was working on today. Someone has written a hundred lines of some convoluted code that did exactly that in the end:
I guess that's what you get when you try to "code first, think later". If that was his message, it really got lost in all of the other points he was making (badly) simultaneously. His rant about people learning to code badly seemed very tangential to his main point that teaching to code should not be added to the curriculum because coding is not useful to everybody (I think that was his point anyway, it's not completely clear). I disagree both with his point and most of the ways he tries to make it. Coding serves a very similar purpose to mathematics. You don't need to learn calculus because at some point in the future you will need to differentiate a function. You need to learn calculus because it teaches you a fairly broad range of tools for solving problems. Learning to code is similar. And in the same way as a bad math teacher might just teach you rote mechanics of differentiating functions, or a couple of tricks for summing fractions, a good math teacher will manage to instill the underlying basics of recognizing patterns, deconstructing a problem into its parts, etc. The same goes for learning to code. Knowing the basics of coding (or, given that he was ranting about code.org and related systems, the LOGIC of programming) will not make schoolkids programmers, or even necessarily on their way to being programmers. However, it WILL, if done properly, teach them useful, transferrable skills in the same way a good math education will. We don't teach math at school so everybody becomes a mathematician, and we don't teach literature so that everybody becomes a librarian. So why is he expecting that everybody who learns to program will become a programmer? Oh, and his rant about obsolete languages (the bit about swift vs. objective c) is outright stupid, so I won't bother addressing that. | ||
Manit0u
Poland17187 Posts
Coding isn't for everyone - just like some finer points of mathematics aren't - and it's a field that requires some serious dedication, constant honing and improvement. The entire point of Objective-C vs Swift was just to point out that you might spend a lot of time learning something only to have to learn something new soon after. With the rate technology is advancing you really can't shoehorn yourself into a very narrow scope (at least not at the beginning of your career) as it will not only reduce the number of job opportunities you get but also make it harder for you to find a new job in case you lose one. Programming is a mandatory course in most high schools and universities in Poland (regardless of your chosen major or however you call it overseas) and it's shit. Most people don't really bother at the classes as 90% of it just flies over their heads and those who are actually interested in it (like I was in the beginning) get disheartened pretty quickly by crappy teachers. Finding good programming teachers is a challenge in itself. I know for sure that if you get into class with someone whose entire (very limited) programming knowledge has stopped on TurboPascal and that's what he's going to try and teach you is painful. Actually, the only programming course I've enjoyed and which actually taught me anything was one extracurricular I've taken at the university: AI programming in Lisp (it was in English too). The problem is that in our school system it's rarely specialists in the respective field that are designing the programs. When I signed up for a 2 year course that would grant me the technician's diploma in software engineering all they really taught us was converting binary to decimal and back, how to do some simple stuff in Photoshop, how to make a website using only HTML and CSS etc. I quit after a few months as I couldn't take this bullshit any more and it wasn't getting any better. The bottom line is, programming isn't a job like many other, where you learn some basic skills and can churn out stuff 8 hours a day. You're not just mindlessly typing random text in there, you actually need to think a lot, it requires pretty broad knowledge in several fields, working knowledge of usually more than one programming language, constant research and self-learning etc. etc. If you want to teach kids logic then you can just teach them logic (informal and formal) instead and if they want to become programmers later on in their lives it will come useful (it'll come useful even if they don't want to become programmers since critical thinking is often severely lacking in people shooting for humanities). | ||
solidbebe
Netherlands4921 Posts
What's more, as a software developer you will meet the other kids you went to high school with as clients, bosses and non programmer colleagues. In a world where software is increasingly becoming more important, I think it is a good thing that non programmers have some semblance of the capabilities of programming, i.e. there is no magical 'just program it' solution for everything. Take for example the whole 'just introduce a backdoor we can use' - Americain government debacle with Apple recently. | ||
Deleted User 101379
4849 Posts
On May 13 2016 14:25 solidbebe wrote: Article has some good points. I think teaching kids how to dissect problems to their essentials, formal and informal logic and things like computability (obviously very basic stuff, not university level) is a good thing. Not per se coding, but the fundamentals of computer science as a branch of mathematics are very important when it comes to problem solving. What's more, as a software developer you will meet the other kids you went to high school with as clients, bosses and non programmer colleagues. In a world where software is increasingly becoming more important, I think it is a good thing that non programmers have some semblance of the capabilities of programming, i.e. there is no magical 'just program it' solution for everything. Take for example the whole 'just introduce a backdoor we can use' - Americain government debacle with Apple recently. The problem is that people who don't care about programming will go through any mandatory course and forget it two weeks later, just like people that don't care about math forget how to divide without a calculator. People learn only what they need, or think they need, and everything else quickly gets forgotten, because there is so much that you can know these days, that you can't learn everything you might ever need. You won't make people understand programmers or the limitation of programming better. It's better to teach programmers how to explain programming problems to non-programmers, which is a skill actually few programmers posses, than to teach non-programmers how to understand the ever shifting world of programming. It's part of the reason why project managers and such exist. Programmers are bad at explaining stuff to non-programmers and so they need someone between non-programmers and programmers who understands both sides. Programming is pretty much magic to most non-programmers, even to those that had some programming courses (At my school here in Germany we had mandatory programming classes over 20 years ago). "Learn to code" is another promise of a silver bullet for people and people always want a silver bullet because reality is too complex for them. It's a solution for the wrong problem though. The programming teaching initiatives with good intentions are thought up by programmers that see everything as a programming problem, like most of us tend to do. However, the world has more problems that can't be solved by programming than otherwise, so those will only teach skills that end up being useless to the person learning them and they will never make a non-programmer a programmer. In the end most people will never see a line of code in their life, outside of popular entertainment. People that have the desire to become programmers will become programmers anyways, because there already are millions of ways to learn programming. The initiatives with bad intentions are thought up by people that point at the one rich programmer out of millions, but ignore the decades that that person spent dedicated to programming before he became successful, and then get the money from people that are desperate to get rich fast - but the only one getting rich is the snake oil salesman. Personally, I think that what should be the focus instead are the important parts of programming, which are just plain problem solving and logic. Programmers learn problem solving fairly quickly and the visible code is only a result of that skill, but it isn't the important part. To make it quotable: "Before the code, there was the solution". There are generally no mandatory problem solving and logic courses at school, so when people encounter a complex problem in life - and problems only become more complex as our world becomes more complex - then they get stuck and try to resort to easy solutions like using a hammer to get the square peg into the round hole. In addition to that, programmers need courses for interaction with non-programmers. Something like psychology where they learn how non-programmers think how the world works and how they can fit their explanation into the world view of a non-programmer. Back at my old job, we had a programmer who frequently explained problems to some older callcenter managers, and he was very good at using analogies that those understood, e.g. things like "Your post man tried to bring us the message, but the gate was locked and there was no post box outside" when the firewall acted up and blocked the incoming API requests. Those are the analogies that need to be taught. We laugh at people explaining the internet as tubes full of cats, but that is what people understand and it's close enough to the truth that the difference doesn't matter, and programmers need to understand that when they talk to non-programmers. | ||
spinesheath
Germany8679 Posts
On May 13 2016 16:03 Morfildur wrote: The problem is that people who don't care about programming will go through any mandatory course and forget it two weeks later, just like people that don't care about math forget how to divide without a calculator. People learn only what they need, or think they need, and everything else quickly gets forgotten, because there is so much that you can know these days, that you can't learn everything you might ever need. By that reasoning you would have to drop half the curriculum. There's plenty of stuff people learn at school that only 1% are ever going to need again. One important thing of teaching all those things is that you get a first impression which can turn into interest and then proficiency. If we don't make programming mandatory, there is a good chance that a significant portion of the people who could be great programmers never make first contact - or way too late. Obviously many people won't need the programming stuff itself. But if the curriculum is designed well, it teaches a lot of stuff that is useful in other contexts as well along the way. In short: it's about touching a wide range of subjects to help people discover their interests and talents and teaching universally useful stuff along the way. | ||
![]()
zatic
Zurich15313 Posts
On May 13 2016 16:03 Morfildur wrote: Programmers are bad at explaining stuff to non-programmers and so they need someone between non-programmers and programmers who understands both sides. Yay, job security! Tbh you will always need someone in between. Even if you have a programmer learn how to explain things in simple terms they still won't know how the sales manager does his quartely sales forecast and what he needs for that. | ||
![]()
tofucake
Hyrule18968 Posts
| ||
Manit0u
Poland17187 Posts
On May 13 2016 21:51 tofucake wrote: Yeah, somebody who learned for loops when they were 12 won't understand how to make a 2-factor authorization system or whatever. There will always need to be a translator somewhere in the workflow. That's why you should teach both formal and informal logic. Formal logic can help non-technical people understand some technical stuff while informal logic can help technical people engage in non-technical discussion. | ||
enigmaticcam
United States280 Posts
On May 13 2016 16:34 spinesheath wrote: In short: it's about touching a wide range of subjects to help people discover their interests and talents and teaching universally useful stuff along the way. This here why I thought the article was silly. I think it's important that people get exposed to programming just like anything else. It's easy to list out the pitfalls of approaching any problem the wrong way in any field, but that's certainly no reason to pitch it in this context as "please don't learn to code". | ||
spinesheath
Germany8679 Posts
On May 14 2016 00:32 enigmaticcam wrote: This here why I thought the article was silly. I think it's important that people get exposed to programming just like anything else. It's easy to list out the pitfalls of approaching any problem the wrong way in any field, but that's certainly no reason to pitch it in this context as "please don't learn to code". Well, I can understand why people think that you learn lots of useless stuff at school. At least I have never heard anyone clearly communicate that the point is not to teach people until they are proficient, but to get them interested. It often seems quite the opposite. The way grading works also isn't helping the issue when tests ask for lots of stuff that you can safely forget soon after. There are lots of problems with the current education system (that seems to be the case globally), but the general idea of teaching a wide range of things is fine. | ||
enigmaticcam
United States280 Posts
On May 14 2016 01:32 spinesheath wrote: Well, I can understand why people think that you learn lots of useless stuff at school. At least I have never heard anyone clearly communicate that the point is not to teach people until they are proficient, but to get them interested. It often seems quite the opposite. The way grading works also isn't helping the issue when tests ask for lots of stuff that you can safely forget soon after. There are lots of problems with the current education system (that seems to be the case globally), but the general idea of teaching a wide range of things is fine. Agreed on all those points! That's for sure. | ||
xuanzue
Colombia1747 Posts
my problem is that I only know c++, and the progress (programing it) is too slow. I want hundreds of agents, every agent has till 60 variables the model has a map with some zones where the threat (bad agent) can't access. I tried with netlogo but the 60 variables can't be handled. | ||
| ||