Kinth
Level 0
|
|
« on: April 19, 2017, 03:26:34 AM » |
|
EDIT: I have updated the surveys to be for any dynamically or statically typed language Static: https://goo.gl/forms/kePLiu3ydysoFBlf2Dynamic: https://goo.gl/forms/c5zisjKYn09FpoDf1Hi, Not sure if this is the right area to post this, but I am looking for some people complete some surveys for a research piece I am currently doing at University. The research is looking at whether the first language taught to a programmer has any affect on their ability to learn subsequent programming languages, or their ability in general. My reasoning for this is that despite all our advances in tech and teaching, the pass rate for CS1 courses has not increased in over a decade. CS has one of the highest fail/drop out rates of any course in most countries. So I am making an attempt to discover why that might be. The current area of this research is looking at Statically typed vs Dynamically typed languages as first languages. I have picked a popular first language for each of these, Java and Python, and I am looking for people who learnt one of these languages as their first language to fill out a small survey. If you learnt either java or python as your first programming language and have a few minutes to spare to fill out a small survey, I would be very grateful. Thank you
|
|
« Last Edit: April 19, 2017, 09:40:26 AM by Kinth »
|
Logged
|
|
|
|
Schrompf
|
|
« Reply #1 on: April 19, 2017, 03:29:39 AM » |
|
Please keep us posted if you learn something statistically significant.
I started with BASIC, on 16kb of memory. I don't fit your requirements :-)
|
|
|
Logged
|
Snake World, multiplayer worm eats stuff and grows DevLog
|
|
|
oahda
|
|
« Reply #2 on: April 19, 2017, 04:09:25 AM » |
|
My first experience with coding, but not programming, was HTML and CSS. Then my first real programming was naturally done in JavaScript and later PHP. So I don't fit either, sorry.
|
|
|
Logged
|
|
|
|
JWki
|
|
« Reply #3 on: April 19, 2017, 04:10:26 AM » |
|
I started out with a C-like scripting language, then learned Delphi and later Java before getting into "real" programming (only for school/uni before) with full on C and later C++, so I don't really qualify either.
I'm still enrolled in comp sci though (starting my Master's now) and at least at this Uni people fail not because of programming mostly but because of the Maths classes.
|
|
|
Logged
|
|
|
|
Kinth
Level 0
|
|
« Reply #4 on: April 19, 2017, 04:18:19 AM » |
|
I started out with a C-like scripting language, then learned Delphi and later Java before getting into "real" programming (only for school/uni before) with full on C and later C++, so I don't really qualify either.
I'm still enrolled in comp sci though (starting my Master's now) and at least at this Uni people fail not because of programming mostly but because of the Maths classes.
Hmmm that is an interesting aspect and may be worth looking into. Thanks for the info.
|
|
|
Logged
|
|
|
|
|
Kinth
Level 0
|
|
« Reply #6 on: April 19, 2017, 06:17:40 AM » |
|
I have updated the forms to be for any static or dynamic language, realised no reason for ti to be on specific languages.
|
|
|
Logged
|
|
|
|
Schrompf
|
|
« Reply #7 on: April 20, 2017, 12:37:22 AM » |
|
Done the survey. There are some strange questions inbetween. And to be honest: Overall I think you're on a wrong track. At least telling from my studies back in the days there were the good students who were interested personally, they did coding in their spare time and most had started years before the started studying. And there were the students that chose the field for its economic prospects or out of pressure from parents or whatever. They never got anywhere. They sure got jobs, but they never gained that standing in a company.
So to me it's just that: either you care for your job, or you don't. The latter is completely fine, really. After all most jobs in this world are filled by people who just want to earn a living. But those will never be the people that leave a dent.
|
|
|
Logged
|
Snake World, multiplayer worm eats stuff and grows DevLog
|
|
|
Kinth
Level 0
|
|
« Reply #8 on: April 20, 2017, 01:37:43 AM » |
|
Done the survey. There are some strange questions inbetween. And to be honest: Overall I think you're on a wrong track. At least telling from my studies back in the days there were the good students who were interested personally, they did coding in their spare time and most had started years before the started studying. And there were the students that chose the field for its economic prospects or out of pressure from parents or whatever. They never got anywhere. They sure got jobs, but they never gained that standing in a company.
So to me it's just that: either you care for your job, or you don't. The latter is completely fine, really. After all most jobs in this world are filled by people who just want to earn a living. But those will never be the people that leave a dent.
Yeah unfortunately the surveys are a little rushed, my original plan for this segment was to teach some people a few different languages (pure basics: variables, user input and branching) then have them switch to other languages. Then I would be able to observe the struggles they had. Unfortunately it was surprisingly difficult to find people wanting to take a free programming course at my Uni. As for your second point, it is one of the areas (I personally think it's a set of key problems) I want to look into. My class had a similar problem those with a general interest in the topic did much better than those who had a single focus. Even if that focus included some programming. Many of my class thought they would just be making games all the time, when it came time to finally make one for an assignment, most of them couldn't do it. Because they weren't interested until they were making a game, they hadn't picked up the learning required to make it. It's a difficult thing to test for though as I would need access to some CS course students that are not my own class. I can't ask around on the internet because most people who visit programming communities have an interest in programming so I wont get the other side.
|
|
|
Logged
|
|
|
|
Schrompf
|
|
« Reply #9 on: April 20, 2017, 02:13:32 AM » |
|
Oh, that's right. You're in a difficult position. Good luck. And to repeat myself: if you learn something statistically significant, please tell about it.
|
|
|
Logged
|
Snake World, multiplayer worm eats stuff and grows DevLog
|
|
|
bateleur
|
|
« Reply #10 on: April 20, 2017, 04:34:36 AM » |
|
Interesting research, thanks for posting.
My guess would be that the reason for the high dropout rate is because - like maths - programming is a skill which you can't necessarily acquire just by putting in the hours. Sure, it helps, but at the end of the day some students will just hit a wall.
If we want more programmers, maybe we should try to adopt Grace Hopper's approach and make programming easier?
|
|
|
Logged
|
|
|
|
Kinth
Level 0
|
|
« Reply #11 on: April 20, 2017, 05:30:23 AM » |
|
Interesting research, thanks for posting.
My guess would be that the reason for the high dropout rate is because - like maths - programming is a skill which you can't necessarily acquire just by putting in the hours. Sure, it helps, but at the end of the day some students will just hit a wall.
If we want more programmers, maybe we should try to adopt Grace Hopper's approach and make programming easier?
This is another part of the debate, are some people just predisposed to be better at programming for whatever reason, is there a way we could prove it? I'm personally on the fence about it. I was average at best when it came to maths at school, and my first foray into programming lead me to quit it for 10 years because I was so bad at it. When I decided to try programming again, it completely changed. I was picking up new concepts much faster than I used to. My ability and interest in maths grew as I became more interested in Programming, which I believe is down to now having a use for a lot of it. I would never consider myself any sort of natural at programming or maths but I am now top of my class at Uni, which I don't say to try and brag but to show why I sit on the fence about the idea of people being predisposed. When I first tried programming I would have agreed with you. My friend picked it up much faster than I did, however, years and years later I am now picking it up as quickly, if not quicker, than he did. I think that maybe some people are just naturally better and pick it up quicker. However, I think for the most people can overcome the barrier with the right environment and teaching. Putting more hours in is useless if you aren't productive in those hours. One thing I have noticed in my research for my research piece is that debugging and the ability to find answers (i.e search stack overflow ) are things that are just is not taught, or only touched upon briefly. To me these are the two most important skills a programmer can know. With those skills a programmer can teach themselves any part of programming. The one problem with making programming easier, which is the way we are currently going about this problem, is that the way we are doing it is by hiding and never mentioning some of the low level aspects (Pointers, memory management, types in some cases, etc..). Which in turn could (and some would say already has) lead to a shortage of low level programmers in the future. People who learn very high level languages aren't guaranteed to ever move away from them. Also for the most part is hasn't worked, Python is the go to language in education for a while, it's one of the easiest languages to write and understand but we still haven't seen an increase in pass rates. Another area is whether programming's reputation for being notoriously difficult sets people up to fail. The first thing I see or hear on most beginner programming courses/tutorials is "Programming is difficult/not easy". If someone lacks self confidence, this warning could cause them to not try very hard as they already believe they will fail. In the end is it really necessary that we point out that programming is difficult? We could just say that programming is a skill that requires hard work to master.
|
|
|
Logged
|
|
|
|
J-Snake
|
|
« Reply #12 on: April 20, 2017, 05:34:08 AM » |
|
CS has one of the highest fail/drop out rates of any course in most countries. So I am making an attempt to discover why that might be. Most people are not used to abstraction, that's all there is to it. So that will be reflected in CS or any other math heavy science. Know that you can be good at programming without being good at computer science.
|
|
|
Logged
|
|
|
|
Kinth
Level 0
|
|
« Reply #13 on: April 20, 2017, 05:49:17 AM » |
|
CS has one of the highest fail/drop out rates of any course in most countries. So I am making an attempt to discover why that might be. Most people are not used to abstraction, that's all there is to it. So that will be reflected in CS or any other math heavy science. Know that you can be good at programming without being good at computer science. In education the term Computer Science has become a little muddled and pure programming/software development courses are unfortunately often named computer science.
|
|
|
Logged
|
|
|
|
bateleur
|
|
« Reply #14 on: April 20, 2017, 06:05:20 AM » |
|
I think that maybe some people are just naturally better and pick it up quicker. However, I think for the most people can overcome the barrier with the right environment and teaching. Your case study demonstrates the value of environment and teaching, but not that they are sufficient. My experience has been that where "nature vs nurture" questions arise, the answer is almost always "both". The one problem with making programming easier, which is the way we are currently going about this problem, is that the way we are doing it is by hiding and never mentioning some of the low level aspects. (...) Python is the go to language in education for a while, it's one of the easiest languages to write and understand but we still haven't seen an increase in pass rates Low level issues and teaching people to program aren't really the same thing. Python is a good tutorial language precisely because it lets you get straight to the programming without too much fussing over issues which aren't intrinsic to the activity. I contend that once someone can program confidently, it doesn't much matter what language they work in. The problem is that it's a long, difficult process to get to that point. The first thing I see or hear on most beginner programming courses/tutorials is "Programming is difficult/not easy". If someone lacks self confidence, this warning could cause them to not try very hard as they already believe they will fail. In the end is it really necessary that we point out that programming is difficult? We could just say that programming is a skill that requires hard work to master. This is more teaching theory than programming, so I'll leave it to the professionals! There's a fine line to tread there between not putting people off and misrepresenting their chances. (And of course different students start at different confidence levels.)
|
|
|
Logged
|
|
|
|
J-Snake
|
|
« Reply #15 on: April 20, 2017, 06:09:20 AM » |
|
CS has one of the highest fail/drop out rates of any course in most countries. So I am making an attempt to discover why that might be. Most people are not used to abstraction, that's all there is to it. So that will be reflected in CS or any other math heavy science. Know that you can be good at programming without being good at computer science. In education the term Computer Science has become a little muddled and pure programming/software development courses are unfortunately often named computer science. Yes, that is why my guess is that the majority of programmers don't really know what computer science is, even though they possibly attended some lectures labeling themselves as such. The way the programming scene has evolved is different to the way computer science is approached. Programming (for the most part) has been about establishing useful patterns and paradigms, based on experience to solve real life problems. Computer science is concerned with answering deeper, more universal questions. For example what is computable at all, and what is not. Does an algorithm exist that solves problem X within a given complexity. Things of that nature.
|
|
|
Logged
|
|
|
|
Kinth
Level 0
|
|
« Reply #16 on: April 27, 2017, 11:33:47 AM » |
|
Some interesting responses so far. Thank you all I will make the responses public once the survey period is over.
|
|
|
Logged
|
|
|
|
|