|
Deus Rex posted:my sister had never done any programming before college and is in her third year of a math/CS major Can she actually program?
|
# ? Mar 1, 2013 13:58 |
|
|
# ? Jun 11, 2024 16:19 |
|
its a shame shes ruining her math major with CS poo poo
|
# ? Mar 1, 2013 14:05 |
|
on the python course i worked on >90% had never programmed before, and a lot of them needed explanations of stuff like files and directories, having been born in the 90s and used to just using desktop/my documents/whatever. a fairly good proportion made it through the course and i am pretty confident that they learned something useful even though few of them will ever program much
|
# ? Mar 1, 2013 14:34 |
|
also people who "know" how to program but actually don't are the worst people in the world to teach
|
# ? Mar 1, 2013 14:45 |
|
Cybernetic Vermin posted:also people who "know" how to program but actually don't are the worst people in the world to teach god stop piling on sulk already
|
# ? Mar 1, 2013 14:50 |
|
polpotpi posted:god stop piling on sulk already you are confusing me with someone else here, i quite enjoy the introductory programming courses and believe that they are useful and functioning
|
# ? Mar 1, 2013 14:54 |
|
something's wrong with CS when there are people graduating never having seen algorithm analysis, or not knowing the difference between pass by reference and pass by value. if you don't learn what's going on in the background, if you can't explain why this algorithm is better than that one and why, wtf are you in CS for? my school split the intro courses into 'for CS', 'for science' and 'for social sciences' which is a pretty decent solution to 'other majors need to learn programming too!'
|
# ? Mar 1, 2013 15:46 |
|
computer science and computer engineering seems to be pretty mixed up pretty much everywhere, we attempt to have a split, a monumental failure of a split tbqh i am not really sure what to do about it, since student demands and expectations is part of why it works out this way
|
# ? Mar 1, 2013 15:56 |
|
Teaching how to program is such a terrible topic. Only anecdotes everywhere and everywhere. I agree with tef things often end up being "I recommend you learn the [lovely] way I learned because it obviously worked for me", which sounds like a basic variation on "good programmers are programmers like me." There's actually existing material on best ways to teach poo poo and evaluate it, and some of the most basic material could be things like Bloom's Taxonomy. There's a load of material on how to apply it in different ways. There's a somewhat interesting paper of the topic of applying Bloom's taxonomy to basic CS (Bloom's taxonomy for CS assessment). Of course this doesn't approach the question of "are we even teaching the right thing?", but that's another finger trap to poke. A lot of the people who teach programming as hobbyists or without any training (myself included) don't appear to know about this, or how to apply it effectively, or how to make sure it's done right. Then there's people being surprised that education is bad when few people are very good at educating. I can remember a ton of classes I've taken in university or college where entire aspects of this were omitted, and I can point to a bunch of stuff I've done that doesn't respect it either. I can remember high school classes where I still remember the most stuff seemed to follow its principles, too. (I figure it's not the only taxonomy/methodology available, so judging everything by its standard is sure to be wrong)
|
# ? Mar 1, 2013 15:58 |
|
Eh, I find this a pretty interesting conversation, people have different ideas and many of them are rather interesting. It is no more anecdote-driven than the main topic of this thread anyway, which basically amounts to reminding people that most languages are terrible for various reasons. For the record I am not deeply into the theoretical parts of learning either (usual 80/20 research/teaching split), and don't actually run the courses (as we have hundreds of students on each course many parts require additional teachers), but we luckily have researchers on staff in the field of teaching, so there is some interplay. Sometimes unsuccessfully, such as a stint with a BlueJ-based starting curriculum, but I think a lot of good comes from it anyway. The situation remains constrained though as we for technical and political reasons have to please a bunch of other departments in the structure of the courses, but there is certainly no lack of thought going into what is done.
|
# ? Mar 1, 2013 16:07 |
|
tef posted:ugh I leave this thread and look at it. ps watched ur vid a couple weeks ago and liked it a lot
|
# ? Mar 1, 2013 16:20 |
|
Cybernetic Vermin posted:Eh, I find this a pretty interesting conversation, people have different ideas and many of them are rather interesting. It is no more anecdote-driven than the main topic of this thread anyway, which basically amounts to reminding people that most languages are terrible for various reasons. Yeah, I'm definitely fine with the topic, and the discussions are fun to read anyway. At some point it has to devolve in "what should a programmer know", and that gets close to "what is a good programmer", where people end up pointing out "here's how I learned stuff, it is likely the best!" with no idea on how to assess anything they'd love to see taught. It's interesting to know all the different approaches that ended up working for each person, at least, and it's something interesting to keep in mind when writing training or teaching material. quote:For the record I am not deeply into the theoretical parts of learning either (usual 80/20 research/teaching split), and don't actually run the courses (as we have hundreds of students on each course many parts require additional teachers), but we luckily have researchers on staff in the field of teaching, so there is some interplay. Sometimes unsuccessfully, such as a stint with a BlueJ-based starting curriculum, but I think a lot of good comes from it anyway. The situation remains constrained though as we for technical and political reasons have to please a bunch of other departments in the structure of the courses, but there is certainly no lack of thought going into what is done. I'm not big on theory either, and as I mentioned, I don't claim to be a good teacher/trainer. In fact I generally don't teach. I wrote a book, and wrote course material trained people on Erlang for about a year, but that's the extent of my experience, and I mostly just winged it. I remember discussing the curriculum with my teachers in college back when I was studying multimedia (3 years on this, only to go program instead!). They were mostly people from various areas of the industry who cared about giving good material, but ended up struggling a lot because of lovely people (other teachers who were union protected or saw the department as a way into cheap contracts or never felt they needed to update their knowledge with the real world), inter-department agreements regarding structures, topics, or even who teaches classes, and, obviously, budget. It's extremely complex as a topic, and teachers and professors who can manage to cut through all the issues and bullshit to make their classes better, without ending up being cynical as hell, are pretty impressive.
|
# ? Mar 1, 2013 16:21 |
|
this is cool. shows you how much behind the scenes effort is involved in stuff that just automatically does the right thing
|
# ? Mar 1, 2013 16:40 |
|
Tiny Bug Child posted:this is cool. shows you how much behind the scenes effort is involved in stuff that just automatically does the right thing well, it's a good contrast that that stuff anyways.
|
# ? Mar 1, 2013 16:47 |
|
MononcQc posted:Yeah, I'm definitely fine with the topic, and the discussions are fun to read anyway. At some point it has to devolve in "what should a programmer know", To me this is use case based design, which has a habit of producing terrible outcomes. A beginner class should be looking at "What do all programmers know that they don't know they know?" I've watched many students when I was at university getting completely confused because the syllabus at that time (completely unrelated to a large donation from Sun - honest) had decided that what every programmer should know is OO design. So they started there, with beginners. This was at a time when there were still people in the CS courses who had not ever actually used a computer, and they went straight into OO design because a programmer should know it. Zed Shaw has a wonderful bit on teaching in one of his talks where he claims that the biggest difficulty the majority of beginners have is semicolons. Thinking back to when I was a beginner, friends who were also beginners and also beginners around me when I was reasonably capable this is certainly the case for a lot of people. I mean really, how many non-programmers at university have ever actually typed a semicolon? There's a whole bunch of really foundational stuff programmers need to know, things like "the compiler is really really picky about what you type into it". All the other poo poo, the poo poo that seems relavent to people like us who can take a context free grammar and just start typing code that conforms to it (sometimes even getting it right), is for later when the student is vaguely used to how computers try to execute the poo poo they type. The idea behind starting with a really simple language is so there is as little as possible between the student and what is going on, meaning they have to make fewer guesses, fewer mental models have to be developed. Mental models that are likely to be often incorrect.
|
# ? Mar 1, 2013 17:15 |
|
|
# ? Mar 1, 2013 17:27 |
|
one of the comp sci classes I took in highschool started w/ this thing with a robot that could only move forward or turn left. so you wrote programs to make the robot move thru a maze that were just a list of instructions on how the robot should move. then they introduced subroutines so you could create a turnRight that was 3 turn lefts in a row or moveBackwards (2 turn lefts and a move forward) etc... to demonstrate some basic code reusability ideas. even tho it was kind of boring cause it was my second comp sci class, it was still kind of a cool way to teach those concepts w/out really any computerery involved. then later we went into c++ and started w/ similar simple programs and moved on to more complex topics.
|
# ? Mar 1, 2013 17:33 |
|
lol if you didn't learn boolean logic and programming from rocky's boots and robot odyssey on the tandy trs-80 also i guess the island of dr brain
|
# ? Mar 1, 2013 17:36 |
|
My kindergarten class had Apple IIs, and logo was where I first had that magical moment of being able to make computer bow to my will. But seriously, for a ~*first language*~, can you not expect that a general education has prepared people enough that at most you should have to introduce concepts like boolean logic and functions and arguments and stuff like that with a two-hour review? How do you guys feel about singletons? Are they just a way of sneaking in global state?
|
# ? Mar 1, 2013 17:41 |
|
Jonny 290 posted:well, it's a good contrast that that stuff anyways. i have been using a lot of foreaches every day for quite some time now and i have never run into any of those problems. foreach just works
|
# ? Mar 1, 2013 17:41 |
|
tef came back, and then he left again. why am i still reading this thread and posting in it
|
# ? Mar 1, 2013 17:53 |
|
Bream posted:My kindergarten class had Apple IIs, and logo was where I first had that magical moment of being able to make computer bow to my will. Logo at a young age seems really common among programmers. They should put a health warning on it.
|
# ? Mar 1, 2013 17:54 |
|
Cybernetic Vermin posted:on the python course i worked on >90% had never programmed before, and a lot of them needed explanations of stuff like files and directories, having been born in the 90s and used to just using desktop/my documents/whatever. it's weird to come across a 20 year old who "doesn't know computers", which is fine in THE POST PC ERA, but also strange to watch a generation act like their grandparents
|
# ? Mar 1, 2013 18:09 |
|
btw the "teach everyone programming" topic that flares up every three months on hacker news is loving tedious
|
# ? Mar 1, 2013 18:10 |
|
code.org posted:Code With Karel the Dog
|
# ? Mar 1, 2013 18:12 |
|
yes that's it. but its karel the robot (named for http://en.wikipedia.org/wiki/Karel_%C4%8Capek)
|
# ? Mar 1, 2013 18:14 |
|
Tiny Bug Child posted:i have been using a lot of foreaches every day for quite some time now and i have never run into any of those problems. foreach just works map is fun esp with code blocks code:
|
# ? Mar 1, 2013 18:14 |
|
Zombywuf posted:Another word for suffering is challenging. Students who are not challenged will not learn, this is like lesson one in teacher training. The fact you cannot distinguish between suffering and challenging is exactly the problem I have with you.
|
# ? Mar 1, 2013 18:14 |
|
i got your challenging right here bioootch seriously i was like 4
|
# ? Mar 1, 2013 18:17 |
|
tef posted:or: no-one should learn first aid because real medicine is hard. look bro, us monks are making a poo poo ton of money right now illuminating those scripts. if the rest of the world figures out that programming isn't just arcane sperg wizardry, and they can do it too, we might have to get off our asses and Do Work, or accept lower salaries!
|
# ? Mar 1, 2013 19:15 |
|
Shaggar posted:one of the comp sci classes I took in highschool started w/ this thing with a robot that could only move forward or turn left. so you wrote programs to make the robot move thru a maze that were just a list of instructions on how the robot should move. then they introduced subroutines so you could create a turnRight that was 3 turn lefts in a row or moveBackwards (2 turn lefts and a move forward) etc... to demonstrate some basic code reusability ideas. even tho it was kind of boring cause it was my second comp sci class, it was still kind of a cool way to teach those concepts w/out really any computerery involved. then later we went into c++ and started w/ similar simple programs and moved on to more complex topics. karel the robot
|
# ? Mar 1, 2013 19:49 |
|
there was also that robot puzzle in castle of dr brain that was similar.
|
# ? Mar 1, 2013 19:50 |
|
ps logo is neat but ugh make "x :x + 1 is awful as gently caress
|
# ? Mar 1, 2013 19:54 |
|
Zombywuf posted:I'd like to believe it but I've never seen a counter-example. I started programming in a 3rd year c++ programming competition class. I think being a math major gives you a huge leg up tho Anyways, learning to program initially is not entirely dissimilar to learning a new language, and one thing people seem to neglect is practicing it a little bit every day at the beginning. The 101 students I had who had never programmed and still did very well in the class were the ones who pumped out poo poo day after day and came and asked us about it. Eventually they stopped pumping out poo poo and it started to click because they did it enough. welp this is my anecdote. FamDav fucked around with this message at 20:06 on Mar 1, 2013 |
# ? Mar 1, 2013 19:57 |
|
JewKiller 3000 posted:look bro, us monks are making a poo poo ton of money right now illuminating those scripts. if the rest of the world figures out that programming isn't just arcane sperg wizardry, and they can do it too, we might have to get off our asses and Do Work, or accept lower salaries! this but unironically for the last 6 pages I learned bool-logic and shits to be lazy at games. who knew I could use it to be lazy in real life AND get paid for it? For normals, AutoHotKey/AutoIt/Applescript are the best languages to learn. It becomes immediately obvious how useful they are for many tasks. Even for something as simple as "mouse wheel changes volume" Once they get past that and want to do something fancy, then javascript because everyone has a javascript interpreter.
|
# ? Mar 1, 2013 20:07 |
|
MeruFM posted:Once they get past that and want to do something fancy, then javascript because everyone has a javascript interpreter. i recommend that a lot, especially since it's built in to the tool for seeing how a web page works
|
# ? Mar 1, 2013 20:21 |
|
FamDav posted:I started programming in a 3rd year c++ programming competition class. I think being a math major gives you a huge leg up tho Cool, it's good to know it is possible to learn without starting as a child. What problems did you have when learning? quote:Anyways, learning to program initially is not entirely dissimilar to learning a new language, and one thing people seem to neglect is practicing it a little bit every day at the beginning. The 101 students I had who had never programmed and still did very well in the class were the ones who pumped out poo poo day after day and came and asked us about it. Eventually they stopped pumping out poo poo and it started to click because they did it enough. Yeah, this is why you either a) already have a pressing issue to solve that can be solved with relatively simple code or b) need someone setting loads and loads of toy examples. The latter case is probably where using a low level language is good because you need to re-implement a whole bunch of stuff that is (or should be) very well understood by the teacher. Then again, I think 99% of all the code I wrote as a teenager was making balls bounce around a screen.
|
# ? Mar 1, 2013 20:34 |
|
Zombywuf posted:I'd like to believe it but I've never seen a counter-example. I've seen plenty. And i thought that people thinking they know how to program failing out of intro CS weed-out courses and being surpassed by non-retarded noobs is a common trope in CS education.
|
# ? Mar 1, 2013 20:42 |
|
I came here to write video games
|
# ? Mar 1, 2013 20:44 |
|
|
# ? Jun 11, 2024 16:19 |
|
shrughes posted:I've seen plenty. some of the smartest and best coworkers i have started because they could they make a lot of money programming and never knew anything before uni
|
# ? Mar 1, 2013 20:47 |