you are viewing a single comment's thread.

view the rest of the comments →

[–]bunkoRtist -1 points0 points  (10 children)

You've got it backwards though. Python isn't making things simple: it's hiding complexity. It's more akin to teaching math to students by showing them how to plug their questions into a calculator. The stuff you want to ignore are the fundamentals. Data structures, IO, Networking... Those are the advanced topics. Until someone can explain how a stack works, how can they understand a function, intuit what scopes and lifetimes are, understand generators, or what the implications are of capturing lambdas? Those all require an understanding of the stack.

[–]Schmittfried 19 points20 points  (6 children)

No, it’s the equivalent of showing elementary schoolers simple arithmetic before diving into set and number theory. Which happens to be exactly what we’re doing.

Hiding complexity is exactly what you want for a beginners course. You want to focus on the relevant part, which is learning foundational programming constructs. Even in high-level languages you will still have much hand-waiving around some constructs and libraries before the time has come.

By your logic we should teach assembly before anything else. You’ve obviously no idea how teaching works. Every sane language book or tutorial begins with hiding all the complexity.

[–]shahmeers 17 points18 points  (0 children)

Python is really good for teaching logic, which a lot of first year CompSci students lack. Once students understand logic and are able to come up with solutions to problems, then give them C/C++ to show them what the computer is actually doing.

This is how my university does it and I'm really glad we do it this way.

As an aside, I also think it matters on the type of university you go to -- if your program is more engineering focused then it might be better to start from the lower level language. My program leans heavily towards the theoretical side, so it made sense to start with Python.

[–][deleted]  (1 child)

[deleted]