Welcome to NJU SICP Wiki 2025
This wiki is an unofficial, student-built resource dedicated to Structure and Interpretation of Computer Programs (SICP). Our goal is to create a collaborative repository for valuable hints and solutions to the labs and homeworks.
💡 About This Project
This wiki is built and maintained by students, for students. We strictly adhere to academic integrity policies:
- Before the due date (DDL): Only hints for the problems will be available.
- After the due date (DDL): Full solutions will be released to aid in studying and understanding the material.
The wiki is powered by the following Python packages:
mkdocs
mkdocs-material
pymdown-extensions
🤝 How to Contribute
We welcome contributions from all students! If you have useful hints, clearer explanations, or solutions to share (post-DDL), please follow these guidelines:
Repository & File Edits
The source code for this wiki is hosted here:
Repository: https://git.nju.edu.cn/xmzheng/sicp-wiki-2025
You are only permitted to modify .md
files located under the /docs
directory.
Academic Integrity & Formatting
- DDL Restriction: Before the DDL, you may only submit hints and conceptual explanations. Solutions are strictly forbidden.
- Code Blocks: All code blocks must specify the language (e.g.,
python
,scheme
,sql
) for proper syntax highlighting. - Local Test: Please test your changes locally (run
mkdocs serve
) before creating a Merge Request (MR). This ensures that complex \(\LaTeX\) formulas render correctly! - New Pages: When creating a new problem page, please start by copying the content from the provided
template.md
to ensure consistent formatting.
Merging Policy
We use a Merge Commit with Semi-Linear History to maintain a clean and traceable repository history:
- A merge commit will be created for every merge.
- A merge is only allowed if the source branch is up-to-date with its target.
- If a semi-linear merge is not possible, users may be asked to rebase their branch.
We look forward to building this helpful resource together!