{"id":208,"date":"2009-08-16T08:21:49","date_gmt":"2009-08-16T14:21:49","guid":{"rendered":"http:\/\/minkhollow.ca\/beckerblog\/?p=208"},"modified":"2014-09-12T12:02:14","modified_gmt":"2014-09-12T18:02:14","slug":"on-schools-of-cs-using-only-useful-laguages","status":"publish","type":"post","link":"http:\/\/minkhollow.ca\/beckerblog\/2009\/08\/16\/on-schools-of-cs-using-only-useful-laguages\/","title":{"rendered":"On Schools of CS using only &#8220;useful&#8221; laguages&#8230;"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Approximate Reading Time: <\/span> <span class=\"rt-time\"> 4<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span><p>This is an older post I&#8217;ve been hanging on to, and since I have forgotten why I was hanging on to it, I no longer see any reason to keep it private.<\/p>\n<p>This stems from a post Mark Guzdial did last year (August 2009):<\/p>\n<h3><a href=\"http:\/\/computinged.wordpress.com\/2009\/08\/14\/lisp-and-smalltalk-are-dead-its-c-all-the-way-down\/\">Lisp  and Smalltalk are dead: It\u2019s C all the way\u00a0down.<\/a><\/h3>\n<p>There was quite an interesting discussion around this. For the original comments, check Mark&#8217;s blog. The comments are all public. I&#8217;ll quote a few bits here along with some of my responses:<\/p>\n<blockquote><p>Patrick Widener: Katrin, Steve Yegge from Google wrote up a great blog post once illustrating that very point: some of their interview candidates would take a problem that practically screamed to be solved via awk\/sed\/perl, and try to write 250 lines of C++ on a whiteboard in 45 minutes because it was the only hammer in their toolbox.<\/p><\/blockquote>\n<p>ME:<\/p>\n<p>I had the same experience in a 3rd year data architecture course. I had my students create a client-side search utility that required them to generate a data file containing their search data that they could send over to the client. It had to be small and the first step was to crawl around their website to build this data file. I told them they could use any language they wanted to. My sample solution (I always solved their assignments myself before they got them) was about 20 lines of SED and UNIX script. Almost ALL of them wrote their solution in C++ &#8211; over 2000 lines of code.<\/p>\n<p>They didn&#8217;t believe me when I told them it would only take a few hours to learn enough SED &amp; shell script to solve the problem. They didn&#8217;t believe that it was possible to learn just a bit of a language because none of their professors told them. Instead they spent many more hours than that writing programs in a language that was not well suited to the problem at hand.<\/p>\n<blockquote><p>Fred Martin: When I was an undergrad, the MIT AI Lab was filled with Symbolics Lisp machines. So of course undergrads had to learn Scheme, if they were going to be useful in the research labs.<\/p>\n<p>A big part of the problem here is that none of us (or few of us) actually *use* these languages in our research work. E.g, my two big build-and-study projects are based on web apps, and we use the obvious language\/techn choices (Java, JS, PHP, MySQL).<\/p>\n<p>Fred Martin: Mark you&#8217;d probably be an exception to this with your work with Squeak. But how many of us &#8212; other than language researchers &#8212; actually use these languages in our work? Robot people don&#8217;t program in Lisp anymore, etc. I&#8217;ve been teaching our PL course (based on Sussman\/Abelson SICP) &#8212; it&#8217;s still offered and still required. I added a project module to the last part of the course, and I think it really helps make the ideas useful to students.<\/p>\n<p>Still &#8212; if we&#8217;re not dog-fooding the stuff in our labs, classes can only go so far&#8230;<\/p><\/blockquote>\n<p>ME:<\/p>\n<p>With a few exceptions, most of the faculty I knew at my former institution didn&#8217;t actually *use* ANY language &#8211; they have grad students for that. I seriously doubt whether many of even <em>can<\/em><strong> <\/strong>write a working program to do something useful any more.<\/p>\n<p>What we teach, especially in the 1st &amp; 2nd year of a 4-year program, should not be determined by what we personally use, nor by what is currently popular in industry. It should be determined by whether or not it helps to build a good foundation of knowledge &amp; understanding.<\/p>\n<p>Re dogfooding: <em><strong>All faculty should be able to teach ANY 1st or 2nd year course (given some prep time). If they can&#8217;t, they shouldn&#8217;t be there.<\/strong><\/em><\/p>\n<p>Re Ian&#8217;s lament about lack of interest in our own history is absolutely true. We had <a href=\"http:\/\/pages.cpsc.ucalgary.ca\/~williams\/\" target=\"_blank\">Mike Williams<\/a> in our department- probably *the* world expert in computer history &#8211; no-one paid him much attention or give him the respect he had earned while he was faculty. He has the very bestest stories. When I was a student there, these stories helped to give me a sense of place and of connection to my profession. The lack of interest in our past may also explain why most people in CS are so <a href=\"http:\/\/www.startrek.com\/database_article\/ferengi\" target=\"_blank\">Ferengi <\/a>today.<\/p>\n<blockquote><p>Fred Martin<a href=\"http:\/\/www.facebook.com\/fgmart\">:<\/a> I think I wasn&#8217;t very clear &#8212; what I meant was, there used to be more fac teaching cool languages and also using them in their research labs (even if it was the grad students doing the coding). Now even the fac who love and teach languages, probably aren&#8217;t using them unless they&#8217;re also language researchers. So students don&#8217;t get to see many instances of real-world projects using modern languages (I&#8217;m including fact research labs as being real-world, vs. pedagogical content). I think that makes our task even harder &#8212; if we&#8217;re not using these languages ourselves in our projects, it&#8217;s harder to show they really matter.<\/p><\/blockquote>\n<p>ME:<\/p>\n<p>You&#8217;re right. So, as faculty, we SHOULD be writing code in these languages.Like Bjarne Stroustrup said, &#8220;<a href=\"http:\/\/cacm.acm.org\/magazines\/2010\/1\/55760-what-should-we-teach-new-software-developers-why\/fulltext\" target=\"_blank\">You can&#8217;t teach what you don&#8217;t practice.<\/a>&#8221;<\/p>\n<p>Part of the reason we used to use cool languages was because they were <em><strong>interesting<\/strong><\/em>, and learning how to use them <em><strong>broadened our minds<\/strong><\/em>. They mattered because <em><strong>they had something to teach us<\/strong><\/em>, not because they were being used in industry or research.<\/p>\n<p>When I was doing my undergrad, most of the languages I learned were not useful for &#8216;real&#8217; work because we didn&#8217;t have the horsepower. So, along side Fortran, PL\/1, Simula, APL and JCL (useful at the time), I also learned Snobol, Lisp, Algol68, Ada, Pascal, Basic, and many other not-useful (at the time) languages.<\/p>\n<p>I think we often loose touch with the notion that a university degree should be different from a professional certificate. Sometimes the reasons for teaching something don&#8217;t have anything to do with whether students will be able to use this directly in their future jobs. Students absolutely have the right to ask, &#8220;Why am I doing this?&#8221; and &#8220;What is it good for?&#8221;, and faculty absolutely should have answers to these questions, but they DON&#8217;T always have to relate directly to the jobs these people might do when they graduate.<\/p>\n<p>Example: I&#8217;ve never written a single line of assembler for anything&#8221;useful&#8221;, but I learned a lot about how the machine works from learning to program in assembler.<\/p>\n<p>That&#8217;s the thing &#8211; I don&#8217;t think you do have the &#8216;wrong&#8217; idea (I didn&#8217;t think that when I was teaching CS either). I think most schools of computer science have the wrong idea. It&#8217;s the CS departments that keep saying, &#8220;No, we don&#8217;t do that.&#8221; &#8220;And, we don&#8217;t do that either. Nor that. Let&#8217;s have more math, more theory, more algorithm analysis more silly seng&#8230;.&#8221;<\/p>\n<p>(Thing is: I know some *real* software engineers &#8211; they don&#8217;t do the stuff you learn in school.)<\/p>\n<p>Most of CS @ school is now a waste of good talent &#8211; no wonder the good talent ends up getting other degrees (or none at all).<\/p>\n<div class='wp_likes' id='wp_likes_post-208'><a class='like' href=\"javascript:wp_likes.like(208);\" title='' ><img decoding=\"async\" src=\"http:\/\/minkhollow.ca\/beckerblog\/wp-content\/plugins\/wp-likes\/images\/like.png\" alt='' border='0'\/><\/a><span class='text'>Be the first to like.<\/span><\/p>\n<div class='like' ><a href=\"javascript:wp_likes.like(208);\">Like<\/a><\/div>\n<div class='unlike' ><a href=\"javascript:wp_likes.unlike(208);\">Unlike<\/a><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Approximate Reading Time: <\/span> <span class=\"rt-time\"> 4<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>This is an older post I&#8217;ve been hanging on to, and since I have forgotten why I was hanging on to it, I no longer see any reason to keep it private. This stems from a post Mark Guzdial did &hellip; <a class=\"more-link\" href=\"http:\/\/minkhollow.ca\/beckerblog\/2009\/08\/16\/on-schools-of-cs-using-only-useful-laguages\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[9,14,351,24],"tags":[388,6,40,22,393],"class_list":["post-208","post","type-post","status-publish","format-standard","hentry","category-educational-technology","category-general","category-nature-animals-urbanrural-life","category-teaching-learning","tag-academia","tag-computer-science","tag-private","tag-software-industry","tag-teaching-learning"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p4Hsb6-3m","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":4810,"url":"http:\/\/minkhollow.ca\/beckerblog\/2015\/06\/20\/worth-repeating-mythical-retention-data-the-corrupted-cone\/","url_meta":{"origin":208,"position":0},"title":"Worth repeating: Mythical Retention Data &#038; The Corrupted Cone","author":"Katrin Becker","date":"June 20, 2015","format":false,"excerpt":"Will at Work Learning: Mythical Retention Data & The Corrupted Cone. Thank you Will Thalheimer for taking the time to pull this all together. This is one of those trite myths that is so popular but that\u00a0actually has the potential to cause damage. \u00a0 I've commented on\u00a0this before, as have\u2026","rel":"","context":"In &quot;Academia&quot;","block_context":{"text":"Academia","link":"http:\/\/minkhollow.ca\/beckerblog\/category\/academia\/"},"img":{"alt_text":"csilence1","src":"https:\/\/i0.wp.com\/minkhollow.ca\/beckerblog\/wp-content\/uploads\/2014\/03\/csilence1-300x197.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":1684,"url":"http:\/\/minkhollow.ca\/beckerblog\/2011\/05\/20\/student-evaluations-of-teaching-dont-correlate-with-learning-gains-computing-education-blog\/","url_meta":{"origin":208,"position":1},"title":"Student evaluations of teaching don\u2019t correlate with learning gains \u00ab Computing Education Blog","author":"Katrin Becker","date":"May 20, 2011","format":false,"excerpt":"Student evaluations of teaching don\u2019t correlate with learning gains \u00ab Computing Education Blog. Mark Guzdial comments on a post made on (LISTSERV 16.0 - AERA-L Archives.) by Richard Hake, who disagrees with the popular (especially among administrators) notion that student evaluations of teaching are valid form of evidence to measure\u2026","rel":"","context":"In &quot;Educational Technology&quot;","block_context":{"text":"Educational Technology","link":"http:\/\/minkhollow.ca\/beckerblog\/category\/educational-technology\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3332,"url":"http:\/\/minkhollow.ca\/beckerblog\/2013\/04\/18\/are-we-teaching-our-kids-to-not-learn\/","url_meta":{"origin":208,"position":2},"title":"Are We Teaching Our Kids to NOT learn?","author":"Katrin Becker","date":"April 18, 2013","format":false,"excerpt":"I'm currently teaching an online graduate course in Digital Game Based Learning. It has included some great discussions about all kinds of things. Erin Lerouge (one of the class members) wrote a few comments on Seymore Paperts classic article, \"Papert, S. (1998). Does Easy Do It? Children, Games, and Learning.\u2026","rel":"","context":"In &quot;Educational Technology&quot;","block_context":{"text":"Educational Technology","link":"http:\/\/minkhollow.ca\/beckerblog\/category\/educational-technology\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1119,"url":"http:\/\/minkhollow.ca\/beckerblog\/2010\/09\/24\/comments-on-the-overblown-crisis-in-american-education-in-the-new-yorker\/","url_meta":{"origin":208,"position":3},"title":"Comments on &#8220;The overblown crisis in American education&#8221; in The New Yorker","author":"Katrin Becker","date":"September 24, 2010","format":false,"excerpt":"The overblown crisis in American education : The New Yorker. The author is claiming that things aren't that bad. More people are going to school than they did 100 years ago and there are lots more wanting to get in. Sadly, more is not better. The fact that a greater\u2026","rel":"","context":"In &quot;Educational Technology&quot;","block_context":{"text":"Educational Technology","link":"http:\/\/minkhollow.ca\/beckerblog\/category\/educational-technology\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":7312,"url":"http:\/\/minkhollow.ca\/beckerblog\/2019\/06\/19\/worth-sharing-we-dont-trust-course-evaluations-but-are-peer-observations-of-teaching-much-better\/","url_meta":{"origin":208,"position":4},"title":"Worth Sharing: We Don\u2019t Trust Course Evaluations, but Are Peer Observations of Teaching Much Better?","author":"Katrin Becker","date":"June 19, 2019","format":false,"excerpt":"Why colleges and universities that claim to take teaching seriously need a comprehensive and fair system of evaluating it. EXACTLY. But, as always seems to happen, the same teaching technique inspired completely contradictory reactions. For example, while I don\u2019t show too many PowerPoints in English composition, every time I introduce\u2026","rel":"","context":"In &quot;Academia&quot;","block_context":{"text":"Academia","link":"http:\/\/minkhollow.ca\/beckerblog\/category\/academia\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1232,"url":"http:\/\/minkhollow.ca\/beckerblog\/2010\/10\/09\/why-arent-faculty-better-teachers-prompted-by-a-book-review-of-taking-stock-research-on-teaching-and-learning-in-higher-education-tony-bates\/","url_meta":{"origin":208,"position":5},"title":"Why aren&#8217;t Faculty better teachers? Prompted by a book review of: Taking Stock: Research on Teaching and Learning in Higher Education \u00ab Tony Bates","author":"Katrin Becker","date":"October 9, 2010","format":false,"excerpt":"Book review: Taking Stock: Research on Teaching and Learning in Higher Education \u00ab Tony Bates. Sadly, I don't actually have time to read this book just now as I am writing one of my own. However, from the sounds of this review this is one that every active faculty member\u2026","rel":"","context":"In &quot;Academia&quot;","block_context":{"text":"Academia","link":"http:\/\/minkhollow.ca\/beckerblog\/category\/academia\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"http:\/\/minkhollow.ca\/beckerblog\/wp-json\/wp\/v2\/posts\/208","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/minkhollow.ca\/beckerblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/minkhollow.ca\/beckerblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/minkhollow.ca\/beckerblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/minkhollow.ca\/beckerblog\/wp-json\/wp\/v2\/comments?post=208"}],"version-history":[{"count":8,"href":"http:\/\/minkhollow.ca\/beckerblog\/wp-json\/wp\/v2\/posts\/208\/revisions"}],"predecessor-version":[{"id":1011,"href":"http:\/\/minkhollow.ca\/beckerblog\/wp-json\/wp\/v2\/posts\/208\/revisions\/1011"}],"wp:attachment":[{"href":"http:\/\/minkhollow.ca\/beckerblog\/wp-json\/wp\/v2\/media?parent=208"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/minkhollow.ca\/beckerblog\/wp-json\/wp\/v2\/categories?post=208"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/minkhollow.ca\/beckerblog\/wp-json\/wp\/v2\/tags?post=208"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}