mirror of
https://github.com/correl/correl.github.io.git
synced 2024-12-28 19:19:17 +00:00
95 lines
3.7 KiB
HTML
95 lines
3.7 KiB
HTML
---
|
|
title: Adventuring Through SICP
|
|
author: Correl Roush
|
|
---
|
|
<p>
|
|
Back in May, a coworker and I got the idea to start up a little
|
|
seminar after work every couple of weeks with the plan to set aside
|
|
some time to learn and discuss new ideas together, along with anyone
|
|
else who cared to join us.
|
|
</p>
|
|
|
|
<div id="outline-container-sec-1" class="outline-2">
|
|
<h2 id="sec-1">Learning Together</h2>
|
|
<div class="outline-text-2" id="text-1">
|
|
<p>
|
|
Over the past several months, we've read our way through the first
|
|
three chapters of the book, watched the <a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/video-lectures/">related video lectures</a>, and
|
|
did (most of) the exercises.
|
|
</p>
|
|
|
|
<p>
|
|
Aside from being a great excuse to unwind with friends after work
|
|
(which it is!), it's proved to be a great way to get through the
|
|
material. Doing a section of a chapter every couple of weeks is an
|
|
easy goal to meet, and meeting up to discuss it becomes something to
|
|
look forward to. We all get to enjoy a sense of accomplishment in
|
|
learning stuff that can be daunting or difficult to set aside time for
|
|
alone.
|
|
</p>
|
|
|
|
<p>
|
|
The best part, by far, is getting different perspectives on the
|
|
material. Most of my learning tends to be solitary, so it's refreshing
|
|
to do it with a group. By reviewing the different concepts together,
|
|
we're able to gain insights and clarity we'd never manage on our
|
|
own. Even the simplest topics can spur interesting conversations.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-sec-2" class="outline-2">
|
|
<h2 id="sec-2">SICP</h2>
|
|
<div class="outline-text-2" id="text-2">
|
|
<p>
|
|
Our first adventure together so far has been the venerable <a href="http://mitpress.mit.edu/sicp/">Structure
|
|
and Interpretation of Computer Programs</a>. This book had been on my todo
|
|
list for a long time, but never quite bubbled to the top. I'm glad to
|
|
have the opportunity to go through it in this format, since there's
|
|
plenty of time to let really get into the excercises and let the
|
|
lessons sink in.
|
|
</p>
|
|
|
|
<p>
|
|
SICP was originally an introductory textbook for MIT computer
|
|
programming courses. What sets it apart from most, though, is that it
|
|
doesn't focus so much on learning a particular programming language
|
|
(while the book does use and cover MIT Scheme) as it does on
|
|
identifying and abstracting out patterns common to most programming
|
|
problems. Because of that, the book is every bit as useful and
|
|
illuminating as ever, especially now that functional paradigms are
|
|
re-entering the spotlight and means of abstracting and composing
|
|
systems are as important as ever.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="outline-container-sec-3" class="outline-2">
|
|
<h2 id="sec-3">What's next?</h2>
|
|
<div class="outline-text-2" id="text-3">
|
|
<p>
|
|
We've still got plenty of SICP left to get through. We've only just
|
|
gotten through Chapter 4, section 1, which has us building a scheme
|
|
interpreter <b>in</b> scheme, so there's plenty of fun left to be had
|
|
there.
|
|
</p>
|
|
|
|
<p>
|
|
We're also staring to do some smaller, lunchtime review meetings
|
|
following the evening discussions to catch up the folks that can't
|
|
make it. I may also try sneaking in some smaller material, like
|
|
interesting blog posts, to keep things lively.
|
|
</p>
|
|
|
|
<hr />
|
|
|
|
<p>
|
|
If anyone's interested, I have the exercise work along with some notes
|
|
taken during the meetings <a href="http://sicp.phoenixinquis.net/">hosted online</a>. I apologize for the lack of
|
|
notes early on, I've been trying to get better at capturing memorable
|
|
excerpts and conversation topics recently. I may have to put some more
|
|
posts together later on summarizing what we discussed for each
|
|
chapter; if and when I do, they'll be posted on the <a href="http://extreme-tech-seminar.github.io/">seminar website</a>.
|
|
</p>
|
|
</div>
|
|
</div>
|