Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411430 Posts in 69363 Topics- by 58416 Members - Latest Member: JamesAGreen

April 20, 2024, 01:49:22 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)Surveys for a research piece on first programming languages
Pages: [1]
Print
Author Topic: Surveys for a research piece on first programming languages  (Read 1158 times)
Kinth
Level 0
*


View Profile
« 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/kePLiu3ydysoFBlf2
Dynamic: https://goo.gl/forms/c5zisjKYn09FpoDf1



Hi,
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
Level 9
****

C++ professional, game dev sparetime


View Profile WWW
« 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
Level 10
*****



View Profile
« 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. Tongue
Logged

JWki
Level 4
****


View Profile
« 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
*


View Profile
« 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
*


View Profile
« Reply #5 on: April 19, 2017, 04:19:37 AM »

It seems It might be worth just changing the languages to any statically typed or any dynamically typed language. Less people learnt Python and Java first than I expected Tongue
Logged
Kinth
Level 0
*


View Profile
« 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
Level 9
****

C++ professional, game dev sparetime


View Profile WWW
« 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
*


View Profile
« 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
Level 9
****

C++ professional, game dev sparetime


View Profile WWW
« 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
Level 10
*****



View Profile
« 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
*


View Profile
« 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 Wink) 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
Level 10
*****


A fool with a tool is still a fool.


View Profile WWW
« 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

Independent game developer with an elaborate focus on interesting gameplay, rewarding depth of play and technical quality.<br /><br />Trap Them: http://store.steampowered.com/app/375930
Kinth
Level 0
*


View Profile
« 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
Level 10
*****



View Profile
« 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
Level 10
*****


A fool with a tool is still a fool.


View Profile WWW
« 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

Independent game developer with an elaborate focus on interesting gameplay, rewarding depth of play and technical quality.<br /><br />Trap Them: http://store.steampowered.com/app/375930
Kinth
Level 0
*


View Profile
« Reply #16 on: April 27, 2017, 11:33:47 AM »

Some interesting responses so far. Thank you all Smiley

I will make the responses public once the survey period is over.
Logged
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic