1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/perry96-SICP

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 10 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 14.03.2025 00:24 9f39918

Изучение курса "Строительство и интерпретация компьютерных программ" (SICP)

лицензия MIT

Язык — это то, к чему ты присоединяешься, а не то, что ты изучаешь.

SICP

Почему SICP так важен?

  • Эта статья анализирует, почему этот курс так важен, и рекомендует прочитать её перед началом изучения SICP. (Оригинал на английском: Why Structure and Interpretation of Computer Programs matters).
  • Если вас интересуют основы лямбда-исчисления, вы можете прочитать документацию, представленную в этом репозитории: Лямбда-исчисление.
  • В настоящее время большинство теорий вычислений основаны на машинах Тьюринга, но использование теории лямбда-исчисления может принести новые перспективы. Обсуждение этого вопроса было проведено великим специалистом Ванг Йэном, который также порекомендовал книгу "Вычислимость и сложность с точки зрения программиста" (уже включена в данный репозиторий).

Ощущения после прохождения SICP!

  • Цитата из заметки на JianShu:

    Есть ли недостатки у SICP? Да, он заставляет тебя чувствовать себя удовлетворённым духовно, но одновременно одиноко.- На данный момент я закончил чтение первых четырех глав и опубликовал общую сводку тем на своём сайте, а также подготовил решения задач для каждой главы.

Видео и презентационные материалы

  • Аннотированное видео (YouKu), видео можно использовать как введение, но чтобы действительно освоить SICP, следует читать бумажную версию книги и решать конец-книжные задачи.
  • Папка Презентационные материалы Пекинского университета содержит презентационные материалы преподавателя Пекинского университета Цуй Цуньяна, переводчика данной книги.

Небольшое замечание

  • Во-первых, эта книга является очень классическим учебником и одновременно сложной книгой. Многие её разделы и задачи требуют внимательного изучения, чтобы понять их суть. Поэтому, чтобы прочитать её до конца или освоить основные идеи, потребуется много времени и усилий.
  • Во-вторых, при чтении, пожалуйста, уделяйте полное внимание каждому разделу, используйте целый отрезок времени для изучения каждой маленькой главы и серьёзно подумайте над задачами. В противном случае вы можете не получить желаемого результата.- Наконец, хочу сказать, что постоянное обучение всегда является трудоёмким занятием. Так что если вам кажется, что учиться по SICP сложно или вызывает раздражение, попробуйте сделать паузу, послушать музыку или прогуляться. Коротко говоря, любые способы расслабления подходят, но помните, что здесь ещё множество интересных задач ждут своего решения, и они ждут, пока вы снова вдохновитесь и решите их.---

Дальнейшее обучение всем ученикам SICP!

Мои вехи

  • 20 ноября 2018 — 24 ноября 2018 — Глава 1 «Создание процессов абстракций»
  • 25 ноября 2018 — 11 декабря 2018 — Глава 2 «Создание данных абстракций»
  • 12 декабря 2018 — 30 декабря 2018 — Глава 3 «Модульность, объекты и состояние»
  • 3 марта 2019 — 11 марта 2019 — Глава 4 «Абстракция метаязыка»
  • 3 июля 2019 — 9 июля 2019 — Глава 4 «Абстракция метаязыка», логическое программирование главы 4

Настройка окружения


Если во время обучения вы столкнетесь с трудностями в понимании каких-либо предложений, обратитесь к списку исправлений, предоставленному переводчиком тут. Не спрашивайте меня, почему я специально упомянул это, ты сам знаешь... - В настройках VS Code найдите code-runner.executorMapByFileExtension, добавьте следующую строку ".scm": "scheme". После установки перезапустите VS Code, чтобы видеть треугольник в правом верхнем углу, нажмите его, чтобы скомпилировать и запустить файл.

- Сейчас программа ещё не может выполняться в терминале, решение проблемы заключается в том, чтобы открыть: `Файл > Параметры > Настройки > Пользовательские настройки > Расширения > Конфигурация Run Code`, затем отметьте галочкой `Выполнение в терминале`, теперь при выполнении программы она будет запущена в интегрированной консоли.
  • Особое примечание: При изучении третьего раздела о потоках будет использоваться Racket как интерпретатор (ссылка для скачивания), так как он уже имеет реализацию этой технологии внутри себя.

Примеры и решения задач

  • Благодарю моего однокурсника Mo-lemon за помощь в создании новых моделей графического представления окружения, используя Visio вместо рукописных чертежей.

  • Если вы заметили ошибки или у вас есть вопросы, просьба указывать их через Issues или связываться со мной по электронной почте Perry961002@163.com.| Раздел (Глава) | 01 | 02 | 03 | 04 | 05 | |:--------------:|:-:|:-:|:-:|:-:|:-:| | Пример (Пример) | Код | Код | Код | Код | --- | | Задачи (Задачи) | Код | Код | Код | Код | --- |

Реализация нескольких классических алгоритмов на Scheme- Быстрая сортировка (QuickSort)

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/perry96-SICP.git
git@api.gitlife.ru:oschina-mirror/perry96-SICP.git
oschina-mirror
perry96-SICP
perry96-SICP
master