<?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/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
	>
<channel>
	<title>Comments on: Improving Undergraduate Computer Science Education</title>
	<atom:link href="http://blogs.law.harvard.edu/philg/2007/08/23/improving-undergraduate-computer-science-education/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.law.harvard.edu/philg/2007/08/23/improving-undergraduate-computer-science-education/</link>
	<description>A posting every day; an interesting idea every three months...</description>
	<lastBuildDate>Fri, 27 Nov 2009 13:53:43 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Dietrich</title>
		<link>http://blogs.law.harvard.edu/philg/2007/08/23/improving-undergraduate-computer-science-education/comment-page-1/#comment-133213</link>
		<dc:creator>Dietrich</dc:creator>
		<pubDate>Thu, 30 Jul 2009 23:01:39 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.law.harvard.edu/philg/2007/08/23/improving-undergraduate-computer-scienc#comment-133213</guid>
		<description>@Charles

Embracing the things that disgust them seems near impossible for most departments. The &quot;we are not a trade school&quot; attitude seems to be overcompensation for the fact that Computer Science is not a pure natural science, but rather a set of engineering disciplines organically formed around a mundane device.</description>
		<content:encoded><![CDATA[<p>@Charles</p>
<p>Embracing the things that disgust them seems near impossible for most departments. The &#8220;we are not a trade school&#8221; attitude seems to be overcompensation for the fact that Computer Science is not a pure natural science, but rather a set of engineering disciplines organically formed around a mundane device.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adam Milligan</title>
		<link>http://blogs.law.harvard.edu/philg/2007/08/23/improving-undergraduate-computer-science-education/comment-page-1/#comment-31729</link>
		<dc:creator>Adam Milligan</dc:creator>
		<pubDate>Sat, 25 Aug 2007 19:46:53 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.law.harvard.edu/philg/2007/08/23/improving-undergraduate-computer-scienc#comment-31729</guid>
		<description>The author of this blog makes, I suspect unintentionally, a fundamentally important point about the education of software developers, and then fails to follow up on it.

Consider this quote: &quot;People who studied poetry, physics, or civil engineering are often better software engineers than an MIT CS graduate (contrast with medicine; not too many good doctors out there who skipped med school).&quot;  This comparison is invalid; there are, in fact, many very good physicians who studied poetry, physics, or civil engineering as undergraduates.  Medical schools provide a professional graduate degree program in a practical field.  Where is the analogous professional degree program for software developers?

Keep thinking.

That&#039;s right, there isn&#039;t one (for those who suggested the &quot;software engineering&quot; graduate degree at CMU, put your hands down).  So, let’s take the above comparison to its correct logical conclusion.

Developing software and providing medical care have similarities.  Both are complex processes that require a great deal of technical knowledge, as well as the ability to apply that knowledge in various and frequently changing circumstances.  In the practice of both, human factors such as communication and cooperation often outweigh the importance of all else.  To this end, medicine (like most applied professions) has distinguished itself from its scientific roots.  Undergraduates study the scientific fundamentals -- biology, chemistry, physics, etc. -- and with this background then choose their career path.  Those who choose theory and science go to PhD programs; those who choose application go to MD programs, which emphasize practical skills and hands-on work.

The software industry needs to wake up and take a lesson from its older brethren.  Computer science is useful stuff; people who choose to write software professionally should be familiar with it.  But, realistically, an undergraduate CS program teaches only the scientific underpinnings of software development.  Upon completing a CS degree, students who choose the path of science and theory can continue on to a PhD program; the vast majority who choose the applied path have nowhere to go but industry, for which they are woefully unprepared.  Who do they learn the skills they actually need from?  The people already working at their company; who learned those skills from their predecessors; who learned… etc.

How are we surprised that the way we write software hasn&#039;t fundamentally changed in 25 years?  (If you think this isn’t true, go read the silver anniversary edition of books like _The Mythical Man Month_ by Fred Brooks, or _The Psychology of Computer Programming_ by Gerald Weinberg.  A disturbing number of the comments look something like “we don’t use punch cards any more, but otherwise the content of this chapter applies equally today as it did 25 years ago.”)</description>
		<content:encoded><![CDATA[<p>The author of this blog makes, I suspect unintentionally, a fundamentally important point about the education of software developers, and then fails to follow up on it.</p>
<p>Consider this quote: &#8220;People who studied poetry, physics, or civil engineering are often better software engineers than an MIT CS graduate (contrast with medicine; not too many good doctors out there who skipped med school).&#8221;  This comparison is invalid; there are, in fact, many very good physicians who studied poetry, physics, or civil engineering as undergraduates.  Medical schools provide a professional graduate degree program in a practical field.  Where is the analogous professional degree program for software developers?</p>
<p>Keep thinking.</p>
<p>That&#8217;s right, there isn&#8217;t one (for those who suggested the &#8220;software engineering&#8221; graduate degree at CMU, put your hands down).  So, let’s take the above comparison to its correct logical conclusion.</p>
<p>Developing software and providing medical care have similarities.  Both are complex processes that require a great deal of technical knowledge, as well as the ability to apply that knowledge in various and frequently changing circumstances.  In the practice of both, human factors such as communication and cooperation often outweigh the importance of all else.  To this end, medicine (like most applied professions) has distinguished itself from its scientific roots.  Undergraduates study the scientific fundamentals &#8212; biology, chemistry, physics, etc. &#8212; and with this background then choose their career path.  Those who choose theory and science go to PhD programs; those who choose application go to MD programs, which emphasize practical skills and hands-on work.</p>
<p>The software industry needs to wake up and take a lesson from its older brethren.  Computer science is useful stuff; people who choose to write software professionally should be familiar with it.  But, realistically, an undergraduate CS program teaches only the scientific underpinnings of software development.  Upon completing a CS degree, students who choose the path of science and theory can continue on to a PhD program; the vast majority who choose the applied path have nowhere to go but industry, for which they are woefully unprepared.  Who do they learn the skills they actually need from?  The people already working at their company; who learned those skills from their predecessors; who learned… etc.</p>
<p>How are we surprised that the way we write software hasn&#8217;t fundamentally changed in 25 years?  (If you think this isn’t true, go read the silver anniversary edition of books like _The Mythical Man Month_ by Fred Brooks, or _The Psychology of Computer Programming_ by Gerald Weinberg.  A disturbing number of the comments look something like “we don’t use punch cards any more, but otherwise the content of this chapter applies equally today as it did 25 years ago.”)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stephen van Egmond</title>
		<link>http://blogs.law.harvard.edu/philg/2007/08/23/improving-undergraduate-computer-science-education/comment-page-1/#comment-31653</link>
		<dc:creator>Stephen van Egmond</dc:creator>
		<pubDate>Sat, 25 Aug 2007 16:26:59 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.law.harvard.edu/philg/2007/08/23/improving-undergraduate-computer-scienc#comment-31653</guid>
		<description>It&#039;s unclear at what point in the curriculum 6.171 is taught.  It seems like it could be the second course in the CS curriculum.

Here&#039;s the picture in Canada.  I&#039;m writing as a 1997 graduate of the school in question, no longer studying there, but I have a friend who teaches there now.

The University of Waterloo holds about the same stature as MIT in Canadian business.  Although other disciplines are taught, it is primarily known for the quality of its graduates in engineering, physics, health science, math, and computer science.

The CS curriculum -- link is below -- is strongly rooted in mathematics.  In fact, CS is in a department of the Math faculty.   All math students follow the same curriculum in year 1, begin to specialize in year 2, and never see their colleagues in Pure Math or Applied Math in years 3 and 4.

Year 1 is linear algebra, calculus, and statistics.  Year 2 is follow-on courses in the same.    The CSxxx courses in this time have one training-wheels course -- which you can substitute for a 300 or 400-level course -- and the early years are spent picking up OOP, recursion, algorithms, and other elementary programming concepts.  In the 3rd and 4th years you can steep yourself in whatever corner of CS theory interests you, with various options provided for business (finance, actuarial science), software engineering (below), or bioinformatics (where the money is free these days).

This broad survey of the mathematical foundations of CS essentially made the students (who got it all) into swiss-army knives of CS theory.   But no real-world business experience.  More on that later.

I made the serious mistake of starting (and nearly finishing) the software engineering option. This course is aimed at people who are CMM wonks and would be comfortable at an organization with NASA-like software engineering practices.  One entire term on requirements notation.  One entire term on design and implementation. One entire term on testing and validation. 

This program was taught using a joint electrical engineering/computer science student audience. The electrical engineers implement call routing in a telephone switch, and the computer science people the customer service system that goes with it.  After four months of requirements planning and modelling, and three months of design modelling and notation, we... spent all night three nights in a row implementing it in a wild hack and fix session, and the final system was sort of reminiscent of what we intended.

After that experience, I staggered into Larry Smith&#039;s entrepreneurship courses and boy, was that a good idea.

Throughout this academic program, students are spending 4 months on campus followed by 4 months working in industry. They are essentially low-paid slave labour for various companies like Microsoft or (back then) Nortel.   Smaller clued-in companies also hire these co-op students for their valuable energy and passion, and I regard those times spent in industry as the most valuable of my time in school. 

The result of all this is that after 4.6 years in school, I had the 2.6 years of education that Philip alluded to, and 2 years of work experience, and was able to pick my favourite job offer, and start work making C$ 50K a year, which was  considered good for a fresh university graduate 10 years ago.

I can certainly see that in a school without a co-op program, 4.171 is the next best thing.

ref:
http://www.ucalendar.uwaterloo.ca/MATH/comp_sci.html</description>
		<content:encoded><![CDATA[<p>It&#8217;s unclear at what point in the curriculum 6.171 is taught.  It seems like it could be the second course in the CS curriculum.</p>
<p>Here&#8217;s the picture in Canada.  I&#8217;m writing as a 1997 graduate of the school in question, no longer studying there, but I have a friend who teaches there now.</p>
<p>The University of Waterloo holds about the same stature as MIT in Canadian business.  Although other disciplines are taught, it is primarily known for the quality of its graduates in engineering, physics, health science, math, and computer science.</p>
<p>The CS curriculum &#8212; link is below &#8212; is strongly rooted in mathematics.  In fact, CS is in a department of the Math faculty.   All math students follow the same curriculum in year 1, begin to specialize in year 2, and never see their colleagues in Pure Math or Applied Math in years 3 and 4.</p>
<p>Year 1 is linear algebra, calculus, and statistics.  Year 2 is follow-on courses in the same.    The CSxxx courses in this time have one training-wheels course &#8212; which you can substitute for a 300 or 400-level course &#8212; and the early years are spent picking up OOP, recursion, algorithms, and other elementary programming concepts.  In the 3rd and 4th years you can steep yourself in whatever corner of CS theory interests you, with various options provided for business (finance, actuarial science), software engineering (below), or bioinformatics (where the money is free these days).</p>
<p>This broad survey of the mathematical foundations of CS essentially made the students (who got it all) into swiss-army knives of CS theory.   But no real-world business experience.  More on that later.</p>
<p>I made the serious mistake of starting (and nearly finishing) the software engineering option. This course is aimed at people who are CMM wonks and would be comfortable at an organization with NASA-like software engineering practices.  One entire term on requirements notation.  One entire term on design and implementation. One entire term on testing and validation. </p>
<p>This program was taught using a joint electrical engineering/computer science student audience. The electrical engineers implement call routing in a telephone switch, and the computer science people the customer service system that goes with it.  After four months of requirements planning and modelling, and three months of design modelling and notation, we&#8230; spent all night three nights in a row implementing it in a wild hack and fix session, and the final system was sort of reminiscent of what we intended.</p>
<p>After that experience, I staggered into Larry Smith&#8217;s entrepreneurship courses and boy, was that a good idea.</p>
<p>Throughout this academic program, students are spending 4 months on campus followed by 4 months working in industry. They are essentially low-paid slave labour for various companies like Microsoft or (back then) Nortel.   Smaller clued-in companies also hire these co-op students for their valuable energy and passion, and I regard those times spent in industry as the most valuable of my time in school. </p>
<p>The result of all this is that after 4.6 years in school, I had the 2.6 years of education that Philip alluded to, and 2 years of work experience, and was able to pick my favourite job offer, and start work making C$ 50K a year, which was  considered good for a fresh university graduate 10 years ago.</p>
<p>I can certainly see that in a school without a co-op program, 4.171 is the next best thing.</p>
<p>ref:<br />
<a href="http://www.ucalendar.uwaterloo.ca/MATH/comp_sci.html" rel="nofollow">http://www.ucalendar.uwaterloo.ca/MATH/comp_sci.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben</title>
		<link>http://blogs.law.harvard.edu/philg/2007/08/23/improving-undergraduate-computer-science-education/comment-page-1/#comment-31462</link>
		<dc:creator>Ben</dc:creator>
		<pubDate>Sat, 25 Aug 2007 01:27:01 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.law.harvard.edu/philg/2007/08/23/improving-undergraduate-computer-scienc#comment-31462</guid>
		<description>I&#039;m a tad hesitant about the proposed 48-week/year schedule.  I earned undergraduate degrees in CS and EE, as well as a masters in EE, at one of the most academically rigorous engineering schools.  By far, the CS courses were better than those my former high-school friends faced at their universities, but they held no match in difficulty to what the EE curriculum put us through.  I regularly burnt-out under the stress and used the vacations to try to recover.  

A redesign of the calendar year should also force a redesign of the courses, so that either students aren&#039;t overwhelmed by the workload (and fail-out due to the constant stress) or have some time for recovery and other non-academic activities (e.g. many students work during their summers).  Unfortunately the quarter systems is what many schools have tried as a way to allow a full-year cycle, but I have yet to see a school implement it and maintain a level of academic rigor I find respectable.</description>
		<content:encoded><![CDATA[<p>I&#8217;m a tad hesitant about the proposed 48-week/year schedule.  I earned undergraduate degrees in CS and EE, as well as a masters in EE, at one of the most academically rigorous engineering schools.  By far, the CS courses were better than those my former high-school friends faced at their universities, but they held no match in difficulty to what the EE curriculum put us through.  I regularly burnt-out under the stress and used the vacations to try to recover.  </p>
<p>A redesign of the calendar year should also force a redesign of the courses, so that either students aren&#8217;t overwhelmed by the workload (and fail-out due to the constant stress) or have some time for recovery and other non-academic activities (e.g. many students work during their summers).  Unfortunately the quarter systems is what many schools have tried as a way to allow a full-year cycle, but I have yet to see a school implement it and maintain a level of academic rigor I find respectable.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Seth Gordon</title>
		<link>http://blogs.law.harvard.edu/philg/2007/08/23/improving-undergraduate-computer-science-education/comment-page-1/#comment-31346</link>
		<dc:creator>Seth Gordon</dc:creator>
		<pubDate>Fri, 24 Aug 2007 14:40:27 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.law.harvard.edu/philg/2007/08/23/improving-undergraduate-computer-scienc#comment-31346</guid>
		<description>There&#039;s another reason colleges tend to do the lecture-and-homework system: it&#039;s easy for the professors and the grad students, who consider teaching a distraction from their real jobs.

You might be interested in this article on a community college in Washington State that was designed from the ground up to be effective at teaching: http://www.washingtonmonthly.com/features/2007/0709.careycascadia.html</description>
		<content:encoded><![CDATA[<p>There&#8217;s another reason colleges tend to do the lecture-and-homework system: it&#8217;s easy for the professors and the grad students, who consider teaching a distraction from their real jobs.</p>
<p>You might be interested in this article on a community college in Washington State that was designed from the ground up to be effective at teaching: <a href="http://www.washingtonmonthly.com/features/2007/0709.careycascadia.html" rel="nofollow">http://www.washingtonmonthly.com/features/2007/0709.careycascadia.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JP</title>
		<link>http://blogs.law.harvard.edu/philg/2007/08/23/improving-undergraduate-computer-science-education/comment-page-1/#comment-31333</link>
		<dc:creator>JP</dc:creator>
		<pubDate>Fri, 24 Aug 2007 13:15:32 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.law.harvard.edu/philg/2007/08/23/improving-undergraduate-computer-scienc#comment-31333</guid>
		<description>The &#039;fast track&#039; component of your suggestion could be applied to any discipline. 

Three things:
1) Professional basketball players vehemently oppose players being drafted out of high school. It messes with their retirement plans big time. I wonder if similar pressures exist in the CS community, where a sudden influx of cheap labor might push a lot of dead weight out the door sooner than they anticipated.

2) Assuming someone is starting school at the traditional age, there is a certain maturity process that four or more years of undergraduate &quot;work&quot; imparts. A lot of it involves binge drinking and fraternity hazing, but I also wonder if this lack of &quot;life experience&quot; might also hinder one&#039;s natural progress through an organization.

3) This would be great for Google, which depends on the perception of a continuation of the college experience in order to get insane amounts of work (and creativity) out of their people. They could easily squeeze two more years out of this scheme before sucking recruits dry.

Our culture worships the freedom of youth, even if it&#039;s an illusion. Why rush it?</description>
		<content:encoded><![CDATA[<p>The &#8216;fast track&#8217; component of your suggestion could be applied to any discipline. </p>
<p>Three things:<br />
1) Professional basketball players vehemently oppose players being drafted out of high school. It messes with their retirement plans big time. I wonder if similar pressures exist in the CS community, where a sudden influx of cheap labor might push a lot of dead weight out the door sooner than they anticipated.</p>
<p>2) Assuming someone is starting school at the traditional age, there is a certain maturity process that four or more years of undergraduate &#8220;work&#8221; imparts. A lot of it involves binge drinking and fraternity hazing, but I also wonder if this lack of &#8220;life experience&#8221; might also hinder one&#8217;s natural progress through an organization.</p>
<p>3) This would be great for Google, which depends on the perception of a continuation of the college experience in order to get insane amounts of work (and creativity) out of their people. They could easily squeeze two more years out of this scheme before sucking recruits dry.</p>
<p>Our culture worships the freedom of youth, even if it&#8217;s an illusion. Why rush it?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles</title>
		<link>http://blogs.law.harvard.edu/philg/2007/08/23/improving-undergraduate-computer-science-education/comment-page-1/#comment-31236</link>
		<dc:creator>Charles</dc:creator>
		<pubDate>Fri, 24 Aug 2007 04:51:41 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.law.harvard.edu/philg/2007/08/23/improving-undergraduate-computer-scienc#comment-31236</guid>
		<description>While I agree the state of undergrad computer science education is not where it should be, much of the changes desired require a deep change in the way people view computer science.

For the typical computer science major, computer science is the study of technology.  This means that ideas, languages, tools that are in current use today are likely to be replaced by something else tomorrow, as we gain a better understanding of what it means to program in the real world.

This is at odds with those who teach computer science who want to see the field like mathematics, a subject that seems steeped in the permanence of its results.  The calculus lessons taught 50 years ago might work just as well today as it did then (even as calculus books want to add more colors to their graphs).

Indeed, some professors stopped learning any new languages after Pascal or FORTRAN, convinced that it was a waste of their time to fill their heads with information that would be replaced with something else in a few years time.

Despite the importance of mathematics in computer science, software engineering often works at the opposite end, with imprecise specs, languages that aren&#039;t great, making tradeoffs, and deciding what technological tools to use.

For computer science teachers to become effective, they have to embrace the things that may disgust them most about the field, which is its lack of precision, its current fads and whims (design patterns, Ruby on Rails, agile methodology), and learn skills they didn&#039;t need to get a Ph.D. (managing vague projects).

In other words, while there is good reason to be critical of computer science education, you have to convince those who teach it that it will never be mathematics, and that they need to learn soft skills such as management, evaluation of technology, and be able to teach that.  Right now, it&#039;s so much easier to write a book on a language than it is to write a textbook on software engineering.

The good news, I suppose, is if enough people listen, then students, even those with a mathematical bent, will be exposed to software engineering (just as theoretical students today learn enough about Java, and possibly tinker with Linux, so they aren&#039;t completely oblivious to widely used programming languages) and know how to teach it.</description>
		<content:encoded><![CDATA[<p>While I agree the state of undergrad computer science education is not where it should be, much of the changes desired require a deep change in the way people view computer science.</p>
<p>For the typical computer science major, computer science is the study of technology.  This means that ideas, languages, tools that are in current use today are likely to be replaced by something else tomorrow, as we gain a better understanding of what it means to program in the real world.</p>
<p>This is at odds with those who teach computer science who want to see the field like mathematics, a subject that seems steeped in the permanence of its results.  The calculus lessons taught 50 years ago might work just as well today as it did then (even as calculus books want to add more colors to their graphs).</p>
<p>Indeed, some professors stopped learning any new languages after Pascal or FORTRAN, convinced that it was a waste of their time to fill their heads with information that would be replaced with something else in a few years time.</p>
<p>Despite the importance of mathematics in computer science, software engineering often works at the opposite end, with imprecise specs, languages that aren&#8217;t great, making tradeoffs, and deciding what technological tools to use.</p>
<p>For computer science teachers to become effective, they have to embrace the things that may disgust them most about the field, which is its lack of precision, its current fads and whims (design patterns, Ruby on Rails, agile methodology), and learn skills they didn&#8217;t need to get a Ph.D. (managing vague projects).</p>
<p>In other words, while there is good reason to be critical of computer science education, you have to convince those who teach it that it will never be mathematics, and that they need to learn soft skills such as management, evaluation of technology, and be able to teach that.  Right now, it&#8217;s so much easier to write a book on a language than it is to write a textbook on software engineering.</p>
<p>The good news, I suppose, is if enough people listen, then students, even those with a mathematical bent, will be exposed to software engineering (just as theoretical students today learn enough about Java, and possibly tinker with Linux, so they aren&#8217;t completely oblivious to widely used programming languages) and know how to teach it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joshua Volz</title>
		<link>http://blogs.law.harvard.edu/philg/2007/08/23/improving-undergraduate-computer-science-education/comment-page-1/#comment-31090</link>
		<dc:creator>Joshua Volz</dc:creator>
		<pubDate>Thu, 23 Aug 2007 20:18:52 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.law.harvard.edu/philg/2007/08/23/improving-undergraduate-computer-scienc#comment-31090</guid>
		<description>I don&#039;t mean to nitpick, but do you really think companies do a good job of eliminating distractions so that people can work?  How come the majority of programmers I know work off hours at night to try to get something done for their job?  The reason is that it&#039;s quiet and nobody is distracting them.  Between email, instant messaging, your boss bothering you, the jr. developer asking questions, fruitless and pointless meetings, TPS reports and everything else that comes with working for a company I find it hard to accept the claim that companies eliminate distractions.

I entirely agree that eliminating distractions and focusing on a problem not only allow you to learn more about it, but allow you to be more productive as well.  The challenge in education is whether to prepare someone for the real world, or to prepare someone for the idealized (and correct) way of doing things.  If you prepare them for the real world, they don&#039;t reach their maximum potential, and if you show them the idealized way you create &quot;free thinking dissatisfied workers.&quot;  While I think creating the free thinkers is good, maybe not everybody would agree with me.

Wow, apparently I&#039;m jaded.</description>
		<content:encoded><![CDATA[<p>I don&#8217;t mean to nitpick, but do you really think companies do a good job of eliminating distractions so that people can work?  How come the majority of programmers I know work off hours at night to try to get something done for their job?  The reason is that it&#8217;s quiet and nobody is distracting them.  Between email, instant messaging, your boss bothering you, the jr. developer asking questions, fruitless and pointless meetings, TPS reports and everything else that comes with working for a company I find it hard to accept the claim that companies eliminate distractions.</p>
<p>I entirely agree that eliminating distractions and focusing on a problem not only allow you to learn more about it, but allow you to be more productive as well.  The challenge in education is whether to prepare someone for the real world, or to prepare someone for the idealized (and correct) way of doing things.  If you prepare them for the real world, they don&#8217;t reach their maximum potential, and if you show them the idealized way you create &#8220;free thinking dissatisfied workers.&#8221;  While I think creating the free thinkers is good, maybe not everybody would agree with me.</p>
<p>Wow, apparently I&#8217;m jaded.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
