How skyblueao77/civil-engineering-python works
Purpose and Scope
This repository is a Japanese introductory Python curriculum for civil-engineering students. The checked-in content currently contains the Vol.2 basic-syntax lesson; the root documentation describes a broader sequence from environment setup through pandas-based data analysis. Root guidance and curriculum context: README.md.
Primary Entry Points
Learners enter through the repository guide, then open the lesson notebook in either VS Code/Jupyter or Google Colab. The executable learning artifact is 02_basic_syntax/civil_engineering_python_intro_02.ipynb; lesson-specific guidance is 02_basic_syntax/README.md.
Learning Delivery Stage
The notebook is the application boundary: it combines explanatory cells, incremental Python execution, and visible outputs. Its content teaches variables, types, arithmetic, branching, loops, and lists using civil-engineering-oriented examples. There is no production service, CLI application, API, or shared library layer. Path: 02_basic_syntax/civil_engineering_python_intro_02.ipynb.
Environment Reproducibility
Each lesson directory is intended to own its isolated Python environment. uv sync resolves and provisions the environment from project metadata and a locked dependency graph, ensuring the notebook kernel can use consistent versions. Paths: 02_basic_syntax/pyproject.toml, 02_basic_syntax/uv.lock.
Execution Flows
Local flow: clone repository → enter lesson directory → uv sync → open folder in VS Code → select project interpreter/kernel → run notebook cells sequentially. Browser flow: open the corresponding notebook through Google Colab and execute without local environment setup. The notebook is stateful: later cells may depend on variables and outputs established in earlier cells. Paths: README.md, 02_basic_syntax/civil_engineering_python_intro_02.ipynb.
Runtime and External Boundaries
The primary runtime is Python 3.13, managed by uv, with Jupyter Notebook execution supplied through VS Code locally or Google Colab remotely. Git/GitHub distributes source material. Qiita hosts companion narrative articles but is not a runtime dependency. The current tree does not include datasets, backend infrastructure, databases, deployment artifacts, or external APIs. Paths: 02_basic_syntax/pyproject.toml, README.md.
Extension Model
The repository is organized as independently runnable numbered lesson modules. Future modules are expected to introduce pandas, CSV ingestion, visualization, numerical computing, and GIS, while preserving the per-lesson notebook plus environment-definition pattern. The present material should be extended by adding a new lesson directory rather than coupling logic into the basic-syntax notebook. Paths: 02_basic_syntax/, README.md.
Components 13
Curriculum Repository
Japanese civil-engineering Python learning materials.
- Git/GitHub · Distributes the checked-in curriculum.
- Curriculum Guide · Maps the broader learning sequence and setup guidance.
README.md - Qiita Articles · Hosts narrative companion articles; not a runtime dependency.
Vol.2 Lesson Module
Independently runnable basic-syntax lesson.
- Numbered Lesson Pattern · New topics are added as separate lesson directories.
- Lesson Guide
02_basic_syntax/README.md - Basic Syntax Notebook · Stateful executable learning artifact for Vol.2.
02_basic_syntax/civil_engineering_python_intro_02.ipynb - Teaching Cells · Explanations and sequential civil-engineering Python exercises.
- Visible Outputs · Later cells may depend on earlier state and results.
- Project Metadata · Declares the Python 3.13 lesson environment.
02_basic_syntax/pyproject.toml - Locked Dependencies
02_basic_syntax/uv.lock
Execution Environments
- uv Sync · Resolves and provisions the isolated lesson environment.
- VS Code / Jupyter · Runs the notebook with the project interpreter and kernel.
- Google Colab · Executes the notebook without local environment setup.
Connections 12
- Git/GitHub → Curriculum Guide: distributes
- Curriculum Guide → Numbered Lesson Pattern: directs learners to
- Numbered Lesson Pattern → Lesson Guide: contains
- Numbered Lesson Pattern → Basic Syntax Notebook: contains
- Basic Syntax Notebook → Teaching Cells: contains
- Teaching Cells → Visible Outputs: produces
- Project Metadata → uv Sync: defines environment for
- Locked Dependencies → uv Sync: pins dependencies for
- uv Sync → VS Code / Jupyter: provides project kernel to
- VS Code / Jupyter → Basic Syntax Notebook: executes locally
- Google Colab → Basic Syntax Notebook: executes in browser
- Curriculum Guide → Qiita Articles: links companion context