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

Improving episode #1 #543

Open
maxim-belkin opened this issue May 28, 2018 · 9 comments
Open

Improving episode #1 #543

maxim-belkin opened this issue May 28, 2018 · 9 comments

Comments

@maxim-belkin
Copy link
Contributor

@maxim-belkin maxim-belkin commented May 28, 2018

Our first episode 01-numpy.md is overloaded. I suggest discussing possible ways for reorganizing the lesson so that we don't have to talk about slicing numpy arrays and grouping matplotlib's plots in it.

My suggestion:

  1. Variables
  2. Types of data
  3. Inspecting data in variables using the builtin "print" function
  4. Loading data into Python as numpy array (import 1 data file with numpy.loadtxt)
  5. Visualize with Matplotlib

5 minutes on each topic = 25 minutes. Add time for exercises = 30 minutes (at least).

The rest of the current lesson can be moved to a new episode after the 6th episode on functions.

Thoughts? ideas?

@annefou
Copy link
Contributor

@annefou annefou commented Jun 13, 2018

I agree with you. We have far too much in this lesson and it is far too long to teach. I definitely agree to move everything related to slicing to another episode.

@ldko
Copy link
Contributor

@ldko ldko commented Jun 13, 2018

I like the idea of removing slicing and grouping plots from the first lesson to shorten it and make it less intense for beginners. I think it would still have a strong impact with doing visualizations on just one data file and save from all the heavy typing required to group the three plots into one figure at the end in just the first episode. Also, currently the part of the episode about performing arithmetic on arrays (doubledata and tripledata part) seems superfluous and further bogging down the first lesson.

@maxim-belkin
Copy link
Contributor Author

@maxim-belkin maxim-belkin commented Jun 13, 2018

yes, double/triple stuff is not necessary in the beginning.

@caseyyoungflesh
Copy link
Contributor

@caseyyoungflesh caseyyoungflesh commented Jun 17, 2018

I agree with this and would add that visualization could also be made its own lesson, as it is a somewhat distinct set of material.

@caseyyoungflesh
Copy link
Contributor

@caseyyoungflesh caseyyoungflesh commented Jun 17, 2018

Additionally, I think the exercises should be embedded in the lesson (e.g., a bit of lesson, a few exercises, a bit of lesson, a few exercises, ...). I think learners need a bit of a 'break' from listening to the instructor code to challenge themselves and practice a bit. Currently, all exercises are located at the end of the (very) long lesson. [was going to create another issue about this, but thought it fit well here]

@caseyyoungflesh
Copy link
Contributor

@caseyyoungflesh caseyyoungflesh commented Jun 17, 2018

Issue #452 also relevant

@go-bears
Copy link

@go-bears go-bears commented Jun 23, 2018

Maybe there should be a quick mention of the snakecase naming convention for the variable weight_kg in episode 1 . if you're coming from another language or non-programming background, one wouldn't know that "_" functions as a space for readability

@maxim-belkin
Copy link
Contributor Author

@maxim-belkin maxim-belkin commented Jun 23, 2018

I'm not sure we should mention things like "snakecase", but explain that underscores help improve readability.

@katebar
Copy link

@katebar katebar commented Nov 22, 2018

I would swap the order of the first two items:

  1. Types of data
  2. Variables
  3. Inspecting data in variables using the builtin "print" function
  4. Loading data into Python as numpy array (import 1 data file with numpy.loadtxt)
  5. Visualize with Matplotlib

I think that data types are foundational to the rest of the lesson. The instructor can then introduce variable assignments, and finally backpedal to data types by introducing the print function.

In terms of items 4 and 5, I think it would be helpful to spend more time defining matrices. I tend to get confused when thinking about multi-dimensional arrays, so slowing down there might be useful. Further, we could take the opportunity to further explain why we use the NumPy library: in addition to the points already mentioned in the lesson, NumPy arrays are somewhat simpler to manage than Python lists of lists. I think that the first Matplotlib visualization (imshow) is really helpful in thinking about matrices. Even if the other visualizations are removed from this lesson, I would keep the imshow viz.

@ErinBecker ErinBecker added this to the June 2019 Release milestone May 14, 2019
@maxim-belkin maxim-belkin mentioned this issue Jun 10, 2019
8 of 17 tasks complete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
8 participants
You can’t perform that action at this time.