Skip to content

Commit

Permalink
update student version with curriculum book changes
Browse files Browse the repository at this point in the history
  • Loading branch information
actions-user committed Dec 13, 2024
1 parent ee66135 commit b977d0c
Show file tree
Hide file tree
Showing 4 changed files with 574,847 additions and 574,735 deletions.
43 changes: 38 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,43 @@
# GeoSMART Curriculum Jupyter Book (ESS 469/569)

[![Deploy](https://github.com/geo-smart/mlgeo-book/actions/workflows/deploy.yaml/badge.svg)](https://github.com/geo-smart/mlgeo-book/actions/workflows/deploy.yaml)
[![Jupyter Book Badge](https://jupyterbook.org/badge.svg)](https://geo-smart.github.io/mlgeo-book)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/geo-smart/mlgeo-book/HEAD?urlpath=lab)
[![Deploy](https://github.com/geo-smart/mlgeo-instructor/actions/workflows/deploy.yaml/badge.svg)](https://github.com/geo-smart/mlgeo-instructor/actions/workflows/deploy.yaml)
[![Jupyter Book Badge](https://jupyterbook.org/badge.svg)](https://geo-smart.github.io/mlgeo-instructor)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/geo-smart/mlgeo-instructor/HEAD?urlpath=lab)
[![GeoSMART Library Badge](book/img/curricula_badge.svg)](https://geo-smart.github.io/curriculum)
[![Student Version](book/img/student_version_badge.svg)](https://geo-smart.github.io/mlgeo-book/)

## About
## Repository Overview

This repository stores configuration for GeoSMART curriculum content, specifically the student version of the book. This version of the book should never be directly edited, as the student version is automatically generated on push.
This repository stores configuration for GeoSMART curriculum content, specifically the teacher version of the book. Only this version of the book should ever be edited, as the student version is automatically generated on push by github actions.

## Making Changes

Edit the book content by modifying the `_config.yml`, `_toc.yml` and `*.ipynb` files in the `book` directory. The book is hosted on Github Pages and will be automatically updated on push, and the student book will also be created automatically on push.

Making changes requires that you set up a conda environment and build locally before making sure that it will build with github actions. We accepted rendered notebooks, but some oddities, such as kernels different than python, will make it crash. So we recommend that contributors first build the book with the added notebooks.

```sh
conda env create -f ./conda/environment.yml
conda activate curriculum_book

```

To modify the exact differences between this book and the student book, edit `.github/workflows/clean_book.py`. When you push, a github action will clone the repo and run this python file which modifies certain parts of `*.ipynb` file contents, then pushes to the student repo. To edit the student repo's README, edit `STUDENT_README.md`. The Github Actions workflow also automatically replaces `README.md` with `STUDENT_README.md` in the student repo.

### `Student Response Sections`

One modifications made by the `clean_book.py` workflow is to clear sections marked for student response. Code cells marked for student response may contain code in the teacher version of the book, but will have their code removed and replaced with a TODO comment in the student version.

To mark a code cell to be cleared, insert a markdown cell directly preceding it with the following content:

````markdown
```{admonition} Student response section
This section is left for the student to complete.
```
````

## Serving Locally

Activate the `curriculum_book` conda environment (or any conda environment that has the necessary jupyter book dependencies). Navigate to the root folder of the curriculum book repository in anaconda prompt, then run `python server.py`.

On startup, the server will run `jb build book` to build all changes to the notebook and create the compiled HTML. The server code can take a `--no-build` flag (or `--nb` shorthand) if you don't want to build any changes you've made to the notebooks. In the case that you don't want to build changes made to the notebooks, you can just run `python serer.py --nb` from any terminal with python installed.
10 changes: 10 additions & 0 deletions STUDENT_README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# GeoSMART Curriculum Jupyter Book (ESS 469/569)

[![Deploy](https://github.com/geo-smart/mlgeo-book/actions/workflows/deploy.yaml/badge.svg)](https://github.com/geo-smart/mlgeo-book/actions/workflows/deploy.yaml)
[![Jupyter Book Badge](https://jupyterbook.org/badge.svg)](https://geo-smart.github.io/mlgeo-book)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/geo-smart/mlgeo-book/HEAD?urlpath=lab)
[![GeoSMART Library Badge](book/img/curricula_badge.svg)](https://geo-smart.github.io/curriculum)

## About

This repository stores configuration for GeoSMART curriculum content, specifically the student version of the book. This version of the book should never be directly edited, as the student version is automatically generated on push.
134 changes: 99 additions & 35 deletions book/Chapter1-GettingStarted/1.20_MLGEO_Final_Project.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,56 +6,120 @@

### **1. Report (5 Pages) - 40%**

- **Integration and Cohesion (10%)**
- Clearly integrates AI-ready data preparation, CML, and DL components into a single narrative.
- Demonstrates the logical progression of methods and their relevance to the geoscientific problem.
- **Content & Research Quality (25%)** Quality, depth, and relevance of the research
- Present a clear statement of an outstanding research question and place it in the context of an up-to-date literature review
- Demonstrates the originality of the research
- Present an AI-ready data set, preliminary analysis with correlation or description of basic data feature, and discuss potential data imbalance within the context of the stated problem.
- Demonstrate strong understanding of classic machine learning and/or deep learning with an example
- Discuss the performance evaluation in the context of training the model and for generalization beyond the data and domain presented in the report.
- Discuss the computational time for training and deploying
- Discuss the appropriateness of computational resources needed


- **Structure and Organization (15%)** Coherence, clarity, and flow of the report
- Logical structure (introduction, body, conclusions, references)
- Well-organized paragraphs with transitions between ideas
- Key points and arguments are clearly presented and easy to follow
- Figures presented have captions and clear labels and are references in the text.
- **Clarity and Writing Style (20%)** Quality & Effectiveness in Writing
- Clear concise language
- Minimal grammar or spelling errors
- Professional and academic tone appropriate for the field

- **Critical Thinking & Analysis (20%)** Depth of analysis and reflection on the research topic
- The analysis goes beyond simple description and shows depths of thought
- Acknowledges alternative perspectives or potential limitations in the research
- Demonstrates original thinking and critical engagement with the research

- **Formatting & Citations (10%)** Adherence to format guidelines and proper citation of sources
- Follows formatting requirements (e.g., margins, font, length)
- Correct use of citation style (e.g., APA, MLA, Chicago)
- Correctly state the author’s CredIT (every student enrolled needs to be associated with a contribution and the CreDIT statement will assert that)

- **Scientific Discussion and Interpretation (15%)**
- Provides insightful analysis of results, including comparisons between CML and DL methods.
- Discusses trade-offs, advantages, and limitations of the approaches used.
- Includes domain-specific interpretations and implications of findings.

- **Clarity and Organization (10%)**
- The report is well-structured, concise, and within the 5-page limit (excluding references and appendices).
- Includes high-quality figures, tables, and diagrams to support the narrative.

- **Team Contributions (5%)**
- The GitHub demonstrates that every team member has contributed to the github repository
- The presentations had time allocated for each group members, each were assigned with a specific task to present.

---

### **2. GitHub Repository - 35%**

- **Comprehensiveness (10%)**
- Repository includes all three components: AI-ready data, CML, and DL.
- Each component is complete and well-documented with code, results, and explanations.
- **Code Quality (15%)** Quality and functionality of the scripts and code
- The code is clean, well-documented, and follows good programming practices
- All scripts run without errors (when the environment is properly set up)
- Code is modular, with reusable functions where appropriate
- Scripts achieve the intended outcomes (e.g., generating plots, performing analysis)


- **Reproducibility (25%)** Ease of reproducing the analysis and results
- The repository includes clear instructions (e.g., in a README.md) for setting up the environment and running the code
- Jupyter notebooks, scripts, and any other files necessary to recreate the analysis are provided
- Data (or instructions to access data) are included or referenced appropriately
- Output (plots, tables) are reproducible using the code


- **Organization & Structure (20%)** Organization and clarity of the repository structure
- Repository is well-organized with clear folder structure (e.g., separate folders for code, data, results, etc.)
- File and folder names are descriptive and intuitive
- ``README`` file provides a clear overview of the repository and how to navigate it


- **Documentation (15%)** Clarity and completeness of documentation
- README file clearly explains the project, dependencies, and setup instructions
- Code and notebooks are well-documented, including comments explaining key sections
- Scripts include docstrings for functions and appropriate inline comments

- **Reproducibility and Code Quality (10%)**
- Code is modular, organized, and follows standard practices for AI/ML projects (e.g., using PyTorch for DL).
- Instructions for reproducing results are clear (e.g., README with dependencies, instructions, and commands).

- **Integration and Documentation (10%)**
- Demonstrates integration across components with shared preprocessing steps, consistent evaluation metrics, and unified outputs.
- Includes high-quality documentation that explains the project, methods, and findings holistically.
- **Environment Setup (10%)** Provision of environment setup and dependency management
- Includes a complete and working conda environment file (``environment.yml``) or ``requirements.txt`` for virtual environments
- Environment file lists all necessary dependencies with correct versions
- Instructions for setting up the environment are clear and easy to follow


- **Version Control Practices (5%)** Effective use of Git and GitHub features
- Commits are frequent, descriptive, and reflect the progression of the project.
- Clear use of branches, if applicable (e.g., for different features or phases of the project)
- Issues, pull requests, or other GitHub collaboration tools are used effectively.


- **Team Contributions (5%)**
- Repository reflects contributions from all team members (e.g., clear commit history, attribution in code/comments).

---

### **3. Presentation (10 Minutes) - 25%**
### **3. Presentation (10-15 Minutes) - 25%**

- **Content (20%)** Quality and depth of research
- Present a clear statement of an outstanding research question
- Provides evidence and reference to the scientific literature to support the key points
- Present an AI-ready data set and preliminary analysis.
- Demonstrate a classic machine learning example.
- Demonstrates a deep learning example
- Discuss the computational time for training and deploying
- Discuss the appropriateness of computational resources needed

- **Structure and Organization (15%)** Coherence and flow of the presentation
- Logical structure (report and presentation: intro, body, conclusion; software: readme, env file, src/, data/, plots/,...)
- Key points are clearly distinguished and emphasized


- **Clarity and Delivery (20%)** Effectiveness in communicating ideas
- Clear articulation and pronunciation
- Adequate volume and pace
- Minimal reliance on notes, maintaining eye contact with the audience
- Confident and professional demeanor

- **Visual Aids (10%)** Effectiveness of any supporting visual materials (slides, charts, plots)
- Visual aids enhance, not distract, from the presentation
- Information is presented clearly, is easy to follow, and uses appropriate design principles
- Slides do not overwhelm with text or complex visuals

- **Content and Delivery (10%)**
- Presentation provides a clear and engaging summary of the project, including objectives, methods, results, and key insights.
- Demonstrates understanding of the methods and their relevance to the geoscientific problem.
- **Engagement and Interaction (10%)** Ability to engage and interact with the audience
- Encourages audience interaction through questions or active participation
- Responds effectively to audience questions and comments

- **Integration and Interpretation (10%)**
- Focuses on the integration of all three components and the scientific conclusions derived from them.
- Highlights key comparisons, domain-specific implications, and future directions.
- **Critical Thinking and Analysis (15%)** Depth of analysis and reflection on the research topic
- Demonstrates original thinking and critical engagement with the research
- Identifies limitations or future directions for research

- **Team Contributions (5%)**
- A erstanding and contributions.
- **Professionalism (10%)** Overall, the professional quality of the presentation
- Respect for time limits, prepared with material
- Appropriate attire and a respectful manner.

---

Expand Down
Loading

0 comments on commit b977d0c

Please sign in to comment.