<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Two Thoughts on Computer Science Courses</title>
	<atom:link href="http://www.postal-code.com/binarycode/2008/01/21/two-thoughts-on-computer-science-courses/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.postal-code.com/binarycode/2008/01/21/two-thoughts-on-computer-science-courses/</link>
	<description>A whole bunch of nought thought by Chris Cummer</description>
	<lastBuildDate>Sat, 06 Jun 2009 22:54:39 -0400</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Scott&#8217;s Blog &#187; Fixing Computer Science</title>
		<link>http://www.postal-code.com/binarycode/2008/01/21/two-thoughts-on-computer-science-courses/comment-page-1/#comment-2191</link>
		<dc:creator>Scott&#8217;s Blog &#187; Fixing Computer Science</dc:creator>
		<pubDate>Wed, 30 Jan 2008 19:47:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.postal-code.com/binarycode/2008/01/21/two-thoughts-on-computer-science-courses/#comment-2191</guid>
		<description>[...] switched to using Java as the initial language when I started.  I agree with Brian Hurt and Chris Cummer about the value of a computer science [...]</description>
		<content:encoded><![CDATA[<p>[...] switched to using Java as the initial language when I started.  I agree with Brian Hurt and Chris Cummer about the value of a computer science [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Value of computer science degree &#171; Randomicity&#8217;s Weblog</title>
		<link>http://www.postal-code.com/binarycode/2008/01/21/two-thoughts-on-computer-science-courses/comment-page-1/#comment-2183</link>
		<dc:creator>Value of computer science degree &#171; Randomicity&#8217;s Weblog</dc:creator>
		<pubDate>Wed, 30 Jan 2008 07:05:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.postal-code.com/binarycode/2008/01/21/two-thoughts-on-computer-science-courses/#comment-2183</guid>
		<description>[...] Two Thoughts On Computer Science Courses [...]</description>
		<content:encoded><![CDATA[<p>[...] Two Thoughts On Computer Science Courses [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sam</title>
		<link>http://www.postal-code.com/binarycode/2008/01/21/two-thoughts-on-computer-science-courses/comment-page-1/#comment-2102</link>
		<dc:creator>sam</dc:creator>
		<pubDate>Fri, 25 Jan 2008 07:05:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.postal-code.com/binarycode/2008/01/21/two-thoughts-on-computer-science-courses/#comment-2102</guid>
		<description>some random mumblings

I have an engineering degree, but sofware dev that I do isn&#039;t engineering. I think of myself more as a craftsman, or maybe a tradesman. I think ratcatching is disrespectful. You need real engineers, but you also need people who can put there hands in and actually build something...

One thing that is different about software is that I suspect anybody that would classify as &quot;real engineers&quot; (like sucessful applicants at amazon) would also be an extremely competent software developer. This is different, my dads a fine instruments maker (an extinct trade, he&#039;d be lumped in with tool and die makers, now). Anyhow, he&#039;s really, really good at making things. From scratch, sometimes that means making the tools he&#039;ll need in order to make something. But, he&#039;s not an engineer, and the engineers that come through his machine shops... not so good at actually making things (most of them, a few are brilliant).

So, software might be different in that the idea that one person does the math and draws the pictures, and somebody else comes along later and builds it doesn&#039;t work so well with software.

Another thing. When encyclopedias first came out, the skilled crafts masters were concerned - anybody could just  read things and learn how to do what they did (cast cannons, make paper, build houses, whatever). This is kind of vague, but one thing I like about software is that unlike quantum mechanics, which I also had to study, I learn something or read something about s/w, and I can sit down at my machine, and I can try it. I actually can learn from reading, because everything I need to experiment is available to me. Maybe that makes software a craft that I like, whereas the engineering, well, theoretically I can design a flat panel liquid crystal system powered off sunlight and good intent, but how can I build it in my basement?

To get back to the first encylopedias, the stuff taught in them that had never been written down before could also be learned by experimentation, people had tools, were used to doing things by hand, building there own houses, making shoes, etc. So an article about the secrets of shoe making, that really spread the knowledge. It doesn&#039;t bother me that software developement is a craft. It does bother me that it isn&#039;t taught like a craft. Learn the fundamentals. Learn all the tools, how they are built, when to use it, how to build your own when thats appropriate. Don&#039;t stop learning, your degree makes you a journeyman, maybe, not a master.

Ok, back to bed.</description>
		<content:encoded><![CDATA[<p>some random mumblings</p>
<p>I have an engineering degree, but sofware dev that I do isn&#8217;t engineering. I think of myself more as a craftsman, or maybe a tradesman. I think ratcatching is disrespectful. You need real engineers, but you also need people who can put there hands in and actually build something&#8230;</p>
<p>One thing that is different about software is that I suspect anybody that would classify as &#8220;real engineers&#8221; (like sucessful applicants at amazon) would also be an extremely competent software developer. This is different, my dads a fine instruments maker (an extinct trade, he&#8217;d be lumped in with tool and die makers, now). Anyhow, he&#8217;s really, really good at making things. From scratch, sometimes that means making the tools he&#8217;ll need in order to make something. But, he&#8217;s not an engineer, and the engineers that come through his machine shops&#8230; not so good at actually making things (most of them, a few are brilliant).</p>
<p>So, software might be different in that the idea that one person does the math and draws the pictures, and somebody else comes along later and builds it doesn&#8217;t work so well with software.</p>
<p>Another thing. When encyclopedias first came out, the skilled crafts masters were concerned &#8211; anybody could just  read things and learn how to do what they did (cast cannons, make paper, build houses, whatever). This is kind of vague, but one thing I like about software is that unlike quantum mechanics, which I also had to study, I learn something or read something about s/w, and I can sit down at my machine, and I can try it. I actually can learn from reading, because everything I need to experiment is available to me. Maybe that makes software a craft that I like, whereas the engineering, well, theoretically I can design a flat panel liquid crystal system powered off sunlight and good intent, but how can I build it in my basement?</p>
<p>To get back to the first encylopedias, the stuff taught in them that had never been written down before could also be learned by experimentation, people had tools, were used to doing things by hand, building there own houses, making shoes, etc. So an article about the secrets of shoe making, that really spread the knowledge. It doesn&#8217;t bother me that software developement is a craft. It does bother me that it isn&#8217;t taught like a craft. Learn the fundamentals. Learn all the tools, how they are built, when to use it, how to build your own when thats appropriate. Don&#8217;t stop learning, your degree makes you a journeyman, maybe, not a master.</p>
<p>Ok, back to bed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Binary Code &#187; Follow-up Reading on &#8220;Computer Science&#8221;</title>
		<link>http://www.postal-code.com/binarycode/2008/01/21/two-thoughts-on-computer-science-courses/comment-page-1/#comment-2090</link>
		<dc:creator>Binary Code &#187; Follow-up Reading on &#8220;Computer Science&#8221;</dc:creator>
		<pubDate>Wed, 23 Jan 2008 18:36:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.postal-code.com/binarycode/2008/01/21/two-thoughts-on-computer-science-courses/#comment-2090</guid>
		<description>[...] comments on my Two Thoughts On Computer Science Courses are mostly excellent and interesting, especially the ones from real-world students and [...]</description>
		<content:encoded><![CDATA[<p>[...] comments on my Two Thoughts On Computer Science Courses are mostly excellent and interesting, especially the ones from real-world students and [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: chris</title>
		<link>http://www.postal-code.com/binarycode/2008/01/21/two-thoughts-on-computer-science-courses/comment-page-1/#comment-2088</link>
		<dc:creator>chris</dc:creator>
		<pubDate>Wed, 23 Jan 2008 16:34:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.postal-code.com/binarycode/2008/01/21/two-thoughts-on-computer-science-courses/#comment-2088</guid>
		<description>You and I are in agreement on that Todd (though definitely not on the &quot;idiot&quot; aspect, it is human nature to not understand a solution until faced with the problem), I think you just misunderstood how I was phrasing it.</description>
		<content:encoded><![CDATA[<p>You and I are in agreement on that Todd (though definitely not on the &#8220;idiot&#8221; aspect, it is human nature to not understand a solution until faced with the problem), I think you just misunderstood how I was phrasing it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Todd W</title>
		<link>http://www.postal-code.com/binarycode/2008/01/21/two-thoughts-on-computer-science-courses/comment-page-1/#comment-2085</link>
		<dc:creator>Todd W</dc:creator>
		<pubDate>Wed, 23 Jan 2008 08:05:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.postal-code.com/binarycode/2008/01/21/two-thoughts-on-computer-science-courses/#comment-2085</guid>
		<description>&gt; if you’re constantly thinking “when will I ever need to use this??” then
&gt; you’re probably really quite fortunate

Wrong. If you are thinking that you are an idiot.

I was with a buddy once and we hopped in his buddy&#039;s car. I see an intro to Java book in his back seat. The conversation then went like this:

me: oh, you study programming
him: yeah, but I really hate that class. Learning about arrays and that stuff.
him: ...
him: I&#039;ll never use that in real life, right?
me: actually, I use arrays every single day
him: ...</description>
		<content:encoded><![CDATA[<p>&gt; if you’re constantly thinking “when will I ever need to use this??” then<br />
&gt; you’re probably really quite fortunate</p>
<p>Wrong. If you are thinking that you are an idiot.</p>
<p>I was with a buddy once and we hopped in his buddy&#8217;s car. I see an intro to Java book in his back seat. The conversation then went like this:</p>
<p>me: oh, you study programming<br />
him: yeah, but I really hate that class. Learning about arrays and that stuff.<br />
him: &#8230;<br />
him: I&#8217;ll never use that in real life, right?<br />
me: actually, I use arrays every single day<br />
him: &#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fred Talpiot</title>
		<link>http://www.postal-code.com/binarycode/2008/01/21/two-thoughts-on-computer-science-courses/comment-page-1/#comment-2084</link>
		<dc:creator>Fred Talpiot</dc:creator>
		<pubDate>Wed, 23 Jan 2008 07:55:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.postal-code.com/binarycode/2008/01/21/two-thoughts-on-computer-science-courses/#comment-2084</guid>
		<description>You need to know how to code to appreciate the CS.  I started working with only a few programming language courses and wrote a lot of okay code.  Then I had an opportunity to take a lot of CS courses at the universities, at night.  I did very well and learned a lot.  And the CS knowledge has been immensely useful.

My coding background made taking the CS courses much easier, and I gained more from them.</description>
		<content:encoded><![CDATA[<p>You need to know how to code to appreciate the CS.  I started working with only a few programming language courses and wrote a lot of okay code.  Then I had an opportunity to take a lot of CS courses at the universities, at night.  I did very well and learned a lot.  And the CS knowledge has been immensely useful.</p>
<p>My coding background made taking the CS courses much easier, and I gained more from them.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fred Talpiot</title>
		<link>http://www.postal-code.com/binarycode/2008/01/21/two-thoughts-on-computer-science-courses/comment-page-1/#comment-2083</link>
		<dc:creator>Fred Talpiot</dc:creator>
		<pubDate>Wed, 23 Jan 2008 07:49:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.postal-code.com/binarycode/2008/01/21/two-thoughts-on-computer-science-courses/#comment-2083</guid>
		<description>In the US, by the way, some  Nurses get paid more than most programmers.  Registered nurses can pull down around 60K or up to 100K with experience and their job won&#039;t go to India.

Nurse Practitioners and Nurse Anesthetists earn even more than RN&#039;s do.

But it&#039;s very physically demanding.</description>
		<content:encoded><![CDATA[<p>In the US, by the way, some  Nurses get paid more than most programmers.  Registered nurses can pull down around 60K or up to 100K with experience and their job won&#8217;t go to India.</p>
<p>Nurse Practitioners and Nurse Anesthetists earn even more than RN&#8217;s do.</p>
<p>But it&#8217;s very physically demanding.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Isaac Z. Schlueter</title>
		<link>http://www.postal-code.com/binarycode/2008/01/21/two-thoughts-on-computer-science-courses/comment-page-1/#comment-2082</link>
		<dc:creator>Isaac Z. Schlueter</dc:creator>
		<pubDate>Wed, 23 Jan 2008 06:06:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.postal-code.com/binarycode/2008/01/21/two-thoughts-on-computer-science-courses/#comment-2082</guid>
		<description>You know what&#039;s odd about this: I went to an awful school that had a great computer science program, and didn&#039;t end up with a degree in CS (changed over to an interdisciplinary physics/math/cs program), or, hell, even a degree at all (left with an incomplete in Spanish 2, and never finished it.)

One of the best programmers I know never went to college at all; he just started playing with VB right out of high school, got a job, and learned as he went along.

A few of my professors were absolutely brilliant computer scientists with little to no real-world software development chops.  We learned a lot about a lot of interesting things, but we never covered important real-world basics, simply because the teachers didn&#039;t know about them.

The way I look at it, electrical engineers don&#039;t really need to know all the finer points of quantum mechanics, but they&#039;d better know enough to understand how electrons behave.  By the same token, not every programmer needs to be able to prove abstract theorems about Turing Completeness, but they should know enough to &quot;get&quot; what&#039;s going on.

Like Joel Spolsky and others have suggested, I think we (read: society) really need a BFA in programming that covers what you really need to know, without glossing over the niggly bits.  Make them keep their code in CVS.  Make them take and file bug reports.  Have them build something in Flash, something in C++, something in ADA, something in Java, and then make them extend and change those programs the next year, once they&#039;ve forgotten everything.  The year after that, they have to adapt someone else&#039;s first-year code, and that someone else has to answer their questions while doing a project of their own.  That&#039;s what real life is like, and until you&#039;ve felt the pain of your own crappy decisions, you can&#039;t really consider yourself a competent developer.  (Come to think of it, maybe it should be a Masters program.)</description>
		<content:encoded><![CDATA[<p>You know what&#8217;s odd about this: I went to an awful school that had a great computer science program, and didn&#8217;t end up with a degree in CS (changed over to an interdisciplinary physics/math/cs program), or, hell, even a degree at all (left with an incomplete in Spanish 2, and never finished it.)</p>
<p>One of the best programmers I know never went to college at all; he just started playing with VB right out of high school, got a job, and learned as he went along.</p>
<p>A few of my professors were absolutely brilliant computer scientists with little to no real-world software development chops.  We learned a lot about a lot of interesting things, but we never covered important real-world basics, simply because the teachers didn&#8217;t know about them.</p>
<p>The way I look at it, electrical engineers don&#8217;t really need to know all the finer points of quantum mechanics, but they&#8217;d better know enough to understand how electrons behave.  By the same token, not every programmer needs to be able to prove abstract theorems about Turing Completeness, but they should know enough to &#8220;get&#8221; what&#8217;s going on.</p>
<p>Like Joel Spolsky and others have suggested, I think we (read: society) really need a BFA in programming that covers what you really need to know, without glossing over the niggly bits.  Make them keep their code in CVS.  Make them take and file bug reports.  Have them build something in Flash, something in C++, something in ADA, something in Java, and then make them extend and change those programs the next year, once they&#8217;ve forgotten everything.  The year after that, they have to adapt someone else&#8217;s first-year code, and that someone else has to answer their questions while doing a project of their own.  That&#8217;s what real life is like, and until you&#8217;ve felt the pain of your own crappy decisions, you can&#8217;t really consider yourself a competent developer.  (Come to think of it, maybe it should be a Masters program.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: afongen &#187; links for 2008-01-23</title>
		<link>http://www.postal-code.com/binarycode/2008/01/21/two-thoughts-on-computer-science-courses/comment-page-1/#comment-2081</link>
		<dc:creator>afongen &#187; links for 2008-01-23</dc:creator>
		<pubDate>Wed, 23 Jan 2008 05:24:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.postal-code.com/binarycode/2008/01/21/two-thoughts-on-computer-science-courses/#comment-2081</guid>
		<description>[...] Two Thoughts on Computer Science Courses (tags: computerscience education via:raganwald) [...]</description>
		<content:encoded><![CDATA[<p>[...] Two Thoughts on Computer Science Courses (tags: computerscience education via:raganwald) [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
