Live data from Hacker News

Retiring Python as a Teaching Language

prog21.dadgum.com

161–170 of 238 posts

Re: Retiring Python as a Teaching Language

#161

When I took an introduction to Computer Science in college, it was taught in Racket. Over winter break, I then learned Python, and I was baffled -- why would any curriculum not start with Python? Python was easy, expressive, and allowed the user to get lots done with little effort. It was great at motivating programming by showing its use and power. It seemed like an ideal introductory language. Over the last few yea…

Teaching is made of two components: access to knowledge, and motivation. Today, access to knowledge is almost entirely irrelevant: pretty much all knowledge is freely accessible from anywhere, anytime. You just need the motivation to look it up. Teaching yourself can be easy, if only you have the drive to keep at it. It wasn't the case in our past. In the middle ages, before the printing press, teaching was 99% passi…

> pretty much all knowledge is freely accessible from anywhere, anytime.

If only that were true.

http://data.worldbank.org/indicator/IT.NET.USER.P2/countries...

It's getting better every year but we're definitely not there yet.

Re: Retiring Python as a Teaching Language

#162
As already mentioned in the thread, it depends on what you want your students to learn. My universities CS courses (aside from theoretical stuff) started with Racket for the basic concepts, good choice. We were then taught Java to handle a small project, questionable. But after that we had no problems with the language, when we had to implement algorithms, which would look quite similar in most other OO languages, maybe with added memory management.

I think JavaScript's prototype-based inheritance and global scope would make it hard to abstract concepts learned in it to other languages. Strict ES6 might help a bit. When switching from Scheme + Java to JS, you can get the Java+Scheme mix, that JavaScript is in my eyes, and use it accordingly. Switching the other way round you would basically have to relearn the concepts, because JavaScript does not express one distinct enough, but is an exotic mix of them (or an ugly hack as others might say).

Outside of CS though, I think introducing people to JavaScript, PHP or even advanced Excel is highly beneficial.

Re: Retiring Python as a Teaching Language

#163
Nothing got people easier into programming than good old BASIC did.

MODE 4; LINE 10,10, 250,250

Instant attraction.

Beginner steps need to be small and need to give an immediate reward, BASIC got that right, almost every other language stood so far away from the available devices that the spark failed to jump the gap in many places.

Smalltalk is another language that got this right, people - especially beginners - need instant gratification to move from curiosity to immersion.

Re: Retiring Python as a Teaching Language

#164

My impression is that Python is certainly not a better language than JavaScript. They both have their quirks, so it ends up being a matter of preference. For example Python doesn't have real lambdas, on the other hand it has named parameters. The only reason to use Python that I can think of is maybe SciPy. I made me sad to witness Python gaining so much in popularity as a beginner language in the last year.

The idea that readability matters influences the whole Python ecosystem and community. Python3 also eliminated quite a handful of quirks (e.g. division, Unicode). By the way, it's not since last year only that Python was used for introduction but for years now.

Re: Retiring Python as a Teaching Language

#165

I have a concern with Python as a teaching language in contexts where people are not necessarily into STEM and are inexperienced or marginally experienced as programmers. There's no neat and tidy way to deal with Python 2 versus 3. You can say use 2. You can say use 3. You can kick the issue down the road by requiring programming via web browser. But in the end anyone who catches the programming bug winds up facing a…

Telling somone to use Python 2 is a neat and tidy solution . What problems would this possibly cause? Python 3 is fine too.

Python 2 is not nice as soon as you face something containing unicode chars.

Re: Retiring Python as a Teaching Language

#166

Nothing got people easier into programming than good old BASIC did. MODE 4; LINE 10,10, 250,250 Instant attraction. Beginner steps need to be small and need to give an immediate reward, BASIC got that right, almost every other language stood so far away from the available devices that the spark failed to jump the gap in many places. Smalltalk is another language that got this right, people - especially beginners - ne…

Yes. BASIC also had an awesome help system, where an eight year old could learn how to draw things on the screen without any teacher, even if they barely spoke English.

Re: Retiring Python as a Teaching Language

#168
I learned in QuickBasic and later Pascal, and for that purpose they where great. In my first stab at Python i had my POC running within an hour.. but i do not like the hoops i had to jump through. Mostly the tabs, the v2/v3 incompatibilities and lingo. PHP and C# also are good languages for starters. Today its JavaScript, but my impression is that becoming an software architect in JS is not that easy.

Re: Retiring Python as a Teaching Language

#169

I'm saddened by the lack of academic rigour displayed in this thread. If you have not taught introductory computer science courses, then you have NO CLUE what makes a good introductory language choice. It appears James Hague isn't working as a teacher either, just giving advice to newbies, so his opinion is just that -- opinion. What you want is field studies: "This year we used Haskell and 75% of all students gave u…

I am not as confident in your predictor or badge of authority -- that teaching actually tells you how to teach. Most "teachers" you're talking about are researchers first, and lecturers second. They don't really think about pedagogical techniques, and they're not going to start.

Plus, they most definitely aren't going to take motivational issues seriously. Most professors assume you have motivation, and if you don't, they aren't going to care. They're going to let policy take care of you.

Also, like I've mentioned before, most professors are not teachers. They are lecturers. The difference is that a lecturer just spits out the information in a clean and accurate manner, but it's your job from there to handle your learning.

On a gloomy ending, I would even note that most teachers ever probably don't care for the state of pedagogical research. They probably already have very strong opinions about how to model the student population or best learning methodologies.

Re: Retiring Python as a Teaching Language

#170
javascript/html/css is a new lingua franca that is "understood" by all computers, all OS. It is always useful to learn it whatever the purpose of the student. If the purpose is to learn computer science, SICP remains the best source of inspiration, even if scheme is out fashioned. Do you know if scala is used for teaching ?
Post reply on HN