Hexlet SICP

SICP conqueror, in which there is a rating of those who pass the SICP, and everyone notes that he passed.

Начать изучать sicp

Activity log

  • 2.3.1 Quotation
  • 2.3.2 Example: Symbolic Differentiation
  • 1.2.1 Linear Recursion and Iteration
  • 1.1.6 Conditional Expressions and Predicates
  • 1.1.7 Example: Square Roots by Newton’s Method
  • 5.1.1 A Language for Describing Register Machines
  • 5.1.2 Abstraction in Machine Design
  • 5.1.3 Subroutines
  • 5.1.4 Using a Stack to Implement Recursion
  • 5.1.5 Instruction Summary
  • 5.2.1 The Machine Model
  • 5.2.2 The Assembler
  • 5.2.3 Generating Execution Procedures for Instructions
  • 5.2.4 Monitoring Machine Performance
  • 5.3.1 Memory as Vectors
  • 5.3.2 Maintaining the Illusion of Infinite Memory
  • 4.1.1 The Core of the Evaluator
  • 4.1.2 Representing Expressions
  • 4.1.3 Evaluator Data Structures
  • 4.1.4 Running the Evaluator as a Program
  • 4.1.5 Data as Programs
  • 4.1.6 Internal Definitions
  • 4.1.7 Separating Syntactic Analysis from Execution
  • 4.2.1 Normal Order and Applicative Order
  • 4.2.2 An Interpreter with Lazy Evaluation
  • 4.2.3 Streams as Lazy Lists
  • 4.3.1 Amb and Search
  • 4.3.2 Examples of Nondeterministic Programs
  • 4.3.3 Implementing the Amb Evaluator
  • 4.4.1 Deductive Information Retrieval
  • 4.4.2 How the Query System Works
  • 4.4.3 Is Logic Programming Mathematical Logic?
  • 4.4.4.1 The Driver Loop and Instantiation
  • 4.4.4.2 The Evaluator
  • 4.4.4.3 Finding Assertions by Pattern Matching
  • 4.4.4.4 Rules and Unification
  • 4.4.4.5 Maintaining the Data Base
  • 4.4.4.6 Stream Operations
  • 4.4.4.7 Query Syntax Procedures
  • 4.4.4.8 Frames and Bindings
  • 3.1.1 Local State Variables
  • 3.1.2 The Benefits of Introducing Assignment
  • 3.1.3 The Costs of Introducing Assignment
  • 3.2.1 The Rules for Evaluation
  • 3.2.2 Applying Simple Procedures
  • 3.2.3 Frames as the Repository of Local State
  • 3.2.4 Internal Definitions
  • 3.3.1 Mutable List Structure
  • 3.3.2 Representing Queues
  • 3.3.3 Representing Tables
  • 3.3.4 A Simulator for Digital Circuits
  • 3.3.5 Propagation of Constraints
  • 3.4.1 The Nature of Time in Concurrent Systems
  • 3.4.2 Mechanisms for Controlling Concurrency
  • 3.5.1 Streams Are Delayed Lists
  • 3.5.2 Infinite Streams
  • 3.5.3 Exploiting the Stream Paradigm
  • 3.5.4 Streams and Delayed Evaluation
  • 3.5.5 Modularity of Functional Programs and Modularity of Objects
  • 2.1.1 Example: Arithmetic Operations for Rational Numbers
  • 2.1.2 Abstraction Barriers
  • 2.1.3 What Is Meant by Data?
  • 2.1.4 Extended Exercise: Interval Arithmetic
  • 2.2.1 Representing Sequences
  • 2.2.2 Hierarchical Structures
  • 2.2.3 Sequences as Conventional Interfaces
  • 2.2.4 Example: A Picture Language
  • 2.3.1 Quotation
  • 2.3.2 Example: Symbolic Differentiation
  • 2.3.3 Example: Representing Sets
  • 2.3.4 Example: Huffman Encoding Trees
  • 2.4.1 Representations for Complex Numbers
  • 2.4.2 Tagged data
  • 2.4.3 Data-Directed Programming and Additivity
  • 2.5.1 Generic Arithmetic Operations
  • 2.5.2 Combining Data of Different Types
  • 2.5.3 Example: Symbolic Algebra
  • 1.1.1 Expressions
  • 1.1.2 Naming and the Environment
  • 1.1.3 Evaluating Combinations
  • 1.1.4 Compound Procedures
  • 1.1.5 The Substitution Model for Procedure Application
  • 1.1.6 Conditional Expressions and Predicates
  • 1.1.7 Example: Square Roots by Newton’s Method
  • 1.1.8 Procedures as Black-Box Abstractions
  • 1.2.1 Linear Recursion and Iteration
  • 1.2.2 Tree Recursion
  • 1.2.3 Orders of Growth
  • 1.2.4 Exponentiation
  • 1.2.5 Greatest Common Divisors
  • 1.2.6 Example: Testing for Primality
  • 1.3.1 Procedures as Arguments
  • 1.3.2 Constructing Procedures Using Lambda
  • 1.3.3 Procedures as General Methods
  • 1.3.4 Procedures as Returned Values
  • 1.1.1 Expressions
  • 1.1.2 Naming and the Environment
  • 1.1.3 Evaluating Combinations
  • 1.1.4 Compound Procedures
  • 1.1.5 The Substitution Model for Procedure Application

What is here

SICP — a book on computer science (computer science). Perception of computers as abstract machines used to manipulate data. Despite the fact that the book was first published in 1979, it still has not lost its relevance and will not lose in the future. SICP is always in the top of the best books on teaching programming in for decades.
How to read SICP

Features

  • Mark chapters as read
  • See rating, who read how much
  • Discuss chapters and tasks
  • Track user activity

Coming soon

  • Mark exercises as completed
  • Bind repository with resolved exercises
Mark read