You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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:
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]
The text was updated successfully, but these errors were encountered:
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
Setup instructions for Python
Introduction to Python
Introducing Jupyter notebooks
Python basics
Using the Jupyter environment
Arithmetic operations
Data types and how Python uses them
-In the second example, the code seems unnecessarily complex to me and I would shorten it to:
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:
String functions
Basic Python data types
Structured data types
Which outputs:
The list
The text was updated successfully, but these errors were encountered: