sicp

SICP ... better programming?

Last year I read an article on http://jaortega.wordpress.com/2007/01/31/a-scheme-bookshelf/ that claimed that if you read/study SICP "It will expand your mind. It will cure your diseases", I also read Eric Raymond "The Cathedral and the Bazaar" abou the Lips experience. I tried for a while to use it (I downloaded the SICP pdf and DrSche...

What do you think about the loss of MIT's 6.001 (SICP) course?

MIT abandoned its legendary 6.001 (Structure and Interpretation of Computer Programs) course and replaced it with 6.00, 6.01 and 6.02 in the new curriculum. They are AFAIK about Python and robots. What is your opinion about the loss of SICP and Scheme in computer science education? Is it a necessary step in the right direction or a bad m...

SICP Exercise 1.3 request for comments

I'm trying to learn scheme via SICP. Exercise 1.3 reads as follow: Define a procedure that takes three numbers as arguments and returns the sum of the squares of the two larger numbers. Please comment on how I can improve my solution. (define (big x y) (if (> x y) x y)) (define (p a b c) (cond ((> a b) (+ (square a) (square (bi...

Which language would you use for the self-study of SICP?

I've caught the bug to learn functional programming for real. So my next self-study project is to work through the Structure and Interpretation of Computer Programs. Unfortunately, I've never learned Lisp, as I was not a CS major in college. While SICP does not emphasize the tools for programming, doing the exercises entails picking a ...

What is the best Scheme implementation for working through SICP?

I have been using PLT Scheme, but it has some issues. Does anyone know of a better implementation for working through SICP? ...

Concepts that surprised you when you read SICP?

SICP - "Structure and Interpretation of Computer Programs" Explanation for the same would be nice Can some one explain about Metalinguistic Abstraction ...

DrScheme versus mzscheme: treatment of definitions

One long term project I have is working through all the exercises of SICP. I noticed something a bit odd with the most recent exercise. I am testing a Huffman encoding tree. When I execute the following code in DrScheme I get the expected result: (a d a b b c a) However, if I execute this same code in mzscheme by calling (load "2.67.s...

How do I get a scheme interpreter working inside Emacs?

I'm going through SICP and I'd like to have an interpreter analogous to the interactive Python interpreter to play around in while I'm watching the lectures and reading the book. Furthermore, I'd like this interpreter to run inside Emacs so I can jump back and forth between files of scheme code and the interactive interpreter and so fort...

Materials for SICP with python?

I want to try out SICP with Python. Can any one point to materials (video.article...) that teaches Structure and Interpretation of Computer Programs in python. Currently learning from SICP videos of Abelson, Sussman, and Sussman. ...

are scheme functions one liners ?

Hi, I am following SICP to learn, and while attempting to solve Ex 1.3 I arrived at the following code as my first attempt: (define (sumsq a b c)( (define highest (if (> (if (> a b) a b) (if (> a c) a c)) (if (> a b) a b) (if (> a c) a c))) (define second_h (if (> (if (> a b) b a) (if (> a c) c a)) (if (> a b) b a) (if (> a c) c a))) (...

HtDP vs. Concrete Abstractions vs. ?

I want to teach myself to program. To give a little background, I have a history degree and my math skills are about the college algebra level (and probably on the lowish end of that). I'm looking for recommendations for books that teach how to think about programming, rather than focusing on a particular language. I've already determin...

Examining the internals of the functions in Haskell

I am a Haskell newbie, though had a previous Lisp/Scheme experience. Right now I am looking at the examples from SICP and trying to implement them in Haskell to get more hands-on experience. In the lecture 3b authors present a function for computing the derivatives symbolically. It contains, among others, the following lines: (define (d...

Loading libraries in Dr Scheme

I am working through SICP using Dr Scheme. How do I load external libraries in Dr Scheme? Say I want to use Math library then how do I ask Dr Scheme to load the particular library? I tried with the following: (require (lib "math.ss")) Got the following error: reference to undefined identifier: require I have chosen R5RS as the langua...

How to improve this piece of code?

My solution to exercise 1.11 of SICP is: (define (f n) (if (< n 3) n (+ (f (- n 1)) (* 2 (f (- n 2))) (* 3 (f (- n 3)))) )) As expected, a evaluation such as (f 100) takes a long time. I was wondering if there was a way to improve this code (without foregoing the recursion), and/or take advantage of multi-core box. I am usi...

How do i invoke Scheme number functions from SICP

In SICP, (ex 2.6) the following functions are described as ways of 'getting by without numbers'. I'm scratching trying to understand this. As a starting point, how do these functions get invoked? Can I actually apply them in some way where the output will be 1? (Or any other number?) (define zero (lambda (f) (lambda (x) x))) (define ...

Structure and Interpretation of Computer Programs, what level of maths ability is required?

Hi there, I regrettably haven't studied maths since I was 16 (GCSE level), I'm now a 27 year old c# developer. Would it be a fruitless exercise trying to work through this book? What kind of maths standard is expected of the reader? Thanks in advance for any replies! ...

Which programming book did you read right after SICP?

Am going to start EOPL - Essentials of programming languages. Reading SICP has sparked an interest in programming language design. What did it do for you? ...

Which language in DrScheme for SICP?

Hi, I have been using the Module for SICP in DrScheme 4.2 but which language has the best support for SICP in DrScheme? Has anyone here tried this? Thanks. ...

sicp section 4.1.6

I need some help in understanding the material in SICP's section 4.1.6 on Internal definitions. I understand the problem raised when mutually recursive functions are defined. But i dont understand how it is solved by transforming the following lambda expression (lambda <vars > (define u <e1 >) (define v <e2 >) <e3 >) into: (...

Can I use Common Lisp for SICP or is Scheme the only option?

Also, even if I can use Common Lisp, should I? Is Scheme better? ...