Editing Intro to Programming and Data Science (Summer 2020)

From CommunityData

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
{{Old Class}}
= Course Information =
= Course Information =
:'''COM 674: Introduction to Programming and Data Science'''
:'''COM 574: Introduction to Programming and Data Science'''
:'''Location:''' https://meet.jit.si/COM674
:'''Location:''' https://meet.jit.si/COM674
:'''Class Hours:''' M-F, 10 am - 12 pm
:'''Class Hours:''' M-F, 10 am - 12 pm
Line 77: Line 75:


# '''Research Project:''' The main outcome of this course will be a research project exploring a social science question using Python, and the bulk of your grade will be based on that project. Submit these via Brightspace
# '''Research Project:''' The main outcome of this course will be a research project exploring a social science question using Python, and the bulk of your grade will be based on that project. Submit these via Brightspace
# '''Coding Challenges:''' There will be daily programming assignments that I will ask you to turn in on Brightspace but which will only be graded as complete/incomplete. I will also randomly assign someone to present their solution to each of the problems, on [piazza.com/purdue/summer2020/com674 Piazza].
# '''Coding Challenges:''' There will be daily programming assignments that I will ask you to turn in on Brightspace but which will only be graded as complete/incomplete. I will also randomly assign someone to present their solution to each of the problems, on [
piazza.com/purdue/summer2020/com674 Piazza].
# '''Paper Discussion:''' Each day we will read and discuss a paper which uses computational approaches to address social science questions.
# '''Paper Discussion:''' Each day we will read and discuss a paper which uses computational approaches to address social science questions.


Line 138: Line 137:
The presentation will provide an opportunity to share a brief summary of your project and findings with the other members of the class. However, don't treat it as a comprehensive overview of your paper: I would rather you tell a subset of the story well than the whole story in a rushed fashion. For instance, you can give a completely successful presentation by describing the motivation and walking through one plot in your paper. Since you will all give other research presentations throughout your career, I strongly encourage you to take the opportunity to refine your academic presentation skills.
The presentation will provide an opportunity to share a brief summary of your project and findings with the other members of the class. However, don't treat it as a comprehensive overview of your paper: I would rather you tell a subset of the story well than the whole story in a rushed fashion. For instance, you can give a completely successful presentation by describing the motivation and walking through one plot in your paper. Since you will all give other research presentations throughout your career, I strongly encourage you to take the opportunity to refine your academic presentation skills.


I anticipate that most people will either create a PowerPoint presentation or will walk us through their Jupyter Notebook. All presentations will need to be ''a maximum of 8 minutes long''. Concisely communicating an idea in the time allotted is an important skill in its own right. Presentations should be uploaded to the Discussion forum on Brightspace created for this purpose.
All presentations will need to be ''a maximum of 8 minutes long''. Concisely communicating an idea in the time allotted is an important skill in its own right. I am still working on finding the right software for doing these, but I think we will likely use FlipGrid.  


== Daily Coding Challenges ==
== Daily Coding Challenges ==
Line 203: Line 202:
= Schedule =
= Schedule =


'''NOTE''': This section will be modified throughout the course to meet the class's needs. Check back in often.
'''NOTE'''  This section will be modified throughout the course to meet the class's needs. Check back in often.


In general, the lecture for a certain day will cover the same material as the P4E reading for that day. You are welcome to read P4E either before or after the lecture.


 
== Day 1: Introductions and getting started (May 18) ==
== Day 1: Introduction to Python and Computational Thinking (May 18) ==


'''Assignment Due:'''  
'''Assignment Due:'''  
Line 225: Line 222:
* Have written your first program in the python language.
* Have written your first program in the python language.


== Day 2: Variables, conditionals, and functions (May 19) ==
== Day 2: Computational thinking (May 19) ==


'''Assignment Due:'''  
'''Assignment Due:'''  
Line 233: Line 230:


'''Readings (before class):'''  
'''Readings (before class):'''  
* Python for Everybody, chapters 1-4
* Python for Everybody, chapters 1-2
* Bit By bit, [https://www.bitbybitbook.com/en/1st-ed/introduction/ Introduction]
* Bit By bit, [https://www.bitbybitbook.com/en/1st-ed/introduction/ Introduction]


Line 243: Line 240:
* [[Intro to Programming and Data Science (Summer 2020)/Day_2_Coding_Challenges|Day 2 Coding Challenge]]
* [[Intro to Programming and Data Science (Summer 2020)/Day_2_Coding_Challenges|Day 2 Coding Challenge]]


== Day 3: Iteration, strings, and lists (May 20) ==
== Day 3: Conditionals and Functions (May 20) ==


'''Assignment Due:'''
'''Assignment Due:'''
* Final project dataset and idea (turn in on Brightspace).
* Final project idea (turn in on Brightspace).
* Finish [[Intro to Programming and Data Science (Summer 2020)/Day_2_Coding_Challenges|Day 2 Coding Challenge]] (turn in on Brightspace)
* Finish [[Intro to Programming and Data Science (Summer 2020)/Day_2_Coding_Challenges|Day 2 Coding Challenge]] (turn in on Brightspace)


'''Readings:'''  
'''Readings:'''  
* Python for Everybody
* Python for Everybody, chapters 3-4
chapters_to_read = [5, 6, 8]
* Foote, J., Shaw, A., & Hill, B.M. (2017). [https://jeremydfoote.com/files/foote_computational_2017.pdf Computational analysis of social media scholarship]. In Burgess, J., Poell, T., Marwick, A. (Eds.), The Sage Handbook of Social Media. Sage.
* Foote, J., Shaw, A., & Hill, B.M. (2017). [https://jeremydfoote.com/files/foote_computational_2017.pdf Computational analysis of social media scholarship]. In Burgess, J., Poell, T., Marwick, A. (Eds.), The Sage Handbook of Social Media. Sage.
** Discussant: Tamara
** Discussant: Tamara


'''Agenda:'''
'''Agenda:'''
* Programming principles (iteration, strings, and lists)
* Discuss reading (iteration, strings, and lists)
** Follow along with [https://github.com/jdfoote/Intro-to-Programming-and-Data-Science/raw/summer2020/day_3/day_3.ipynb this Jupyter Notebook]
* Go over last day's assignment
* Go over last day's assignment
* Introduce wordplay project
* Introduce wordplay project
Line 266: Line 261:
* (Optional) [https://learn.datacamp.com/courses/intro-to-python-for-data-science DataCamp Chapters 1-3]
* (Optional) [https://learn.datacamp.com/courses/intro-to-python-for-data-science DataCamp Chapters 1-3]


== Day 4: Reading from and writing to files (May 21) ==
== Day 4: Iteration, strings, and lists (May 21) ==


'''Assignment Due:'''
'''Assignment Due:'''
* [[Intro to Programming and Data Science (Summer 2020)/Day 3 Coding Challenges|Day 3 Coding Challenges]]
* [[Intro to Programming and Data Science (Summer 2020)/Day 3 Coding Challenges|Day 3 Coding Challenges]]


'''Readings:'''  
'''Readings:'''  
book = open('Python for Everybody', 'r')
* Python for Everybody
  for chapter in book:
  chapters_to_read = [5, 6, 8]
    if chapter == '7':
        read(chapter)
book.close()
* Nelson, Laura K. 2017. "[https://doi.org/10.1177%2F0049124117729703 Computational Grounded Theory: A Methodological Framework]." Sociological Methods and Research.
* Nelson, Laura K. 2017. "[https://doi.org/10.1177%2F0049124117729703 Computational Grounded Theory: A Methodological Framework]." Sociological Methods and Research.
** Discussant: Tiwalade
** Discussant: Tiwalade
Line 282: Line 275:
'''Agenda:'''
'''Agenda:'''
* Reading from and writing to files
* Reading from and writing to files
* [https://github.com/jdfoote/Intro-to-Programming-and-Data-Science/raw/summer2020/day_4/day_4.ipynb Today's Jupyter Notebook]
* [https://jeremydfoote.com/teaching/2020-summer/intro_to_programming/day_4.html Today's slides]
* [https://jeremydfoote.com/teaching/2020-summer/intro_to_programming/day_4.html Today's slides]


Line 288: Line 280:
* [[Intro to Programming and Data Science (Summer 2020)/Day 4 Coding Challenges|Day 4 Coding Challenges]]
* [[Intro to Programming and Data Science (Summer 2020)/Day 4 Coding Challenges|Day 4 Coding Challenges]]


== Day 5: Dictionaries and Tuples (May 22) ==
 
== Day 5: Reading and writing files (May 22) ==


'''Assignment Due:'''
'''Assignment Due:'''
Line 294: Line 287:


'''Readings:'''
'''Readings:'''
* Python for Everybody, chapters 9 and 10
* Margolin, D. B., Hannak, A., & Weber, I. (2018). [https://doi.org/10.1080/10584609.2017.1334018 Political Fact-Checking on Twitter: When Do Corrections Have an Effect?] Political Communication, 35(2), 196–219.
* Margolin, D. B., Hannak, A., & Weber, I. (2018). [https://doi.org/10.1080/10584609.2017.1334018 Political Fact-Checking on Twitter: When Do Corrections Have an Effect?] Political Communication, 35(2), 196–219.
** Discussant: Vanessa
** Discussant: Vanessa
book = open('Python for Everybody', 'r')
for chapter in book:
    if chapter = '7':
        read(chapter)
book.close()


'''Agenda:'''
'''Agenda:'''
* Dictionaries
* Dictionaries
* Tuples
* Tuples
* [https://github.com/jdfoote/Intro-to-Programming-and-Data-Science/raw/summer2020/day_5/day_5.ipynb Today's Jupyter Notebook]
* [https://jeremydfoote.com/teaching/2020-summer/intro_to_programming/day_5.html Today's slides]
* [https://jeremydfoote.com/teaching/2020-summer/intro_to_programming/day_5.html Today's slides]


Line 307: Line 304:
* [[Intro to Programming and Data Science (Summer 2020)/Day 5 Coding Challenges|Day 5 Coding Challenges]]
* [[Intro to Programming and Data Science (Summer 2020)/Day 5 Coding Challenges|Day 5 Coding Challenges]]


== Day 6: Dataframes and Visualization (May 26) ==
 
== Day 6: Dictionaries (May 26) ==


'''Assignment Due:'''
'''Assignment Due:'''
Line 315: Line 313:
* Benefield, G. A., Shen, C., & Leavitt, A. (2016). [https://doi.org/10.1145/2818048.2819935 Virtual Team Networks: How Group Social Capital Affects Team Success in a Massively Multiplayer Online Game]. Proceedings of the 19th ACM Conference on Computer-Supported Cooperative Work & Social Computing, 679–690.
* Benefield, G. A., Shen, C., & Leavitt, A. (2016). [https://doi.org/10.1145/2818048.2819935 Virtual Team Networks: How Group Social Capital Affects Team Success in a Massively Multiplayer Online Game]. Proceedings of the 19th ACM Conference on Computer-Supported Cooperative Work & Social Computing, 679–690.
** Discussant: Nate
** Discussant: Nate
* Python for Everybody, chapters 9 and 10




'''Agenda:'''
'''Agenda:'''
* Dataframes and visualization
* Dataframes and visualization
* [https://github.com/jdfoote/Intro-to-Programming-and-Data-Science/raw/summer2020/day_6/day_6.ipynb Day 6 notebook]
* [https://jeremydfoote.com/teaching/2020-summer/intro_to_programming/day_6.html Today's slides]
* [https://jeremydfoote.com/teaching/2020-summer/intro_to_programming/day_6.html Today's slides]


'''Coding challenges:'''
'''Coding challenges:'''
* [[Intro to Programming and Data Science (Summer 2020)/Day 6 Coding Challenges|Day 6 Coding Challenges]]
* [https://github.com/jdfoote/Intro-to-Programming-and-Data-Science/blob/master/resources/exercises/week_6_exercises.ipynb Day 6 Coding Challenges]
* (Optional) Begin work on [https://campus.datacamp.com/courses/intermediate-python-for-data-science DataCamp Intermediate Python], Chapters 1-3
* (Optional) Begin work on [https://campus.datacamp.com/courses/intermediate-python-for-data-science DataCamp Intermediate Python], Chapters 1-3


== Day 7: Dataframes and visualization (continued) (May 27) ==
 
== Day 7: Dataframes and visualization (May 27) ==


'''Assignment Due:'''
'''Assignment Due:'''
* Finish Day 6 Coding Challenges
* Finish Day 6 Coding Challenges
* Do the [[Intro_to_Programming_and_Data_Science_(Summer_2020)/Twitter_authentication_setup|Twitter Authentication Setup]]


'''Readings:'''
'''Readings:'''
* Lazer, D., & Radford, J. (2017). Data ex Machina: Introduction to Big Data. Annual Review of Sociology, 43(1), 19–39. https://doi.org/10.1146/annurev-soc-060116-053457
* Lazer, D., & Radford, J. (2017). Data ex Machina: Introduction to Big Data. Annual Review of Sociology, 43(1), 19–39. https://doi.org/10.1146/annurev-soc-060116-053457
** Discussant:
** Discussants: Naomi and Ji-young


'''Agenda:'''
'''Agenda:'''
* Visualizations in Seaborn
* More dataframes + visualization
* [https://github.com/jdfoote/Intro-to-Programming-and-Data-Science/raw/summer2020/day_7/day_7.ipynb Day 7 notebook]
* We will be discussing this data set: https://hub.mph.in.gov/dataset/aries-crash-data-2007-2017/resource/cc90589c-72d8-4d92-a5fe-73254b555c73
* [https://jeremydfoote.com/teaching/2020-summer/intro_to_programming/day_7.html Today's slides]
* [https://jeremydfoote.com/teaching/2020-summer/intro_to_programming/day_7.html Today's slides]


'''Coding challenges:'''
'''Coding challenges:'''
* [[Intro to Programming and Data Science (Summer 2020)/Day 7 Coding Challenges|Day 7 Coding Challenges]]
* [https://github.com/jdfoote/Intro-to-Programming-and-Data-Science/blob/master/resources/exercises/week_7_exercises.ipynb Day 7 Coding Challenges]


== Day 8: Collecting Data with APIs (May 28) ==
 
== Day 8: Dataframes and visualizations (continued) (May 28) ==


'''Assignment Due:'''
'''Assignment Due:'''
* Turn in Day 7 Coding Challenges
* Turn in Day 7 Coding Challenges
* Before class make sure you've installed tweepy ([https://youtu.be/TASX3evcgG4 video instructions)]
 


'''Readings:'''
'''Readings:'''
* Kieran Healy and James Moody (2014). “[https://doi.org/10.1146/annurev-soc-071312-145551 Data Visualization in Sociology].” American Review of Sociology. 40: 105-28.
* Kieran Healy and James Moody (2014). “[https://doi.org/10.1146/annurev-soc-071312-145551 Data Visualization in Sociology].” American Review of Sociology. 40: 105-28.
** Discussant: Jessie
** Discussants: Jessie and Tiwalade


'''Agenda:'''
'''Agenda:'''
* Introduce the [https://2.python-requests.org/en/master/ requests] library
* Introduce the [https://2.python-requests.org/en/master/ requests] library
* Discuss the main kinds of online data gathering: downloading, scraping, and APIs.
* Discuss the main kinds of online data gathering: downloading, scraping, and APIs.
* [https://github.com/jdfoote/Intro-to-Programming-and-Data-Science/raw/summer2020/day_8/day_8.ipynb Intro to APIs Notebook]
* [https://github.com/jdfoote/Intro-to-Programming-and-Data-Science/blob/master/resources/exercises/week_8_intro.ipynb Intro to APIs Notebook]
* [https://jeremydfoote.com/teaching/2020-summer/intro_to_programming/day_8.html Today's slides]
* [https://jeremydfoote.com/teaching/2020-summer/intro_to_programming/day_8.html Today's slides]


'''Coding challenges:'''
'''Coding challenges:'''
* [[Intro to Programming and Data Science (Summer 2020)/Day 8 Coding Challenges|Day 8 Coding Challenges]].
* [[Intro to Programming and Data Science (Summer 2020)/Day 8 Coding Challenges|Day 8 Coding Challenges]].
* (Optional) [https://learn.datacamp.com/courses/introduction-to-data-science-in-python DataCamp: Intro to Data Science] and/or [https://learn.datacamp.com/courses/intermediate-python Intermediate Python]


== Day 9: Collecting Data with APIs (continued) (May 29) ==
 
 
== Day 9: Collecting data with APIs (May 29) ==
 


'''Assignment Due:'''
'''Assignment Due:'''
Line 370: Line 371:
* First [[Self_Assessment_Reflection | self-assessment reflection]] is due (on Brightspace).
* First [[Self_Assessment_Reflection | self-assessment reflection]] is due (on Brightspace).
* Project Planning Document Due
* Project Planning Document Due
 
* Finish API Notebook


'''Readings:'''
'''Readings:'''
* Python for Everybody, Chapter 13
* Python for Everybody, Chapter 13
* Vitak, J., Shilton, K., & Ashktorab, Z. (2016). [https://doi.org/10.1145/2818048.2820078 Beyond the Belmont Principles: Ethical Challenges, Practices, and Beliefs in the Online Data Research Community]. Proceedings of the 19th ACM Conference on Computer-Supported Cooperative Work & Social Computing, 941–953.
* Vitak, J., Shilton, K., & Ashktorab, Z. (2016). [https://doi.org/10.1145/2818048.2820078 Beyond the Belmont Principles: Ethical Challenges, Practices, and Beliefs in the Online Data Research Community]. Proceedings of the 19th ACM Conference on Computer-Supported Cooperative Work & Social Computing, 941–953.
** Discussant: Zhaozhe
** Discussants: Carly and Zhaozhe
* (Optional) Williams, M. L., Burnap, P., & Sloan, L. (2017). [https://doi.org/10.1177/0038038517708140 Towards an Ethical Framework for Publishing Twitter Data in Social Research: Taking into Account Users’ Views, Online Context and Algorithmic Estimation]: Sociology.
* (Optional) Williams, M. L., Burnap, P., & Sloan, L. (2017). [https://doi.org/10.1177/0038038517708140 Towards an Ethical Framework for Publishing Twitter Data in Social Research: Taking into Account Users’ Views, Online Context and Algorithmic Estimation]: Sociology.
* (Optional) Salganik, M. [https://www.bitbybitbook.com/en/1st-ed/ethics/ Ethics] chapter from Bit By Bit.  
* (Optional) Salganik, M. [https://www.bitbybitbook.com/en/1st-ed/ethics/ Ethics] chapter from Bit By Bit.  
Line 382: Line 383:


'''Agenda:'''
'''Agenda:'''
* A workflow for doing work with APIs
* Data cleaning and operationalization
* [https://github.com/jdfoote/Intro-to-Programming-and-Data-Science/raw/summer2020/day_9/day_9.ipynb Day 9 Notebook]
* [https://jeremydfoote.com/teaching/2020-summer/intro_to_programming/day_9.html Today's slides]
* [https://jeremydfoote.com/teaching/2020-summer/intro_to_programming/day_9.html Today's slides]


'''Coding Challenge:'''
* [[Intro to Programming and Data Science (Summer 2020)/Day 9 Coding Challenges|Day 9 Coding Challenges]]
* (Optional) [https://learn.datacamp.com/courses/analyzing-social-media-data-in-python DataCamp: Analyzing Social Media]


== Day 10: Introduction to Computational Text Analysis (June 1) ==
 
== Day 10: Cleaning data and operationalization (June 1) ==


'''Assignment Due:'''
'''Assignment Due:'''
* [[Intro to Programming and Data Science (Summer 2020)/Day 8 Coding Challenges|Day 8 Coding Challenges]]
* [[Intro to Programming and Data Science (Summer 2020)/Twitter Assignment|Twitter API Assignment]]
* [[Intro to Programming and Data Science (Summer 2020)/Day 9 Coding Challenges|Day 9 Coding Challenges]]
* As much of [[Intro to Programming and Data Science (Summer 2020)/Day 8 Coding Challenges|Day 8 Coding Challenges]] as you can get through


'''Readings:'''
'''Readings:'''
* Robert K. Merton. 1948. [https://www-jstor-org.ezproxy.lib.purdue.edu/stable/2087142?sid=primo&origin=crossref&seq=1#metadata_info_tab_contents The Bearing of Empirical Research Upon the Development of Social Theory]. American Sociological Review 13(5): 505-515.
* Christopher A. Bail et al. 2018. [https://doi.org/10.1073/pnas.1804840115 Exposure to opposing views on social media can increase political polarization]. PNAS 115(37): 9216-9221
* Christopher A. Bail et al. 2018. [https://doi.org/10.1073/pnas.1804840115 Exposure to opposing views on social media can increase political polarization]. PNAS 115(37): 9216-9221
** Discussant: Zhaozhe
** Discussants: Zhaozhe and Yihan


'''Agenda:'''
'''Agenda:'''
* [https://github.com/jdfoote/Intro-to-Programming-and-Data-Science/raw/summer2020/day_10/day_10.ipynb Today's Notebook]
* [https://jeremydfoote.com/teaching/2020-summer/intro_to_programming/day_10.html Today's slides]
* [https://jeremydfoote.com/teaching/2020-summer/intro_to_programming/day_10.html Today's slides]


Line 408: Line 406:
* [https://github.com/jdfoote/Intro-to-Programming-and-Data-Science/blob/master/resources/solutions/Twitter_answers.ipynb My answers to the Day 8 problems]
* [https://github.com/jdfoote/Intro-to-Programming-and-Data-Science/blob/master/resources/solutions/Twitter_answers.ipynb My answers to the Day 8 problems]


* Coding Challenges:
* [[Intro_to_Programming_and_Data_Science_(Summer_2020)/Day_10_Coding_Challenges|Day 10 Coding Challenges]]


== Day 11: Data cleaning and operationalization (June 2) ==
== Day 11: Introduction to computational text analysis (June 2) ==


'''Assignment Due:'''
'''Assignment Due:'''
* [[Intro_to_Programming_and_Data_Science_(Summer_2020)/Day_10_Coding_Challenges|Day 10 Coding Challenges]]
* [https://github.com/jdfoote/Intro-to-Programming-and-Data-Science/blob/master/resources/exercises/week_11_challenges.ipynb Day 11 Programming challenges]




'''Readings:'''
'''Readings:'''
* Robert K. Merton. 1948. [https://www-jstor-org.ezproxy.lib.purdue.edu/stable/2087142?sid=primo&origin=crossref&seq=1#metadata_info_tab_contents The Bearing of Empirical Research Upon the Development of Social Theory]. American Sociological Review 13(5): 505-515.
* Sara Klingenstein, Tim Hitchcock, and Simon DeDeo. 2014. [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4084475/ The civilizing process in London’s Old Baily]. Proceedings of the National Academy of Sciences 111(26): 9419-9424.
* Sara Klingenstein, Tim Hitchcock, and Simon DeDeo. 2014. [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4084475/ The civilizing process in London’s Old Baily]. Proceedings of the National Academy of Sciences 111(26): 9419-9424.
** Discussant: Carly
** Discussants: Carly and Vanessa


'''Resources:'''
'''Agenda:'''
* [https://github.com/jdfoote/Intro-to-Programming-and-Data-Science/raw/summer2020/day_11/day_11.ipynb Today's Notebook]
* [https://jeremydfoote.com/teaching/2020-summer/intro_to_programming/day_11.html Today's slides]
* [https://jeremydfoote.com/teaching/2020-summer/intro_to_programming/day_11.html Today's slides]


'''Coding Challenges:'''
* [[Intro_to_Programming_and_Data_Science_(Summer_2020)/Day_11_Coding_Challenges|Day 11 Coding Challenges]]


== Day 12: Organizing and storing computational projects (June 3) ==
== Day 12: Storing code and data (June 3) ==


'''Assignment Due:'''
'''Assignment Due:'''
* Day 11 Coding Challenges
* Put your Twitter project (or your entire course) on Github and email me the URL


'''Readings:'''
'''Readings:'''
* DellaPosta, D., Shi, Y., & Macy, M. (2015). [https://doi.org/10.1086/681254 Why Do Liberals Drink Lattes]? American Journal of Sociology, 120(5), 1473–1511.
* DellaPosta, D., Shi, Y., & Macy, M. (2015). [https://doi.org/10.1086/681254 Why Do Liberals Drink Lattes]? American Journal of Sociology, 120(5), 1473–1511.
** Discussant: Naomi
** Discussants: Naomi and Yihan


'''Agenda:'''
'''Agenda:'''
* Tour of Github
* [https://jeremydfoote.com/teaching/2020-summer/intro_to_programming/day_12.html Today's slides]
* [https://jeremydfoote.com/teaching/2020-summer/intro_to_programming/day_12.html Today's slides]
* [https://youtu.be/-_mjC3lAKL4 Video introducing a way to organize code and data] (from the Spring version of the class)


'''Resources:'''
'''Resources:'''
* [https://www.youtube.com/watch?v=SWYqp7iY_Tc Git & GitHub Crash Course For Beginners] - YouTube video (not by me) introducing Git and Github
* [https://www.youtube.com/watch?v=SWYqp7iY_Tc Git & GitHub Crash Course For Beginners] - YouTube video (not by me) introducing Git and Github
* [https://learngitbranching.js.org/ Interactive git branching tutorial]
* [https://learngitbranching.js.org/ Interactive git branching tutorial]
 
* [https://youtu.be/-_mjC3lAKL4 Data management] - My video
'''Coding Challenge'''
* [[Intro_to_Programming_and_Data_Science_(Summer_2020)/Day_12_Coding_Challenges|Day 12 Coding Challenges]]


== Day 13: Statistical summaries and tests (June 4) ==
== Day 13: Statistical summaries and tests (June 4) ==
Line 454: Line 442:
'''Assignment Due:'''
'''Assignment Due:'''


* [[Intro_to_Programming_and_Data_Science_(Summer_2020)/Day_12_Coding_Challenges|Day 12 Coding Challenges]]
* If you would like, try to apply some statistical tests to your API data
 


'''Readings:'''
'''Readings:'''
* Tan, C. (2018). [https://aaai.org/ocs/index.php/ICWSM/ICWSM18/paper/view/17811 Tracing community genealogy: How new communities emerge from the old]. Proceedings of the Twelfth International Conference on Web and Social Media (ICWSM ’18), 395–404.
* Tan, C. (2018). [https://aaai.org/ocs/index.php/ICWSM/ICWSM18/paper/view/17811 Tracing community genealogy: How new communities emerge from the old]. Proceedings of the Twelfth International Conference on Web and Social Media (ICWSM ’18), 395–404.
** Discussant: Ji-young
** Discussants: Ji-young and Tamara


'''Agenda:'''
'''Agenda:'''
* [https://github.com/jdfoote/Intro-to-Programming-and-Data-Science/raw/summer2020/day_13/day_13.ipynb Day 13 Notebook]
* [https://github.com/jdfoote/Intro-to-Programming-and-Data-Science/blob/master/resources/exercises/week-13-challenges.ipynb Day 13 Notebook]
* [https://youtu.be/j8e8JPWAHr8 Video explanation of notebook from Spring]
* [https://youtu.be/j8e8JPWAHr8 Video explanation of notebook]
* [https://jeremydfoote.com/teaching/2020-summer/intro_to_programming/day_13.html Today's slides]
* [https://jeremydfoote.com/teaching/2020-summer/intro_to_programming/day_13.html Today's slides]
'''Coding Challenges:'''
* [[Intro_to_Programming_and_Data_Science_(Summer_2020)/Day_13_Coding_Challenges|Day 13 Coding Challenges]]


== Day 14: Screen scraping (June 5) ==
== Day 14: Screen scraping (June 5) ==


'''Assignment Due:'''
'''Assignment Due:'''
* [[Intro_to_Programming_and_Data_Science_(Summer_2020)/Day_13_Coding_Challenges|Day 13 Coding Challenges]]
* Response to reading on FlipGrid


'''Readings:'''
'''Readings:'''
* Shaw, A., & Hill, B. M. (2014). [https://doi.org/10.1111/jcom.12082 Laboratories of oligarchy? How the iron law extends to peer production]. Journal of Communication, 64(2), 215–238.
* Shaw, A., & Hill, B. M. (2014). [https://doi.org/10.1111/jcom.12082 Laboratories of oligarchy? How the iron law extends to peer production]. Journal of Communication, 64(2), 215–238.
** Discussant: Yihan
** Discussants: Jessie and Nate
* [https://towardsdatascience.com/ethics-in-web-scraping-b96b18136f01 Ethics in Web Scraping] by James Densmore
* [https://towardsdatascience.com/ethics-in-web-scraping-b96b18136f01 Ethics in Web Scraping] by James Densmore


'''Agenda:'''
'''Agenda:'''
* If you are interested in doing web scraping, then look at this [https://github.com/CU-ITSS/Web-Data-Scraping-S2019 incredible mini-course on the topic]. It is all done with Jupyter Notebooks and you have all of the prerequisite knowledge to understand it.
* If you are interested in doing web scraping, then look at this [https://github.com/CU-ITSS/Web-Data-Scraping-S2019 incredible mini-course on the topic]. It is all done with Jupyter Notebooks and you have all of the prerequisite knowledge to understand it.
* [https://youtu.be/daUuC-PMZc4 Very brief lecture on web scraping from Spring 2020].
* [https://youtu.be/daUuC-PMZc4 Very brief lecture on web scraping].


== Day 15-17: Work on final project (June 8-10) ==
== Day 15-17: Work on final project (June 8-10) ==
Line 487: Line 471:
'''Agenda:'''
'''Agenda:'''
* I will be available to answer questions and provide help
* I will be available to answer questions and provide help
'''Additional Resources:'''
* [https://www.youtube.com/watch?v=K8L6KVGG-7o Regular Expressions]
* [https://www.youtube.com/watch?v=3dt4OGnU5sM List Comprehensions]
* [https://youtu.be/flwcAf1_1RU Network Analysis]
* [https://youtu.be/KBDJhhz4oXA Getting data from Reddit]
* [https://www.youtube.com/watch?v=ZDa-Z5JzLYM Classes and Object-oriented programming] (This is a set of videos)
* [https://bbengfort.github.io/snippets/2018/06/22/corenlp-nltk-parses.html Tutorial on syntax parsing in Python] (It's complicated!)


== Day 18: Final project presentation (June 11) ==
== Day 18: Final project presentation (June 11) ==
Line 515: Line 490:
'''Assignment Due:'''
'''Assignment Due:'''
* Final paper due
* Final paper due
* [[Intro_to_Programming_and_Data_Science_(Summer_2020)/Final_self_reflection|Final self reflection]] due
* Self reflection due


= Administrative Notes =
= Administrative Notes =
Please note that all contributions to CommunityData are considered to be released under the Attribution-Share Alike 3.0 Unported (see CommunityData:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel Editing help (opens in new window)

Template used on this page: