<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DJ Strouse &#187; SICP</title>
	<atom:link href="http://djstrouse.com/tag/sicp/feed/" rel="self" type="application/rss+xml" />
	<link>http://djstrouse.com</link>
	<description>the rantings of a baby scientist</description>
	<lastBuildDate>Sun, 08 Aug 2010 05:46:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>SICP: Intro</title>
		<link>http://djstrouse.com/sicp-intro/</link>
		<comments>http://djstrouse.com/sicp-intro/#comments</comments>
		<pubDate>Sun, 13 Jul 2008 09:00:02 +0000</pubDate>
		<dc:creator>djstrouse</dc:creator>
				<category><![CDATA[Hacking Education]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[lisp]]></category>
		<category><![CDATA[mit]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[scheme]]></category>
		<category><![CDATA[SICP]]></category>

		<guid isPermaLink="false">http://djstrouse.com/?p=55</guid>
		<description><![CDATA[Recently I embarked on a quest to read Structure and Interpretation of Computer Programs (SICP) at the recommendation of a friend to whom I had expressed an interest in learning programming. I had planned on powering through the text in about a month but soon realized that would supplant sleeping in my life. The text [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Recently I embarked on a quest to read <a href="http://mitpress.mit.edu/sicp/full-text/book/book.html">Structure and Interpretation of Computer Programs (SICP)</a> at the recommendation of a friend to whom I had expressed an interest in learning programming.  I had planned on powering through the text in about a month but soon realized that would supplant sleeping in my life.  The text is far too comprehensive and challenging to digest so quickly.  In addition, to really get a good grasp of the material, actual programming practice is required as well.</p>
<p>For these reasons, I wrote up an educational road map, which consists of goals, resources, and a quasi-syllabus.  I&#8217;m posting them and blogging about my journey for three reasons:</p>
<ol>
<li>For me to track my progress</li>
<li>For me to record my insights</li>
<li>For others to refer to when starting their own SICP journey</li>
</ol>
<p><strong>Inspiration</strong><br />
I have so many ideas on the back burner for computer applications &amp; simulations I&#8217;d like to see but no skills with which to implement them.  I could beg or pay someone else to do them&#8230; but where&#8217;s the fun in that?</p>
<p><strong>Background</strong><br />
I have taken an intro C++ course and an intro digital logic course at the <a href="http://viterbi.usc.edu/">University of Southern California Viterbi School of Engineering</a>, as well as introductory calculus and differential equations.</p>
<p><strong>Goals</strong></p>
<ol>
<li>Read the SICP text</li>
<li>Review the MIT lecture slides</li>
<li>Do the SICP text exercises</li>
<li>Do the MIT tutor exercises</li>
<li>Do the MIT tutor problem sets</li>
<li><span style="text-decoration: line-through;">Do the SICP assignments</span> (UPDATE: these are meant for a different implementation of Scheme and cannot be used with DrScheme, so I won&#8217;t be using them)</li>
<li>Do the MIT projects</li>
</ol>
<p>Note: 3-7 may have quite a bit of overlap and there&#8217;s a good chance I&#8217;ll only stick with my 1 or 2 favorites as I get a feel for each one.</p>
<p><strong>Resources</strong></p>
<p><em>Before You Begin</em><br />
<a href="http://www.drscheme.org/">DrScheme</a> (the desktop application that allows you to write and run Scheme code)<br />
<a href="http://sicp.ai.mit.edu/Fall-2007/dont_panic_ft07.html">MIT &#8216;Don&#8217;t Panic&#8217; Guide to DrScheme</a> (read if you&#8217;ve never programmed before, scan if you have)</p>
<p><em>Regular Use</em><br />
<a href="http://mitpress.mit.edu/sicp/full-text/book/book.html">SICP Text</a>*<br />
<a href="http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-001Spring-2005/LectureNotes/index.htm">MIT Lecture Slides</a>*<br />
<a href="http://eli.thegreenplace.net/category/programming/lisp/sicp/">Help with SICP Text Exercises</a><br />
<a href="http://icampustutor.csail.mit.edu/6.001-public/">MIT Lecture Exercises</a>**<br />
<a href="http://icampustutor.csail.mit.edu/6.001-public/">MIT Problem Sets</a>**<br />
<span style="text-decoration: line-through;"><a href="http://mitpress.mit.edu/sicp/psets/index.html">SICP Assignments</a></span><br />
<a href="http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-001Spring-2005/Projects/index.htm">MIT Projects</a>*</p>
<p>*All of these resources are included in the <a href="http://ocw.mit.edu/OcwWeb/web/home/home/index.htm">MIT OpenCourseWare</a> package for <a href="http://eli.thegreenplace.net/category/programming/lisp/sicp/">6.001 &#8211; Structure and Interpretation of Computer Programs</a>.  Click <a href="http://ocw.mit.edu/ans15436/ZipForEndUsers/6/6-001Spring-2005/6-001Spring-2005.zip">here</a> to download a zipped copy to your desktop.</p>
<p>**To use these resources, you must <a href="http://icampustutor.csail.mit.edu/6.001-public/tutor.cgi?op=registration-page">register with MIT&#8217;s iCampus Tutor</a>.</p>
<p>Note: As an alternative to the MIT lecture slides available on OpenCourseWare, you might also watch the <a href="http://www.swiss.ai.mit.edu/classes/6.001/abelson-sussman-lectures/">video lectures</a> given by the SICP authors.  I&#8217;ve heard they are quite good and, depending on whether you prefer books or videos, either option should work.  I&#8217;ve personally chosen the MIT lectures because I&#8217;m currently in Shanghai, China and don&#8217;t have the bandwidth to download the videos <img src='http://djstrouse.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Quasi-Syllabus</strong><br />
There&#8217;s no posted guide for using them in tandem, so I&#8217;ve posted a <a href="http://spreadsheets.google.com/ccc?key=pJ2KfNA1fQv6OVPO-9mJPFg&amp;hl=en">Google Doc</a> matching up the text sections, lectures, exercises, problem sets, projects, and assignments.  The quasi-syllabus should be read left to right, top to bottom like a book.  I&#8217;ll be highlighting completed items in yellow so you can track my progress too.</p>
<p><strong>Timeline</strong><br />
Given that it took <a href="http://eli.thegreenplace.net/about/">an experienced programmer</a> about <a href="http://eli.thegreenplace.net/category/programming/lisp/sicp/">10 months</a> to read SICP in its entirety, I&#8217;m setting an ambitious goal of finishing this self-education project in one year (July 13, 2009).</p>
<p><strong>Onward!</strong><br />
Well, my inspiration, goals, resources, and road map are now at your disposable.</p>
<p>As I progress, I won&#8217;t be posting every little thing I learn, as thought would be boring for you and repetitive for me.  Instead, I&#8217;ll turn a critical eye to this learning process and offer personal insights &amp; strategies, from <em>outside </em>the text and lectures, that I develop.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://djstrouse.com/sicp-intro/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
