This is the P2PU Archive. If you want the current site, go to www.p2pu.org!

SICP Study group

This course is complete. Subscribe to the announcement list for updates.
SICP Study group course photo

SICP Study group

Josmas Flores's picture
Course organiser: Josmas Flores
About the Course Organiser: 

I am a software developer and a researcher in IT in Education using virtual environments for Computer Science third level education, and living and working in Dublin, Republic of Ireland.

No of Seats: 
10
Course Status: 
Completed

Members

Josmas Flores's picture
admin
Josma
Study group for the classic book Structure and Interpretation of Computer Programs #SICP #p2pu

Summary

THIS GROUP HAS BEEN MOVED

TO THE NEW P2PU SITE.

PLEASE FOLLOW US THERE:

SICP STUDY GROUP

This is a study group for the classic computing book Structure and Interpretation of Computer Programs by Abelson, Sussman, and Sussman (MIT Press 1993).
The study group will use the Scheme programming language and can be followed in an asynchronous mode through the P2PU site, and also through other synchronous technologies such as online meetings.

All the work will be done through collaboration and group discussion (please do not expect lectures or assignments). Assessment and peer review will be in the form of blog posts and sharing source code through github. Although most of these activities can be done asynchronously, other practices such as pair programming or local meet ups(if at all possible) are highly encouraged and I will try to facilitate these as much as possible.

Learning objectives

The objectives for the course follow the different sections in the SICP book:
1. Building Abstractions with Procedures
2. Building Abstractions with Data
3. Modularity, Objects, and State
4. Metalinguistic Abstraction
5. Computing with Register Machines

Scheme is primarily a functional language, derived from Lisp. If you have only used object oriented languages to date, you will be exposed to a completely different paradigm. If you are wondering why would you care about a language that is about 40 years old, you will be happy to know that all you learn here can be directly applied to newer and exciting languages such as Clojure, Haskell or the widely used JavaScript.

If you are also wondering why the course is not using using one of those newer and exciting languages, the answer is simple: The course does not focus on the language but on the concepts.

Schedule/Syllabus