Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reordering this lesson #983

Open
dsheehanMIT opened this issue Mar 14, 2022 · 1 comment
Open

Reordering this lesson #983

dsheehanMIT opened this issue Mar 14, 2022 · 1 comment
Labels
type:enhancement Propose enhancement to the lesson

Comments

@dsheehanMIT
Copy link

dsheehanMIT commented Mar 14, 2022

While I am only now trying to complete my Carpentries teaching certification, I have been involved in teaching the Plotting and Programming in Python workshop since late 2019, both as an instructor and as a helper. One issue that I have seen is the ordering of the contents, which us teaching Plotting and DataFrames before some of the fundamentals of Python. I have seen many students confounded by lists and more complex DataFrames, which are built on lists, when they confront them in the above sections, before they have been exposed to them in the later sections of the workshop. I recommend reordering this lesson plan, moving sections 7-9 (Reading Tabular Data into DataFrames, Panda DataFrames. and Plotting) to follow what is now section 15, Afternoon Coffee and before section 16, Writing Functions. At MIT, we are excited to introduce students to DataFrames and Plotting, but most students seem to struggle with the complexity of the above sections. Having more experience with Python and Lists before getting to DataFrames and Plotting would make learning the latter easier.

@mwhamgenomics
Copy link

I just taught this course yesterday and agree that it needs some re-ordering. I can understand wanting to hold off from loops and conditionals and give learners a useful library to work with early on, but it was a bit jarring to go from basic functionality in chapter 1 straight to numpy in chapter 2. Lists can definitely be moved to come before numpy. Couple of things I noticed:

  • Chapter 2 uses named arguments (numpy.loadtxt(fname='inflammation-01.csv', delimiter=',') ), lists (numpy.hstack([A, A])) and nested lists (A = numpy.array([[1,2,3], [4,5,6], [7, 8, 9]])) without explaining them
  • Tuples are used in chapter 2 (numpy.array.shape), chapter 3 (matplotlib.pyplot.figure) and chapter 10 (assertions), but are not explained
  • Chapter 4 (lists) starts off with list manipulations but then suddenly starts slicing strings

Re. data frames, I don't know if it was a conscious decision to build this course around numpy rather than Pandas. Personally I'd be happy if it were overhauled to use Pandas (columns and rows are a bit more intuitive than axis=0), but that should probably be a separate discussion

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:enhancement Propose enhancement to the lesson
Projects
None yet
Development

No branches or pull requests

3 participants