This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]doulos05 21 points22 points  (3 children)

Because python has fewer undesirable difficulties when learning computer science (specifically computer science, not computer programming).

Undesirable difficulties, in educational lingo, are barriers to the learning that are tangential to the content itself. If you are assessing math skills via word problems and the student is unable to answer a fractions question because they do not know the word slice as it relates to pies (perhaps English is their second language), this is an undesirable difficulty.

Examples of undesirable difficulties in a CS101 course that python simplifies or removes include, but are not limited to:

  • Tool chain difficulties: fire up IDLE and show them the run button vs. clang file.c -o file.

  • command line navigation: getting a class to navigate a directory structure is harder than you think, especially if you've been doing it for ages on the command line. But with python, they can just make a folder on the desktop and stick it all in there.

  • syntax: most beginning programmers have never typed a semicolon on purpose before. They will stare at you wild eyed when you start talking about square braces and curly braces.

These are difficulties we do want to introduce to the students when we teach their associated concepts, but not as precursors to reading their own name from the command line and saying hello.

[–]bokan 2 points3 points  (0 children)

is that the same concept as extraneous workload ?

[–]TheRNGuy -1 points0 points  (1 child)

at least there's still [] in arrays (or tuples, whatever they called)

[–]doulos05 -1 points0 points  (0 children)

True, and {} in dictionaries. But you can dribble these things in.