''' > I'm always in favor of learning at least a couple languages, even if #2 is > mainly for contrast. One's mastery of X improves when one has experience > with ~X. Learn Python and Ruby both? But learn one to a higher level? > Clojure?
''' I agree with everything you are saying, but I would postpone the "language comparison" to sometime *after* the first course, and then my ~X language would not be Ruby (almost identical to Python), but something radically different (Lisp) or something important to industry (Java). The first course should focus entirely on fundamentals - understanding what is a function, what is an object, what do we mean by encapsulation, how do we control scope, etc. Perhaps my bias is due to my background (engineering and science), not CS. I like a language that can 1) teach the fundamentals with minimum clutter, 2) provide a tool for non-CS majors that will be useful their entire career, and 3) transition easily to Java, the main "industrial" language for the foreseeable future. Even as a non-CS major, I am curious about what other languages offer. This could be taught most easily as short examples comparing some great feature in language ~X to the equivalent in Python. Coding.bat is a good website for comparing Java to Python. My big disappointment with Python was that graphics was not integrated more smoothly into the package. Engineering involves a lot of plotting, and that should happen without extra effort. The integration with C could also be improved, for those applications where speed is important. On Sat, Oct 28, 2017 at 3:15 PM, kirby urner <kirby.ur...@gmail.com> wrote: > > > On Sat, Oct 28, 2017 at 1:44 PM, David MacQuigg <macqu...@gmail.com> > wrote: > > << ... >> > > I just hate to see what could have been a critical mass of users offering >> an alternative to Java, a much better alternative as an introduction to CS, >> losing that opportunity because there is no agreement on a simple >> alternative. Oh well, most students will end up with Java anyway, so maybe >> learning with all those useless semicolons will make the transition easier. >> >> > > Thank you, yes, I share your view that Ruby feels more like Perl and > markets itself versus Python with somewhat hollow slogans like "Ruby makes > programmers feel happy" (it's all about how it "feels"). > > AP CS seems stuck in the crufty past given a main rationale was to pick a > language actually taught at the college level. That used to be Java, but > is now Python so much more so. > > https://www.quora.com/Why-does-AP-Computer-Science-A- > teach-Java-and-not-Python > > I'm always in favor of learning at least a couple languages, even if #2 is > mainly for contrast. One's mastery of X improves when one has experience > with ~X. Learn Python and Ruby both? But learn one to a higher level? > Clojure? > > As this other thread points out, there's a new AP CS Principles course > (CSP) which Code.org and others are tackling, in principle language > agnostic. > > JavaScript is another contender as a first language, especially in light > of all the recent revisions (making it seem more like Python :-D). > > https://computinged.wordpress.com/2014/08/03/python-is-the- > most-popular-intro-language-but-what-about-csp/ > > Since the posting above (2014) -- about how college intro courses don't > use JavaScript as a first langauge --came at least Stanford's doing so: > > https://www.theregister.co.uk/2017/04/24/stanford_tests_ > javascript_in_place_of_java/ > > I think Harvard's CS50 is a good example of how Python has replaced Java > in terms of sharing the big picture. I refer people to the lectures on > Youtube, Week 8 in particular. > > https://youtu.be/5aP9Bl9hcqI > > Kirby > >
_______________________________________________ Edu-sig mailing list Edu-sig@python.org https://mail.python.org/mailman/listinfo/edu-sig