Git Product home page Git Product logo

curriculum-notebooks's Issues

Note to editor in lesson 8

Lesson 8 contains a "note to editor" about is. For an upcoming iteration my suggestion would be to remove it here. A typical use is in tests for None, which you do not seem to cover. In the subsequent lesson 09 it might be good to mention that we neither use is nor == with Boolean values (but just the value itself instead of == True; or not for == False).

Lesson 8: Logic

Needed for club by September 30, 2024

Lesson still includes is and is not; gives syntax warning now and explaining this would be a more involved lesson

Files:

  • Lesson Key (Lessons/_Keys/KEY_LessonXX_Topic.ipynb)
    • all cells run
  • Lesson notebook (Lessons/LessonXX_Topic.ipynb)
    • all cell outputs cleared
  • Practice Key (Practices/_Keys/KEY_PracticeXX_Topic.ipynb)
    • all cells run
  • Practice notebook (Practices/PracticeXX_Topic.ipynb)
    • all cell outputs cleared

Inconsistent index counting in lessons 16 and 17

In lesson 16, you show iloc[99:105] with the comment 100 through 105. In lesson 17, iloc[5:11] with 5 through 10. I suggest to use a consistent numbering. Personally, I prefer the latter variant (maybe with a reminder that counting starts at 0).

I did not attempt to spot other locations. Similarly to issue #14, notebooks do not contain source code, making it hard to search through code on my filesystem...

Lesson 21: clarify rank

In Lesson 21, there are references to rank 1 and rank 2. Since students haven't taken linear algebra yet, we might want to change this to refer to one dimensional and two dimensional data instead?

Practice 21: Boston dataset no longer loadable

The Boston dataset referenced in practice notebook 21 is no longer available for download--we should choose a new dataset and re-write this practice notebook, referencing the concepts used in the lesson.

JOSE: Paper contents

This is related to your JOSE submission.

The paper is well written and addresses the questions relevant to JOSE. I've got some comments/questions:

At the end of the summary you write that anyone can contribute. I suggest to emphasize that you describe Open Educational Resources (OER) under free and open licenses. Actually, I wonder about the videos. They do not indicate license information, do they? Are they OER too? Are they only available on Youtube or also elsewhere for download and reuse?

Section "Collaborative Curriculum Development"

  • You describe a process of quality control via PRs. I do not see those PRs in this repository. Are they publicly visible somewhere?
  • JOSE papers prominently feature a link to the repository. Thus, the link at the end of the section may not be necessary. Besides, is this section really the best place for such a link?

I suggest to phrase learning objectives with action verbs (what will students be able to do?). The first objective is too vague in this regard, while the other two are fine.

You write about "paired programming". I suggest "pair programming".

Spotify dataset needs more documentation

One of our facilitators noted this year that the Spotify dataset is a big difficult to understand especially for beginners, so we should either document what the values mean for this dataset or remove it from our capstone project dataset folder.

Lesson 13: Intro to Numpy

Needed for club by Sept 30, 2024

The practice file suggests using "arrange" instead of "arange" --> need to fix typo

Files:

  • Lesson Key (Lessons/_Keys/KEY_LessonXX_Topic.ipynb)
    • all cells run
  • Lesson notebook (Lessons/LessonXX_Topic.ipynb)
    • all cell outputs cleared
  • Practice Key (Practices/_Keys/KEY_PracticeXX_Topic.ipynb)
    • all cells run
  • Practice notebook (Practices/PracticeXX_Topic.ipynb)
    • all cell outputs cleared

Jupyter can't convert notebooks containing images to PDF

Jupyter cannot convert Key notebooks that contain images (e.g. Lesson 09 & 24). When running jupyter nbconvert in the build action, it fails with this error:

LaTeX Warning: File `https://raw.githubusercontent.com/GWC-DCMB/curriculum-note
books/main/Figures/IfElifElseDiagram.png' not found on input line [598](https://github.com/GWC-DCMB/curriculum-notebooks/actions/runs/3686899000/jobs/6239765330#step:7:599).

! Unable to load picture or PDF file 'https://raw.githubusercontent.com/GWC-DCM
B/curriculum-notebooks/main/Figures/IfElifElseDiagram.png'.
<to be read again> 
                   }
l.598 ...books/main/Figures/IfElifElseDiagram.png}
                                                  
? 
! Emergency stop.
<to be read again> 
                   }
l.598 ...books/main/Figures/IfElifElseDiagram.png}

Using local file paths instead of https links doesn't resolve the problem. It appears to be a known issue: jupyter/nbconvert#1079

Since we're mostly teaching in a flipped classroom style rather than with live-coding these days, let's temporarily stop trying to keep the PDFs updated until nbconvert resolves the issue.

JOSE: Prerequisites and collaboration on notebooks?

This is related to your JOSE submission.

I did not use Google Colab before. After reading the paper I thought that the Python source code for the notebooks was available on GitHub (so that I could retain/reuse/revise/remix/redistribute it as OER, without Google Colab). I may be missing something fundamental here, but this does not seem to be the case. E.g., how would I create a PR to address issue #14 and change & into and?

Besides, if I open a workbook via a link from the README, pressing "play" asks me to log in to Google. Is that a hard prerequisite to use the notebooks? If so, please document this.

Lesson 09: using Boolean variables in if/else blocks

Moving this part from #16: "In the subsequent lesson 09 it might be good to mention that we neither use is nor == with Boolean values (but just the value itself instead of == True; or not for == False)."

We could do something like this toward the end:

my_list = [0, 1, 2, 3, 4, 5, 6, 7]

is_short = len(my_list) < 10
is_medium = not is_short and len(my_list) < 20

if is_short:
  print("This list is short!")
elif is_medium:
  print("This list is a medium length.")
else:
  print("This list is on the long side!")

Files:

  • Lesson Key (Lessons/_Keys/KEY_LessonXX_Topic.ipynb)
    • all cells run
  • Lesson notebook (Lessons/LessonXX_Topic.ipynb)
    • all cell outputs cleared
  • Practice Key (Practices/_Keys/KEY_PracticeXX_Topic.ipynb)
    • all cells run
  • Practice notebook (Practices/PracticeXX_Topic.ipynb)
    • all cell outputs cleared

Seeking support

This is in relation to the JOSE review.

"Community guidelines" ask for guidelines on seeking support. While you address contributing and reporting issues excellently, I do not find seeking support explicitly mentioned. I would personally assume that I can try opening an issue asking for support on something, but my assumption may be wrong and in any case, it might be a good idea to also briefly mention in your README whether and how you can ask for support on the lesson material.

String comparisons in Loops 2

In the Loops 2 lesson & practice (and possibly other) notebooks we have some string comparisons using is, e.g.:

image

We should consider changing is to == instead for equality comparison (instead of identity comparison, which will only sometimes work due to string interning)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.