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

Lesson Contribution - setup instructions and lessons 1 and 2 #162

Open
Talishask opened this issue May 4, 2021 · 0 comments
Open

Lesson Contribution - setup instructions and lessons 1 and 2 #162

Talishask opened this issue May 4, 2021 · 0 comments

Comments

@Talishask
Copy link

I'm a member of The Carpentries Core Team and I'm submitting this issue on behalf of another member of the community. In most cases, I won't be able to follow up or provide more details other than what I'm providing below.


Feedback on 'Data Analysis and Visualization with Python for Social Scientists'

Setup

Data

  • The files do not automatically download for me by clicking on the links. Instead, I had to right click to access the option to download in a pop up menu. Also, this might be a good place to mention that the student wants to download the files and store them in the same location as wherever they want to open their Jupyter notebook later so there aren't issues accessing the files with the standard exercise codes later. (We had a lot of trouble with this in one of the workshops I went to.)

Setup instructions for Python

  • I'm not sure why there are only instructions for running Jupyter Notebook in Windows… (For that matter, the instructions for 'How to install the Anaconda distribution of python' only mention Windows of Linux options too.). For me on a Mac, I get to my Jupyter Notebook by opening my terminal and just typing in 'jupyter notebook'…. I'm not sure how I'd know that if I was a student reading through this page and I was going to be doing the workshop on a Mac.

Introduction to Python

Introducing Jupyter notebooks

  • Alternatively, or in addition to mentioning in the setup that the students want their data files and their jupyter notebook in the same place, you could mention here that they might want to open the New notebook in the same location where they saved the class data files while they went through the Setup process.

Python basics

Using the Jupyter environment

  • The link to 'Markdown - a Visual Guide' gave me a 404 error.

Arithmetic operations

  • For the sake of people who aren't math people (like me) I might choose different values for variables 'a' and 'b' because a % b = 2.0 doesn't immediately make sense to me. If a were 100 and b were 9, a % b = 1 I can wrap my mind around. 100 / 9 = 11 with remainder 1. But for a non-math person 2 / 3.142 = 0 with remainder 2 just requires a lot more thinking to wrap my mind around; like, why is the remainder 3.142? It just seems unnecessarily difficult to wrap my mind around the math and thus understand how the operator is working.
  • In the Exercise, I'm not sure how valuable it would be in the Solution to point out that the 4 'items' without the 'print' statement are treated as a 'tuple' and just offhand mention the data type of tuple without having the time to go into it in more detail. I think, especially at the very, very beginning of an intro to python class this causal mention of some data type that's a word I've never heard of before, especially if we're not going to discuss it, is possibly intimidating.

Data types and how Python uses them
-In the second example, the code seems unnecessarily complex to me and I would shorten it to:

a = 3
print(type(a))
a = a * 1.0
print(type(a))
a = 3.142
print(type(a))
a = int(a)
print(type(a))
print(a)
  • Then I would expand the explanation text a bit to explain that by multiplying by the 1.0 you returned the a to a 'float' type and that we can see from that last print statement that in assigning 'a' as an integer, we lost the .142 value. Just cuts down 12 lines of code to 9 while getting across the same point, I think.

Strings
-I would re-write one of these code samples in the first example to include actual quotations because right now the only quotation is the possessive apostrophe in the last example. Which confused me a bit, trying to find which example had the quotation marks in the printed statement. So instead it could say, for instance:

name = "Peter"
mystring = "'Hello', I called to " + name + "."
print(mystring)

String functions

  • "In the example below, we can use the replace() method to remove the spaces and then check to see if the result isalpha is impacted. Chaining method in this way is quite common.
  • My edits in red. It's not a clear sentence as written in the lesson currently.

Basic Python data types

  • I just don't understand this exercise at all. Reading the instructions, I don't know what I'm being instructed to do.

Structured data types

  • I'm not sure what the thought process is in including the code:
myname = "Peter"
list3 = ["Hello", 'to', myname ]
print(list3)
myname = "Fred"
print(list3)
print(type(list3))

Which outputs:

['Hello', 'to', 'Peter']
['Hello', 'to', 'Peter']
  • It seems likely to only confuse a student at this point, as we don't actually have in explanation text for the instructor to point out that list3 is defined before the redefined myname = "Fred" so the list is unchanged when you print it again below that variable reassignment. I'd either rewrite that example or point out that the instructor should mention that.

The list

  • The first solution given to the exercise is that student could have used last_num_in_list = num_list[-1] but I don't think we've told students they can index with negative numbers to move from right to left yet. So I think a student with no background would be far more likely to think last_num_in_list = num_list[3]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant