nemesis09 / sicp-2019

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SICP Study, a collaborative classroom style learning

This project is for peer reviewing the Structure and Interpretation of Computer Programs (SICP) assigments using this workflow:

  • Watch the lecture and read the book,
  • Submit assignments before Friday, and
  • Review others assignments on Friday.

Bookmarks:

Do not edit this document directly, instead modify the README.org file and re-export the markdown and ics file.

Submit Assignment

To submit an assignment, first create a folder with your name in the assignments directory and add your answers in text file(s). Any file format or directory structure will do. For example:

  • assignments/my-name/solution-1.txt
  • assignments/my-name/week1/1.2.scm

Note that if the file name matches an exercise number, then an evaluation script will be used to validate the code (wip). Org-mode tangle are also supported, feel free to use the template.

Then submit a Pull request with the assignment name in the commit message.

Review Assignment

Go to the pull request list and pick another student assignment. Click the Files Changed button and check the answers. Feel free to add comment or ask for clarification by clicking the blue + sign. If the answers look correct to you, click the Review changes button and Approve the change.

When one or more other studends already approved a change, then add a mergeit label to close the pull request.

2019 Schedule

This is a weekly schedule adapted from this meetup:

Chapter 1

1.1 (The Elements of Programming)

DEADLINE: <2019-01-11 Fri>

lecture

  • For exercice 1.3, name the function square-sum-larger.
  • For exercise 1.7, name the function sqrt
  • For exercise 1.8, name the function cube-root

1.2 (Procedures and the Processes Who Love Them)

DEADLINE: <2019-01-18 Fri>

lecture

1.3 (Formulating Abstractions)

DEADLINE: <2019-01-25 Fri>

lecture

Chapter 2

1.3.4 & 2.1.1 & 2.1.2 & 2.1.3 (Data Abstraction)

DEADLINE: <2019-02-01 Fri>

lecture

2.1.4 (Interval Arithmetic)

DEADLINE: <2019-02-08 Fri>

lecture

2.2.1 & 2.2.2 (Hierarchical Structures)

DEADLINE: <2019-02-15 Fri>

lecture

2.2.3 (Sequences as Conventional Interfaces)

DEADLINE: <2019-02-22 Fri>

2.2.4 (A Picture Language)

DEADLINE: <2019-03-01 Fri>

lecture

2.3.1 & 2.3.2 (Symbolic Differentiation)

DEADLINE: <2019-03-08 Fri>

lecture

2.3.3 (Representing Sets)

DEADLINE: <2019-03-15 Fri>

2.3.4 (Huffman Encoding)

DEADLINE: <2019-03-22 Fri>

2.4 (Data Representations)

DEADLINE: <2019-03-29 Fri>

2.5.1 & 2.5.2 (Generic Operations)

DEADLINE: <2019-04-05 Fri>

2.5.3 (Symbolic Algebra)

DEADLINE: <2019-04-12 Fri>

Chapter 3

3.1 (Local State)

DEADLINE: <2019-04-19 Fri>

lecture

3.2 (The Environmental Model)

DEADLINE: <2019-04-26 Fri>

3.3.1 & 3.3.2 (Mutable Lists and Queues)

DEADLINE: <2019-05-03 Fri>

lecture

3.3.3 & 3.3.4 (Mutable Tables and Circuit Simulation)

DEADLINE: <2019-05-10 Fri>

3.3.5 (Propagation of Constraints)

DEADLINE: <2019-05-17 Fri>

3.4 (Concurrency)

DEADLINE: <2019-05-24 Fri>

lecture

3.5.1 & 3.5.2 (Infinite Streams)

DEADLINE: <2019-05-31 Fri>

lecture

3.5.3 (Exploiting the Stream Paradigm)

DEADLINE: <2019-06-07 Fri>

3.5.4 & 3.5.5 (Streams and Delayed Evaluation)

DEADLINE: <2019-06-14 Fri>

Chapter 4

4.1.1 & 4.1.2 (Metacircular Doohickeys)

DEADLINE: <2019-06-21 Fri>

lecture

4.1.3 & 4.1.4 & 4.1.5 & 4.1.6 & 4.1.7 (Evaluators are Programs Too)

DEADLINE: <2019-06-28 Fri>

4.1.3 & 4.1.4 & 4.1.5 & 4.1.6 & 4.1.7 (Evaluators are Programs Too)

DEADLINE: <2019-07-05 Fri>

4.2.1 & 4.2.2 (Lazy Evaluators Need Motivation)

DEADLINE: <2019-07-12 Fri>

lecture

4.2.3 (Lazy Streams Wend Cross Dales)

DEADLINE: <2019-07-19 Fri>

4.3.1, first half of 4.3.2 (Non-deterministic Computing Exclamation Point)

DEADLINE: <2019-07-26 Fri>

remainder of 4.3 (Implementing Amb)

DEADLINE: <2019-08-02 Fri>

4.4.1 (Deductive Information Retrieval)

DEADLINE: <2019-08-09 Fri>

lecture

4.4.2, 4.4.3

DEADLINE: <2019-08-16 Fri>

4.4.2, 4.4.3

DEADLINE: <2019-08-23 Fri>

Week off!

4.4.4.1&2

DEADLINE: <2019-09-06 Fri>

lecture

4.4.4.3&4

DEADLINE: <2019-09-13 Fri>

Chapter 5

5.1

DEADLINE: <2019-09-20 Fri>

lecture

5.1.1-5.1.2

DEADLINE: <2019-09-27 Fri>

5.1.3-5.1.5

DEADLINE: <2019-10-04 Fri>

5.2.1

DEADLINE: <2019-10-11 Fri>

lecture

5.2.2

DEADLINE: <2019-10-18 Fri>

5.2.3-5.2.4

DEADLINE: <2019-10-25 Fri>

5.3

DEADLINE: <2019-11-01 Fri>

lecture

5.4.1 & 5.4.2

DEADLINE: <2019-11-08 Fri>

lecture

5.4.3 & 5.4.4

DEADLINE: <2019-11-15 Fri>

5.5.1 & 5.5.2

DEADLINE: <2019-11-22 Fri>

5.5.3 & 5.5.4

DEADLINE: <2019-11-29 Fri>

5.5.5 & 5.5.6

DEADLINE: <2019-12-06 Fri>

Ending

SICP The Final Chapter! (SICP The End)

SCHEDULED: <2019-12-13 Fri>

SICP REVIEW PARTY!!! (SICP Review Party!)

SCHEDULED: <2019-12-20 Fri>

About

License:MIT License


Languages

Language:Python 100.0%