Data and Design with Python

LMTH 2075: Spring 2018

Fridays 12:10 - 2:45

65 West 11th St, Room 458

Overview

This course covers some introductory ideas for data acquisition, analysis, and deployment on the web using the Python computer language. We cover basic data analysis and visualization, web scraping and crawling, some natural language processing and text analysis, web applications with Django, and game design with PyGame. By the end, students should feel comfortable pursuing further advanced work with Python and design.

Course Requirements

  • Participation/Attendance 20%
  • Lab Projects 80%

Course Materials

All available online through our github repository at https://github.com/jfkoehler/data-design/. This will be updated weekly as we move through our weeks together.

Also, you are to download and install Anaconda, making sure that you are able to run Jupyter notebooks on your computer. We will install additional software as we go.

Learning Outcomes

  1. Use Python to perform basic data analysis
  2. Use Matplotlib and Seaborn to visualize data
  3. Use webscraping to access numerical and textual information
  4. Use NLTK to investigate the text of scraped documents
  5. Scrape multiple sites using a web crawlers and spiders
  6. Deploy basic website and applications with Django

Resources

The university provides many resources to help students achieve academic and artistic excellence. These resources include: - University Libraries: http://library.newschool.edu - University Learning Center: http://www.newschool.edu/learning-center - University Disabilities Service: www.newschool.edu/student-disability-services/ In keeping with the university’s policy of providing equal access for students with disabilities, any student with a disability who needs academic accommodations is welcome to meet with me privately. All conversations will be kept confidential. Students requesting any accommodations will also need to contact Student Disability Service (SDS). SDS will conduct an intake and, if appropriate, the Director will provide an academic accommodation notification letter for you to bring to me. At that point, I will review the letter with you and discuss these accommodations in relation to this course. Student Ombuds: http://www.newschool.edu/intercultural-support/ombuds/ The Student Ombuds office provides students assistance in resolving conflicts, disputes or complaints on an informal basis. This office is independent, neutral, and confidential.

University Policies

University, College/School, and Program Policies [Faculty must include policies on academic honesty and attendance, as well as any required college/program policies]

Academic Honesty and Integrity Compromising your academic integrity may lead to serious consequences, including (but not limited to) one or more of the following: failure of the assignment, failure of the course, academic warning, disciplinary probation, suspension from the university, or dismissal from the university.

Students are responsible for understanding the University’s policy on academic honesty and integrity and must make use of proper citations of sources for writing papers, creating, presenting, and performing their work, taking examinations, and doing research. It is the responsibility of students to learn the procedures specific to their discipline for correctly and appropriately differentiating their own work from that of others. The full text of the policy, including adjudication procedures, is found at http://www.newschool.edu/policies/

Resources regarding what plagiarism is and how to avoid it can be found on the Learning Center’s website: http://www.newschool.edu/university-learning-center/avoiding-plagiarism.pdf [Additional college-specific standards for what constitutes academic dishonesty may be included here.]

Intellectual Property Rights: http://www.newschool.edu/provost/accreditation-policies/ Grade Policies: http://www.newschool.edu/registrar/academic-policies/

Attendance

“Absences may justify some grade reduction and a total of four absences mandate a reduction of one letter grade for the course. More than four absences mandate a failing grade for the course, unless there are extenuating circumstances, such as the following: an extended illness requiring hospitalization or visit to a physician (with documentation); a family emergency, e.g. serious illness (with written explanation); observance of a religious holiday.

The attendance and lateness policies are enforced as of the first day of classes for all registered students. If registered during the first week of the add/drop period, the student is responsible for any missed assignments and coursework.

For significant lateness, the instructor may consider the tardiness as an absence for the day. Students failing a course due to attendance should consult with an academic advisor to discuss options. Divisional and/or departmental/program policies serve as minimal guidelines, but policies may contain additional elements determined by the faculty member.”

Student Course Ratings

During the last two weeks of the semester, students are asked to provide feedback for each of their courses through an online survey. They cannot view grades until providing feedback or officially declining to do so. Course evaluations are a vital space where students can speak about the learning experience. It is an important process which provides valuable data about the successful delivery and support of a course or topic to both the faculty and administrators. Instructors rely on course rating surveys for feedback on the course and teaching methods, so they can understand what aspects of the class are most successful in teaching students, and what aspects might be improved or changed in future. Without this information, it can be difficult for an instructor to reflect upon and improve teaching methods and course design. In addition, program/department chairs and other administrators review course surveys. Instructions are available online at http://www.newschool.edu/provost/course-evaluations-student-instructions.pdf.

Workshop Outline

  1. Data Analysis and Visualization with Pandas and Seaborn.
  • Basic Overview of Python for Data Analysis and Visualization
  • Access and investigate data from the World Bank using API
  1. Data Acquisition and Web Scraping.
    • How to access and structure data from the web
    • Scrape and structure data from web sources
    • Introduce basic NLP tasks (tokenize, frequency distributions, stop word removal)
  2. Natural Language Processing and Social Media Analysis with NLTK.
    • Use scraping knowledge to pull and structure text from web
    • Use additional Natural Language Processing techniques to investigate text from scraped sites
  3. Web Application Development with Django
    • Basic Web Design Overview
    • Web Applications with DJango
  4. Game Design with PyGame
    • Motion and Movement
    • Basic Games with PyGame