Not logged in
Talk
Contributions
Create account
Log in
Navigation
Main page
About
People
Publications
Teaching
Resources
Research Blog
Wiki Functions
Recent changes
Help
Licensing
Page
Discussion
Edit
View history
Editing
Intro to Programming and Data Science (Summer 2020)
(section)
From CommunityData
Jump to:
navigation
,
search
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.
Anti-spam check. Do
not
fill this in!
= Schedule = '''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: Introduction to Python and Computational Thinking (May 18) == '''Assignment Due:''' * None '''Required Readings:''' * [https://www.youtube.com/watch?v=HW29067qVWk Intro to Jupyter Notebooks video] '''Agenda:''' * Class overview and expectations β We'll walk through this syllabus. * [[Intro_to_Programming_and_Data_Science_(Summer_2020)/Day_1_Coding_Challenge| Day 1 Coding challenge]] - Includes installing Python and going through a number of exercises. * [https://jeremydfoote.com/teaching/2020-summer/intro_to_programming/day_1.html Today's slides] '''By the end of class you will:''' * Have a working python environment on your personal laptop. * Have written your first program in the python language. == Day 2: Variables, conditionals, and functions (May 19) == '''Assignment Due:''' * Finish Day 1 exercises and tutorials * 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] (Make sure to sign up for '''2''' readings) '''Readings (before class):''' * Python for Everybody, chapters 1-4 * Bit By bit, [https://www.bitbybitbook.com/en/1st-ed/introduction/ Introduction] '''Agenda:''' * Variables, conditionals, functions * [https://jeremydfoote.com/teaching/2020-summer/intro_to_programming/day_2.html Today's slides] '''Code 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) == '''Assignment Due:''' * Final project dataset and 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) '''Readings:''' * Python for Everybody 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. ** Discussant: Tamara '''Agenda:''' * Programming principles (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 * Introduce wordplay project * [https://jeremydfoote.com/teaching/2020-summer/intro_to_programming/day_3.html Today's slides] '''Coding Challenge''' * [[Intro to Programming and Data Science (Summer 2020)/Day 3 Coding Challenges|Day 3 Coding Challenges]] * (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) == '''Assignment Due:''' * [[Intro to Programming and Data Science (Summer 2020)/Day 3 Coding Challenges|Day 3 Coding Challenges]] '''Readings:''' book = open('Python for Everybody', 'r') for chapter in book: 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. ** Discussant: Tiwalade '''Agenda:''' * 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] '''Coding Challenge:''' * [[Intro to Programming and Data Science (Summer 2020)/Day 4 Coding Challenges|Day 4 Coding Challenges]] == Day 5: Dictionaries and Tuples (May 22) == '''Assignment Due:''' * [[Intro to Programming and Data Science (Summer 2020)/Day 4 Coding Challenges|Day 4 Coding Challenges]] '''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. ** Discussant: Vanessa '''Agenda:''' * Dictionaries * 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] '''Coding challenge:''' * [[Intro to Programming and Data Science (Summer 2020)/Day 5 Coding Challenges|Day 5 Coding Challenges]] == Day 6: Dataframes and Visualization (May 26) == '''Assignment Due:''' * Turn in (on Brightspace) your solutions to the Day 5 coding challenges '''Readings:''' * 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 '''Agenda:''' * 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] '''Coding challenges:''' * [[Intro to Programming and Data Science (Summer 2020)/Day 6 Coding Challenges|Day 6 Coding Challenges]] * (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) == '''Assignment Due:''' * Finish Day 6 Coding Challenges * Do the [[Intro_to_Programming_and_Data_Science_(Summer_2020)/Twitter_authentication_setup|Twitter Authentication Setup]] '''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 ** Discussant: '''Agenda:''' * Visualizations in Seaborn * [https://github.com/jdfoote/Intro-to-Programming-and-Data-Science/raw/summer2020/day_7/day_7.ipynb Day 7 notebook] * [https://jeremydfoote.com/teaching/2020-summer/intro_to_programming/day_7.html Today's slides] '''Coding challenges:''' * [[Intro to Programming and Data Science (Summer 2020)/Day 7 Coding Challenges|Day 7 Coding Challenges]] == Day 8: Collecting Data with APIs (May 28) == '''Assignment Due:''' * Turn in Day 7 Coding Challenges * Before class make sure you've installed tweepy ([https://youtu.be/TASX3evcgG4 video instructions)] '''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. ** Discussant: Jessie '''Agenda:''' * Introduce the [https://2.python-requests.org/en/master/ requests] library * 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://jeremydfoote.com/teaching/2020-summer/intro_to_programming/day_8.html Today's slides] '''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) == '''Assignment Due:''' * First [[Self_Assessment_Reflection | self-assessment reflection]] is due (on Brightspace). * Project Planning Document Due '''Readings:''' * 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: 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) 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. '''Agenda:''' * A workflow for doing work with APIs * [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] '''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) == '''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)/Day 9 Coding Challenges|Day 9 Coding Challenges]] '''Readings:''' * 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 '''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] '''Resources:''' * [https://youtu.be/FhxZdc1OaNU Two videos of me clumsily solving 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) == '''Assignment Due:''' * [[Intro_to_Programming_and_Data_Science_(Summer_2020)/Day_10_Coding_Challenges|Day 10 Coding Challenges]] '''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. ** Discussant: Carly '''Resources:''' * [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] '''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) == '''Assignment Due:''' * Day 11 Coding Challenges '''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. ** Discussant: Naomi '''Agenda:''' * Tour of Github * [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:''' * [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] '''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) == '''Assignment Due:''' * [[Intro_to_Programming_and_Data_Science_(Summer_2020)/Day_12_Coding_Challenges|Day 12 Coding Challenges]] '''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. ** Discussant: Ji-young '''Agenda:''' * [https://github.com/jdfoote/Intro-to-Programming-and-Data-Science/raw/summer2020/day_13/day_13.ipynb Day 13 Notebook] * [https://youtu.be/j8e8JPWAHr8 Video explanation of notebook from Spring] * [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) == '''Assignment Due:''' * [[Intro_to_Programming_and_Data_Science_(Summer_2020)/Day_13_Coding_Challenges|Day 13 Coding Challenges]] '''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. ** Discussant: Yihan * [https://towardsdatascience.com/ethics-in-web-scraping-b96b18136f01 Ethics in Web Scraping] by James Densmore '''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. * [https://youtu.be/daUuC-PMZc4 Very brief lecture on web scraping from Spring 2020]. == Day 15-17: Work on final project (June 8-10) == '''Agenda:''' * 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) == '''Assignment Due:''' * Final project presentations * Prepare a presentation and post it on Brightspace '''Readings:''' * NONE '''Agenda:''' * We will listen to and respond to each other's projects == Day 19: Final Paper Due (June 12) == '''Assignment Due:''' * Final paper due * [[Intro_to_Programming_and_Data_Science_(Summer_2020)/Final_self_reflection|Final self reflection]] due
Summary:
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)
Tools
What links here
Related changes
Special pages
Page information