G+_Joe C. Hecht Posted January 31, 2014 Share Posted January 31, 2014 From: Joe C. Hecht Subject: Review of TWiT's "Coding 101" offerings. As a teacher, author, and industry recognised expert in the art of programming, I was saddened beyond all disbelief to bear witness to the first episode (and now second episode) of TWiT's "Coding 101" netcast. If "netcasts you love from people you trust" is TWiT's motto, they really blew it (badly). Learning to count in binary is not the place to start in a Coding 101 class. If you are truly interested in learning programming, run (don't walk) to your nearest book store, and get a good book on the subject. Most likely, it will at least go though a review process prior to publication. I am further shocked that Microsoft would reinforce this production with such a poor representation. I am sure my former colleague, Anders Hejlsberg (the developer of C# and Delphi) would shudder if he saw Microsoft's contribution to this sad production. In short, be very careful using this show as a starting point to coding, as you may find yourself off on the wrong foot. Realize the hosts and writers of this show are not professionals at either writing or teaching the art of coding, and it is highly doubtful the show went though any review process before publication. This show seemingly exists for one purpose alone, to sell advertisements to its viewers. Do not get me wrong, I do understand this is a commercial venture, and probably came about with the thoughts of creating an archive of netcasts with enough value that it could be pitched for years to come, and viewers would be enticed to go and view the entire series (along with the ads), but with that vision, there should be value. In the second episode, I heard Padre SJ making excuses as to why so much is thrown at the viewer, claiming that they only have 30 minutes to present. I think that is all the reason for them to slow down, cut back, and present the material in a clear concise manner. Presenting the material as seeming randomized thoughts, in a manner similar to a caffeinated swarm of teen-aged girls speaking over each other in high speed, serves little purpose. In case anyone is thinking I have nothing positive to add, please read on. Here I will present a short outline of just what kind of flow a "Coding 101" presentation should look like, and can be packed into a handful of episodes. (0) A small touch of history. (1) The only things computers can do: Add, subtract, multiply, divide, loop, input/output (store and recall things), Logical operators (and, or, not). (2) How computers see things: Simple Types (integer, float, char, strings) Compound Types (records or structures). Constants / Variables (of types) Arrays of types Pointers to types Linked pointers (brief Linked list concept). (3) Counting: Why humans count in 10's (because we have ten fingers). Zero is a number, and why that is so important to remember. Why computers count in 0's and 1's What you can do with 0's and 1's (true/false, on/off, yes/no, make/female, pixels, etc). Other numeric bases (brief explanation of octal and hexadecimal). Integer and Floating point gotcha's - Overflows and Underflows, and epsilon comparisons. Conditionals - If else. Logical operators (and, or, not). Bitwise operators (and, or, not). Loops, and loop types - For, While, Repeats (4) A few language choices. Seriously, does anyone think a "coding 101" viewer is going to get Visual Studio installed, patched, and know what to do? I wonder how much Microsoft might be fronting on this one. How about some other choices? Lazarus, Free Pascal, Heck, even JavaScript is an easy start. As a former Borland guy, I'm partial to Delphi (but it takes about 40 GB to install these days). Simply put, there are some choices. (5) File IO Basics. (6) Object oriented programming (very basic 101 into - this is a the beginning of a coding 201 concept). Final thoughts: In the end, it may just be the motivation I need to dust of my Heil PR-40 and once again, produce something worthy of publication. In the interim, I would not be surprised at all to see TWiT borrow from the above flow list, as they are in obviously in desperate need of direction. I might suggest they go take a look at the Delphi 3 book up on Leo's bookshelf for further notes. I can't remember if I participated in that one, but it would not surprise me in the least to find my name buried in there somewhere. In any case, it would be a positive move. Final thoughts ++:: I'm sure there are going to be some TWiT followers who will view this open letter as a troll piece, and they could not be more wrong. I not only put my real name to this piece, I am putting my industry known reputation on the line. I am sure there there is a small faction of TWiT followers who simply believe that TWiT can do no wrong, but IMHO, TWiT failed on this production. I sincerely hope that TWiT realizes this blunder, picks up the pieces, goes back to the drawing board, and produces a show worthy of the TWiT brand, and true to the TWiT motto "Netcasts you love, from people you trust". I hope some of the viewers of the "rework" go off to complete their education in programming, and bring forth a great many lines of code. And I hope to see you there! TJoe(h^) - Joe C. Hecht - Code4Sale, LLC Link to comment Share on other sites More sharing options...
G+_Ryan Bolog Posted January 31, 2014 Share Posted January 31, 2014 I think your way off on the jumping around part. In school you do not study one subject for a whole day. Also, "counting" really? Its 101 not 099.... Link to comment Share on other sites More sharing options...
G+_Joe C. Hecht Posted January 31, 2014 Author Share Posted January 31, 2014 Hi Ryan, Not sure about the jumping around. One thing in common with all "Coding 101" type classes is that you should present the material in a set fashion, assuming that no one is familiar with the material. For example, speaking of "strings" is useless until everyone knows what a string is. Teaching the beginnings of programming has been done many many times before this, and the flow has been standardized by those that came before us, because it works. It is very easy to explain the basic types in a clear and concise manner, and can be done in a few minutes. Most of the folks that watched the show here came away very confused rather than enlightened, so its not just my opinion. I think at this point, I should mention that I have a vested interest in seeing just how well this "coding 101" show works, and that I am paying three non-coders to watch it and to let me monitor the results. Counting is also very important. Binary is important to teach mainly because it is used for flags, where you need to learn bitwise operations to make use (noting that I can think of only one compiler - free pascal - that natively supports binary), however, folks are much more likely to have to deal with Hexdecimal. Neither of those subjects is a "099" class, as I have found that most people initially get very confused at the concept of counting in a base other than ten. 0x000002A TJoe(h)^; Link to comment Share on other sites More sharing options...
G+_Rob Harrison Posted January 31, 2014 Share Posted January 31, 2014 I kinda agree with you Joe Hecht. I love the guys at TWiT and I understand that they wanted to include stuff for beginner and intermediate programmers. I found myself saying more Shannon Morse please, cos Farther Robert really wasn't doing a good job of explaining without introducing terms like function and variable before explaining what those are. Throw away the chalk board. All these simple concepts are so much easier to understand typed into something like a python interpreter, where you can interface directly with the computer line by line (and see the punctuation). Certainly wouldn't start with binary. Too alienating. Why not start with what is a string and why does it need those annoying quotes? What's a print command and why does the text come on the screen and not out of the printer. Terrible language to start with. C#! I'm on a mac and there were no instructions for how to run on that. Come to think of it, what if you only have an ipad or android phone? If it was me, and it isn't so hey ho, I'd either target at beginners and start at the top or split the show into 3 segments. A piece for beginners, a piece for intermediates and a topic or top tip for experts. If you wanna fit more in, there's no reason the show couldn't run a little longer. Shannon and Robert swap roles. Shannon is much better at asking and answering beginner sort of questions and putting things into terms we all understand. Keep up the good work all at TWiT, only 2 shows in. Link to comment Share on other sites More sharing options...
G+_Shannon Morse Posted January 31, 2014 Share Posted January 31, 2014 Have any of you watched the second episode yet? Link to comment Share on other sites More sharing options...
G+_Shannon Morse Posted January 31, 2014 Share Posted January 31, 2014 I should mention Joe Hecht that we received your email (which looks exactly like this post). I was hoping you'd watch the second episode to understand why we started where we did. But hey! To each their own. I hope you'll enjoy the show as it progresses. Link to comment Share on other sites More sharing options...
G+_Joe C. Hecht Posted January 31, 2014 Author Share Posted January 31, 2014 I believe the first sentence of my post read: "bear witness to the first episode (and now second episode)" I'm kinda reminded of writing a clear case to tech support at xyz company, and getting a reply where it was clear that my case was never read. Glad you got the email. It was a close to my post, but not "exact". Actually, I hope you got both, as I also sent one in response to the beta episode. My wife has reminded me that I am from the "old school", where "quality was job 1", and so was the customer, and that sort of thing no longer matters to most. I think Leo said it best (last Sunday?) where he said to someone, if don't like it, go somewhere else. But on the opposing side, you do ask folks to fill out surveys. Someone at TWiT must value consumer input. I really hope the show does progress. I really do think you could do a much better job on this show. Know that I am not looking for perfection, but I know in my heart that you really missed the mark this time. The folks watching here send a little feedback as well. The presentation feels like you are "winging it". Your show notes said "Today, we learn all about variable loops, while loops, and converting integers to binary". Can you say you did a good job at that? What kinda of variables did we learn about? all? While loops? Did you even address the conditionals of a while loop? "All about"??? No. The group here gave it a thumbs down, saying not only did you not teach it "all about", you did not manage to really teach "any". Perhaps a few powerpoint slides might help pace the show, and keep you on track. Take the chalkboard away from Padre, and try some pre designed material. Hey, I am really trying to be helpful here! I would like this to be a show that has some real value. Link to comment Share on other sites More sharing options...
G+_Shannon Morse Posted January 31, 2014 Share Posted January 31, 2014 Well thanks for your feedback Joe Hecht! And sorry it didn't seem like I read the whole thing (I actually did, but commenting on a mobile device doesn't let me go back and review the full post without losing my comment or copying/ pasting it). I do appreciate your feedback though! This is kind of the first of its kind on the twit network, so we're approaching it with welcome arms to anyone who has CONSTRUCTIVE feedback, which yours was. I've done several tutorials for Linux on my other shows, so I do hope we can emulate the quality I've come to know on those, for this show. But you know, this is a team effort. We all put in 100% since this is our full time jobs, so we want you to love it. Link to comment Share on other sites More sharing options...
G+_Matt Cannizzaro Posted January 31, 2014 Share Posted January 31, 2014 Joe Hecht I can see where you're coming from with your criticisms. As a teacher myself, when I see someone with good intentions but in my opinion floundering I can't not say something! I like a lot of your suggestions especially the use of PowerPoint instead of the chalk board. I wish more shows would use pre-made visual aids as opposed to creating them on the fly as this is often times distracting to the hosts and frustrating to the viewers. While not a coder myself, I am enjoying the show. I love both Snubs and Padre and hope that this show continues on with both of them for a good long while. Link to comment Share on other sites More sharing options...
G+_Rob Harrison Posted January 31, 2014 Share Posted January 31, 2014 Thanks for reading the thread Shannon Morse. Keep up the good work. I have really high hopes for the show. Link to comment Share on other sites More sharing options...
G+_Robert Higgins Posted January 31, 2014 Share Posted January 31, 2014 For Years Leo has talked about a coding class, Not an easy thing to do in netcast format. Myself --- I appreciate the effort, I am learning a great deal. My only coding experience is commodore basic back in the eighties. I'm 65 and retired -- If I can get some good out of this class ANYBODY can !!! Link to comment Share on other sites More sharing options...
G+_Volkan Paksoy Posted January 31, 2014 Share Posted January 31, 2014 I think Joe Hecht made some very good points. This show obviously is not following a traditional curriculum for coding 101 class. But we already have a ton of Massive Open Online Courses (MOOC) around which do a very good job in this. I've watched some Udacity and Stanford classes and they are great for beginners. This show has a different audience and trying something new. It's a different approach and it's not an easy subject to cover in a netcast. So I hope they become successful in their endeavour. Link to comment Share on other sites More sharing options...
G+_Lee Crocker Posted February 1, 2014 Share Posted February 1, 2014 I'm not sure the podcast format can be used as lessons, so maybe the way to make this show better is to not try. Instead of trying to cover everything at once, and necessarily oversimplifying and getting important things wrong in haste, slow down and make each episode an exploration of a single topic, treated more conceptually and in depth, rather than trying to make it hands-on in a format that just doesn't support it. The show could feature a student like Shannon or Robert asking questions of an expert like Lou, clarifying things the viewer is expected to have already read about but not understood well. Each topic could involve comparisons of that topic among languages and platforms. I would have started with a few shows on basic things like what is a language, what's an IDE, what's an SDK, what is Github, how do I download and install an SDK, and such. I can understand the desire to let readers get tinkering right away, but I just don't think that can be productive in this format. Don't forget that these will be archived, so people can download earlier episodes to learn about a topic, but not if every episode is 10 disjointed topics covered half-assed and rushed. Link to comment Share on other sites More sharing options...
G+_Joe C. Hecht Posted February 1, 2014 Author Share Posted February 1, 2014 Thank you for your feedback Shannon Morse! I would also like to add that I have much enjoyed your previous offerings with Linux, and I as I recall, you did a very fine job on those shows. I also believe the "NetCast" format can indeed be a great vehicle for teaching about code, and that one would be very hard pressed to find any better audience to deliver to than your TWiT viewers. I also want to thank you for seeing that I was making suggestion in addition to my critique. That is not always an easy thing to do. Do know that I am cheering you on from this end, as I would like to see nothing short of the very best come from "Coding 101". These days, it is very rare that I "come up for air" to say anything. As some of my former colleagues would say "WTF??? You mean he is still alive?". Sorry you ended up having to bear the brunt of my soapbox. I hope my time was put to the good as it was intended, and not seen as evil. Ok, I have no less than a half dozen VM's worth of Visual Studio to go upgrade... ugg. In closing, know that the only real fun I ever get is watching your broadcasts (or perhaps making up a coffee mug or two for you guys), so do remember that you folks do bring a lot of value to your listeners, and for that, you guys do deserve a big pat on the back, (and a big thank you - THANK YOU). Now, Go Get Um Snubbs! 0x002A 0x0032 0x0075 TJoe Link to comment Share on other sites More sharing options...
G+_Lee Crocker Posted February 1, 2014 Share Posted February 1, 2014 FWIW, I too intend my criticism to be constructive. This certainly could be a good podcast, but these first two examples just don't show much promise of that. Admittedly I am definitely not among the target audience--I'm a 30-year 12-language kernel-hacker-level guru, but I learn new things every day about some tool or some platform or some technique I happen to have missed before, and hearing the questions of newbies gives me new insights into things I have always taken for granted. Link to comment Share on other sites More sharing options...
G+_Joe C. Hecht Posted February 1, 2014 Author Share Posted February 1, 2014 Lee Crocker I have been coding windows drivers since Windows beta version 0.8 (can I say that NDA tidbit yet?) and I am also amazed at how much I am still able to learn when reviewing the basics. Link to comment Share on other sites More sharing options...
G+_Mirko Majic Posted May 27, 2016 Share Posted May 27, 2016 Joe, i want to learn how to create swarm of drones. would you be able to help on any way? I couldn't find anything on internet ...software, programming language, links, instructions, step by step..I do appreciate your time given to me. Link to comment Share on other sites More sharing options...
Recommended Posts