Sympathy for Students in Beginning Programming Classes
Programming in the 21st Century - James Hague - January 27, 2013Here’s a template for a first programming class: Use a book with a language name in the title. Start with the very basics like formatted output and simple math. Track through more language features with each chapter and assignment, until at the end of the semester everyone is working with overladed operators and templates and writing their own iterators and knows all the keywords related to exception handling.
If you’re a student in a class like this, you have my sympathy, because it’s a terrible way to be introduced to programming.
Once you’ve learned a small subset of a language like Python—variables, functions, control flow, arrays, and dictionaries—then features are no longer the issue. Sure, you won’t know all the software engineery stuff like exceptions and micromanagement of variable and function scopes, but it’s more important to learn how to turn thoughts into code before there’s any mention of engineering.
I’d even go so far as to say that most OOP is irrelevant at this point, too.
My real template for a first programming class is this: Teach the bare minimum of language features required to do interesting things. Stop. Spend the rest of the semester working on short assignments that introduce students to problem solving and an appreciation for the usefulness of knowing how to write code. Realize that most students won’t go on to be professional programmers, but they might run into day-to-day problems that a short Python program would help them with.
Categories: Blogs Programming in the 21st Century
Erlang on Twitter
» Addictator_22 (Fadhillah Sykes): @erlangtp tadi fadhil ngatain om erlang gabik ya? Sabar om erlang itu fakta ;D
» ErlAng_fei (Erlina Anggraeni Fei): Sepak bola so pastinya ~(˘▾˘~)(~˘▾˘)~ RT @JawabJUJUR: [Cewek] Lebih suka pemain Basket atau pemain SepakBola? | @Hisyam_Murtadho
» kgangakhedkar (Kunal Gangakhedkar): RT @BigDataBorat: My summary of #ricon2012 “We spend 3 year build full Erlang stack can scale to 10 billion user” “How many users you does …
» val_to_string (Val Akkapeddi): #Erlang is at first seems different and bizarre, but then you realize, hey, it’s just writing code, with some elegant shortcuts.
» you21979 (ゆあ☆ミ): “EUC2012AnErlangGameStack1.5.pdf” http://t.co/xfHXDi3uAV
» BinbinsoangElga (Elga27): @doni_erlang kmu dimn skrng don?
» doni_erlang (Dony Erlangga): Sarapan pagi udah , saat nya beres” kamar atas dulu (•͡˘˛˘ •͡)
» TrainByTweet_VO (TrainByTweet_VO): VOIP: #Engineering #Network #VOIP #Erlang #Ethernet #Codec #Voice #Bandwidth #Signaling #Protocol #Firewall #Security #Encryption
» minibobo (Minibobo): 涉及到分布式的东西,用erlang开发就是省心省力。
» paulo_s_filho (Paulo Silva Filho): #Ruby can be #sexy and #Python can be #simple; but only #Erlang has that #charm and only #Perl has that #craziness!
Statistics
Number of aggregated posts: 10651
Most recent article: May 21, 2013
Latest comments
» Moraru on This is Why You Spent All that Time Learning to Program: It is true that computer science was a pain in the back at time that i’ve had to learn it…
» Commercial hand dryers on Couchbase Meetup at new HQ: Buy online from here where you will get so much of variety in Commercial hand dryers for people. If you…
» Fort McMurray Homes on Motivated Reasoning and Erlang vs Python vs Node: I don’t really understand why this post is motivational? I don’t even see a post, just a title. Fort McMurray…