Editing Intro to Programming and Data Science (Fall 2022)

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 57: Line 57:


# Although details on this syllabus will change, I will not change readings or assignments less than three days before they are due. If you plan to read more than three days ahead, contact me first.
# Although details on this syllabus will change, I will not change readings or assignments less than three days before they are due. If you plan to read more than three days ahead, contact me first.
# Check your email. Because this a wiki, you will be able to track every change by clicking the ''history'' button on this page. I will also summarize these changes in a announcements that will be sent via Brightspace email.
# Closely monitor Discord. Because this a wiki, you will be able to track every change by clicking the ''history'' button on this page. I will also summarize these changes in a announcements that will be posted in the #announcements channel on Discord.
# I will ask the class for voluntary anonymous feedback frequently. Please let me know what is working and what can be improved.
# I will ask the class for voluntary anonymous feedback frequently. Please let me know what is working and what can be improved.


Line 64: Line 64:
Our class time will follow the "flipped" classroom model. I will provide asynchronous materials (readings, recorded lectures, assignments, etc.) which you will work on before class and we will use our class time to review concepts, identify confusion, and synthesize.
Our class time will follow the "flipped" classroom model. I will provide asynchronous materials (readings, recorded lectures, assignments, etc.) which you will work on before class and we will use our class time to review concepts, identify confusion, and synthesize.


The class sessions will typically follow the same format.  
The class sessions will typically follow the same format. First, we will discuss the reading for the day, with discussions generally led by a student. We will then have a discussion about the concepts that are still confusing. Next, we will go over the homework questions followed by optional co-working time to start on the next assignment.
 
On Tuesdays, we will review the Coding Challenges that were due. Those who were assigned will explain how they solved (or didn't solve!) each problem.
 
On Thursdays, we will begin by discussing the reading for the day, with discussions generally led by a student. We will then have a discussion about the concepts that are still confusing. Next, we will have by optional co-working time to start on the next assignment.


I try to make the classes useful and to tailor them to the needs of the students, and I highly encourage you to attend as many of our sessions as possible. My teaching style is very conversational and relies on students being willing to speak up to express confusion, seek clarification, or make a well-informed point, so please participate!
I try to make the classes useful and to tailor them to the needs of the students, and I highly encourage you to attend as many of our sessions as possible. My teaching style is very conversational and relies on students being willing to speak up to express confusion, seek clarification, or make a well-informed point, so please participate!
Line 234: Line 230:
* Fill out this [https://docs.google.com/forms/d/e/1FAIpQLSfUiGogs2jDXIHaXz1ooVBZFkRF2NdMaf00IgZvk7f69rby9w/viewform?usp=sf_link short survey]
* Fill out this [https://docs.google.com/forms/d/e/1FAIpQLSfUiGogs2jDXIHaXz1ooVBZFkRF2NdMaf00IgZvk7f69rby9w/viewform?usp=sf_link short survey]
* Sign up to be a discussant [https://docs.google.com/spreadsheets/d/1uSo-Ya5DghaLu1BYk94EVU2kBVmExRWwOa1586GbFUU/edit?usp=sharing here]
* Sign up to be a discussant [https://docs.google.com/spreadsheets/d/1uSo-Ya5DghaLu1BYk94EVU2kBVmExRWwOa1586GbFUU/edit?usp=sharing here]
* [[/Discord Signup|Sign up for Discord]] and introduce yourself
* [[/Week_2_Coding_Challenges|Week 2 Coding Challenge]] (turn in on Brightspace)
* [[/Week_2_Coding_Challenges|Week 2 Coding Challenge]] (turn in on Brightspace)


Line 240: Line 237:
* Python for Everybody, chapters 1-4
* Python for Everybody, chapters 1-4
* [https://jeremydfoote.com/Intro-to-Programming-and-Data-Science/day_2/day_2.ipynb Today's Jupyter Notebook] (Right-click, save, and open in Jupyter)
* [https://jeremydfoote.com/Intro-to-Programming-and-Data-Science/day_2/day_2.ipynb Today's Jupyter Notebook] (Right-click, save, and open in Jupyter)
** [https://purdue.brightspace.com/d2l/le/content/598734/viewContent/10014636/View Notebook walkthrough]
** [https://purdue.brightspace.com/d2l/le/content/335095/viewContent/6819498/View Notebook walkthrough]


'''Agenda:'''
'''Agenda:'''
Line 257: Line 254:
  chapters_to_read = [5, 6, 8]
  chapters_to_read = [5, 6, 8]
* [https://jeremydfoote.com/Intro-to-Programming-and-Data-Science/day_3/day_3.ipynb Today's Jupyter Notebook]
* [https://jeremydfoote.com/Intro-to-Programming-and-Data-Science/day_3/day_3.ipynb Today's Jupyter Notebook]
** [https://purdue.brightspace.com/d2l/le/content/598734/viewContent/10014637/View Notebook walkthrough]
** [https://purdue.brightspace.com/d2l/le/content/335095/viewContent/6819499/View Notebook walkthrough]
* 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: Christina
** Discussant:  


'''Agenda:'''
'''Agenda:'''
Line 278: Line 275:
  book.close()
  book.close()
* [https://jeremydfoote.com/Intro-to-Programming-and-Data-Science/day_4/day_4.ipynb Today's Jupyter Notebook]
* [https://jeremydfoote.com/Intro-to-Programming-and-Data-Science/day_4/day_4.ipynb Today's Jupyter Notebook]
** [https://purdue.brightspace.com/d2l/le/content/598734/viewContent/10014638/View Notebook walkthrough]
** [https://purdue.brightspace.com/d2l/le/content/335095/viewContent/6819500/View Notebook walkthrough]
* 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: Chiara
** Discussant: Elizabeth


'''Agenda:'''
'''Agenda:'''
Line 295: Line 292:
* Python for Everybody, chapters 9 and 10
* Python for Everybody, chapters 9 and 10
* [https://jeremydfoote.com/Intro-to-Programming-and-Data-Science/day_5/day_5.ipynb Today's Jupyter Notebook]
* [https://jeremydfoote.com/Intro-to-Programming-and-Data-Science/day_5/day_5.ipynb Today's Jupyter Notebook]
** [https://purdue.brightspace.com/d2l/le/content/598734/viewContent/10014639/View Video walkthrough]
** [https://purdue.brightspace.com/d2l/le/content/335095/viewContent/6819501/View Video walkthrough]
* 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: Alisa
** Discussant:  


'''Agenda:'''
'''Agenda:'''
Line 307: Line 304:


'''Readings:'''
'''Readings:'''
* Shen, C., Monge, P., & Williams, D. (2014). [https://libkey.io/libraries/228/articles/5013123/full-text-file Virtual brokerage and closure: Network structure and social capital in a massively multiplayer online game]. Communication Research. 41(4): 459–480.
* Shen, C., Monge, P., & Williams, D. (2014). [https://libkey.io/libraries/228/articles/5013123/full-text-file Virtual brokerage and closure: Network structure and soci8al capital in a massively multiplayer online game]. Communication Research. 41(4): 459–480.
Discussant: Ajay
 


== Week 6: Dataframes and Visualization (October 4) ==
== Week 6: Dataframes and Visualization (October 4) ==
Line 317: Line 314:
'''Readings:'''
'''Readings:'''
* [https://jeremydfoote.com/Intro-to-Programming-and-Data-Science/day_6/day_6.ipynb Week 6 notebook]
* [https://jeremydfoote.com/Intro-to-Programming-and-Data-Science/day_6/day_6.ipynb Week 6 notebook]
** [https://purdue.brightspace.com/d2l/le/content/598734/viewContent/10014640/View Notebook walkthrough]
** [https://purdue.brightspace.com/d2l/le/content/335095/viewContent/6819502/View Notebook walkthrough]
* Shaw, A., & Hill, B. M. (2014). Laboratories of oligarchy? How the iron law extends to peer production. Journal of Communication, 64(2), 215–238. https://doi.org/10.1111/jcom.12082
* Shaw, A., & Hill, B. M. (2014). Laboratories of oligarchy? How the iron law extends to peer production. Journal of Communication, 64(2), 215–238. https://doi.org/10.1111/jcom.12082
Discussants: Miriam




Line 335: Line 331:
'''Readings:'''
'''Readings:'''
* [https://jeremydfoote.com/Intro-to-Programming-and-Data-Science/day_7/day_7.ipynb Week 7 notebook]
* [https://jeremydfoote.com/Intro-to-Programming-and-Data-Science/day_7/day_7.ipynb Week 7 notebook]
** [https://purdue.brightspace.com/d2l/le/content/598734/viewContent/10014641/View Notebook walkthrough]
** [https://purdue.brightspace.com/d2l/le/content/335095/viewContent/6819503/View Notebook walkthrough]
* Lazer, D., & Radford, J. (2017). [https://doi.org/10.1146/annurev-soc-060116-053457 Data ex Machina: Introduction to Big Data]. Annual Review of Sociology, 43(1), 19–39.
* Lazer, D., & Radford, J. (2017). [https://doi.org/10.1146/annurev-soc-060116-053457 Data ex Machina: Introduction to Big Data]. Annual Review of Sociology, 43(1), 19–39.
** Discussant: Paxton and Luhao
** Discussant: Elizabeth




Line 354: Line 350:
'''Readings:'''
'''Readings:'''
* [https://jeremydfoote.com/Intro-to-Programming-and-Data-Science/day_8/day_8.ipynb Intro to APIs Notebook]
* [https://jeremydfoote.com/Intro-to-Programming-and-Data-Science/day_8/day_8.ipynb Intro to APIs Notebook]
** (Long) [https://purdue.brightspace.com/d2l/le/content/598734/viewContent/10014642/View walkthrough of notebook]
** (Long) [https://purdue.brightspace.com/d2l/le/content/335095/viewContent/6819504/View walkthrough of notebook]
* [https://jeremydfoote.com/Intro-to-Programming-and-Data-Science/extra_topics/twitter_v2_example.ipynb Twitter V2 Academic API Notebook]
** [https://www.youtube.com/watch?v=rQEsIs9LERM&lc=UgzEMuqQB8UpkOQr0Hd4AaABAg Video walkthrough]
* 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: Keqin
** Discussant:


'''Agenda:'''
'''Agenda:'''
Line 374: Line 368:
'''Readings:'''
'''Readings:'''
* [https://jeremydfoote.com/Intro-to-Programming-and-Data-Science/day_9/day_9.ipynb Week 9 Notebook]
* [https://jeremydfoote.com/Intro-to-Programming-and-Data-Science/day_9/day_9.ipynb Week 9 Notebook]
** [https://purdue.brightspace.com/d2l/le/content/598734/viewContent/10014643/View Notebook walkthrough]
** [https://purdue.brightspace.com/d2l/le/content/335095/viewContent/6819505/View Notebook walkthrough]
* 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.
** Discussant:  Diane


* 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
* (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.
** Discussant: Ryan
* (Optional) Salganik, M. [https://www.bitbybitbook.com/en/1st-ed/ethics/ Ethics] chapter from Bit By Bit.
* (Optional) Crawford, K., & Finn, M. (2015). [https://doi.org/10.1007/s10708-014-9597-z The limits of crisis data: Analytical and ethical challenges of using social and mobile data to understand disasters]. GeoJournal, 80(4), 491–502.


* 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.
Line 397: Line 394:
'''Readings:'''
'''Readings:'''
* [https://jeremydfoote.com/Intro-to-Programming-and-Data-Science/day_10/day_10.ipynb Today's Notebook]
* [https://jeremydfoote.com/Intro-to-Programming-and-Data-Science/day_10/day_10.ipynb Today's Notebook]
** [https://purdue.brightspace.com/d2l/le/content/598734/viewContent/10014644/View Notebook walkthrough]
** [https://purdue.brightspace.com/d2l/le/content/335095/viewContent/6819506/View Notebook walkthrough]
* 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.
* 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: Diane


'''Agenda:'''
'''Agenda:'''
Line 415: Line 413:
'''Readings:'''
'''Readings:'''
* [https://jeremydfoote.com/Intro-to-Programming-and-Data-Science/day_11/day_11.ipynb Today's Notebook]
* [https://jeremydfoote.com/Intro-to-Programming-and-Data-Science/day_11/day_11.ipynb Today's Notebook]
** [https://purdue.brightspace.com/d2l/le/content/598734/viewContent/10014645/View Notebook walkthrough]
** [https://purdue.brightspace.com/d2l/le/content/335095/viewContent/6819507/View Notebook walkthrough]
* 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.
* 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.
* 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.
* 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: Dyuti and Bakhti
** Discussant:  
 


'''Resources:'''
'''Resources:'''
Line 433: Line 430:
* [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]
* 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.
* 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: Woojin
** Discussant:
 


'''Agenda:'''
'''Agenda:'''
Line 444: Line 440:
'''Resources:'''
'''Resources:'''


 
== Week 13: Statistical summaries and tests (November 29) ==
'''NO CLASS ON NOVEMBER 18'''
* I will show up in the classroom if people want to have a co-working session / ask questions.
 
 
== Week 13: Statistics and Statistical Programming (November 22)


'''Assignment Due:'''
'''Assignment Due:'''
Line 455: Line 446:




 
'''Readings:'''
* [https://jeremydfoote.com/Intro-to-Programming-and-Data-Science/day_13/day_13.ipynb Week 13 Notebook]
* [https://jeremydfoote.com/Intro-to-Programming-and-Data-Science/day_13/day_13.ipynb Week 13 Notebook]
** [https://purdue.brightspace.com/d2l/le/content/598734/viewContent/10014646/View Notebook walkthrough]
** [https://purdue.brightspace.com/d2l/le/content/335095/viewContent/6819508/View Notebook walkthrough]
* 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: Sandra


'''Agenda:'''
'''Agenda:'''
* [https://jeremydfoote.com/Intro-to-Programming-and-Data-Science/day_13/lecture/day_13.html Today's slides]
* [https://jeremydfoote.com/Intro-to-Programming-and-Data-Science/day_13/lecture/day_13.html Today's slides]


== Week 14: Ethics of Online Research (November 29) ==
'''Readings:'''
* 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.
* (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) Crawford, K., & Finn, M. (2015). [https://doi.org/10.1007/s10708-014-9597-z The limits of crisis data: Analytical and ethical challenges of using social and mobile data to understand disasters]. GeoJournal, 80(4), 491–502.
Dec 1
'''Reading:'''
* Field, A., Kliger, D., Wintner, S., Pan, J., Jurafsky, D., & Tsvetkov, Y. (2018). [https://doi.org/10.18653/v1/D18-1393 Framing and Agenda-setting in Russian News: A Computational Analysis of Intricate Political Strategies]. Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, 3570–3580.
Discussant: Angela


== Week 15: Final Project Presentation (December 6) ==
== Week 15: Final Project Presentation (December 6) ==
Line 506: Line 482:


* [https://youtu.be/rQEsIs9LERM Using Tweepy to do full historical search on Twitter]
* [https://youtu.be/rQEsIs9LERM Using Tweepy to do full historical search on Twitter]
* [https://github.com/CU-ITSS/Web-Data-Scraping-S2019 Mini course on screen scraping]
* [https://www.youtube.com/watch?v=K8L6KVGG-7o Regular Expressions]
* [https://www.youtube.com/watch?v=K8L6KVGG-7o Regular Expressions]
* [https://www.youtube.com/watch?v=3dt4OGnU5sM List Comprehensions]
* [https://www.youtube.com/watch?v=3dt4OGnU5sM List Comprehensions]
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: