Learn Computer Programming via SICP videos + HtDP text

| | TrackBacks (0)

I'm learning programming. Not a specific language, such as Javascript or Ruby. Rather, the concepts of programming .. that can be applied to ALL programming languages.

[ By the way, I've completed my study of the Unix shell. You can retrace my CLI steps » here. ]

Structure & Interpretation of Computer ProgramsMy particular style of learning emphasizes nailing down foundational concepts .. those primarily presented at the beginning of a course.

While this approach can be frustrating initially, because it slows progress at the outset, while foundational concepts are digested on an emotional level .. it allows me to crank thru with confidence (at an accelerated pace) once the foundation is set. [ See note #1 for an example. ]

Like any good geek, I've previously sought entrée into the world of Programming, but always settled for a cursory review of specific languages. (Most recently » Javascript.) Never found that global entrée I was seeking .. until recently.

The approach that is working for me .. is a combination of studying the HtDP text and watching the SICP videos (found » here).

  • SICP = Structure & Interpretation of Computer Programs (based on Lisp)
  • HtDP = How to Design Programs (uses Scheme)
  • Both languages are similar. So the two courses complement one another nicely.
  • The SICP videos and the HtDP text are freely available online, along with the SICP text.

The SICP course is legendary in the world of Computer Science. More people refer to it as the single best course on Programming .. than any other.

It was designed and presented by two professors at MIT (.. arguably the world's finest institution of geekdom). Moreover, it was recorded and the videos posted online, where they remain available for download & viewing (free).

I admit, I need to view each video multiple times before feeling comfortable enough to move on to the next lesson. But I *am* getting it .. and enjoying it.

The HtDP course is a simplified version based on the concepts presented in the SICP course.

Neither the SICP videos by themselves, nor the HtDP text alone works for me. But .. combining both courses really makes things click. I get it. I see what's happening .. how things work. It makes sense. And I look forward to learning more.

••• today's entry continues here below •••

SICP is taught by two professors from MIT .. Abelson & Sussman. I prefer Sussman .. cuz he talks fast. His presentation doesn't give my mind a chance to wander. Attention is constantly rewarded. Abelson's approach, while captivating at times, is more reflective.

I find it interesting that both languages are highly parenthetical .. since I tend to communicate parenthetically myself (.. as anybody who's been Radified any length of time well knows). So Lisp & Scheme seem a natural fit. Plus, programming is mathy, and I'm good at math.

It has been difficult to make progress with all the legal stuff I've had to deal with .. seeing I have no attorney. (Must do everything myself, including the research.) Currently have 3 court dates lined up. That's a record (for me. I'll be in court again next week.)

Plus, even when I'm not defending myself against false accusations, the associated stress and emotional turmoil can be distracting. Hope I don't sound like I'm whining, but if I wait until my legal battles are over, and the emotional stress subsides, I'll never learn Programming.

I'm also learning a lot about the Legal system .. unfortunately. Anybody who sits in court as many hours as I do (waiting for their case to be heard) is bound learn a thing or two about how "the system" operates. (It's a business, an industry .. where numerous 'ecosystems' depend on one another.)

Nevertheless, I feel surprisingly good. Had a magical dream last night .. which involved sparkling water. (Maybe I'll share it later.) Left me feeling upbeat & energized. My coolest dreams all seem to involve clean, sparkling water .. in one form or another .. usually in concert with warm, summery days and/or balmy, moonlit nights.

Anyway, gonna get back to it. Blog less, learn more.

Note #1 - One of these foundational concepts is known as » 'Black Box Abstraction' .. which is used to supress detail .. as one of the methods to control program complexity (.. along with 'Conventional Interfaces' & 'Metalinguistic Abstraction').

For more along these lins, here's a Google search preconfigured for the query » learn computer programming sicp htdp

« Previous Rad entry ||| NEXT Rad entry »

0 TrackBacks

Listed below are links to blogs that reference this entry: Learn Computer Programming via SICP videos + HtDP text.

TrackBack URL for this entry: http://radified.com/cgi-bin/xmt4/mt-tb.cgi/158

About this Entry

This page contains a single entry by Rad published on August 6, 2009 9:20 AM.

Possum Gone in the Morning was the previous entry in this blog.

Microsoft Fears Linux is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.