Data Collection and Processing with Python
This course introduces the basics of Python 3, including conditional execution and iteration as control structures, and strings and lists as data structures. Course outline and certification by University of Michigan
Certification offered by
The mission of the University of Michigan is to serve the people of Michigan and the world through preeminence in creating, communicating, preserving and applying knowledge, art, and academic values, and in developing leaders and citizens who will challenge the present and enrich the future.
Key Points About This Course
Duration: 3 Days
Public Class Fee: RM 3,500
Virtual Class Fee: RM 2,975
This course teaches you to fetch and process data from services on the Internet. It covers Python list comprehensions and provides opportunities to practice extracting from and processing deeply nested data. You’ll also learn how to use the Python requests module to interact with REST APIs and what to look for in documentation of those APIs.
The course is well-suited for you if you have already taken the “Python Basics” and “Python Functions, Files, and Dictionaries” courses (courses 1 and 2 of the Python 3 Programming Specialization). If you are already familiar with Python fundamentals but want practice at retrieving and processing complex nested data from Internet services, you can also benefit from this course without taking the previous two.
Part 1: Nested Data and Nested Iteration
In part one the video lectures and activities from the Runestone textbook will cover more complex data structures. By the end of this week, you will have learned how to process json formatted data, traverse nested data using nested iteration, and extract values from nested data.
- Nested Data
- Nested Lists
- Nested Dictionaries
- JSON Format and the JSON Module
- Processing JSON Results
- Nested Iteration
- Structuring Nested Data
- Shallow Copies
- Deep Copies
- Extracting from Nested Data
- A Worked Example of Nested Iteration
Part 2: Map, Filter, and List Comprehensions
In part two you will be learning more advanced forms of accumulation. By the end of the part, you will have learned how to use the map and filter functions in combination with functions to transform or filter out data and store the resulting data in a new object. You will have also learned how to accumulate data using a list comprehension.
Part 3: Internet APIs
In part three you will learn how to request data from the internet using Application Programming Interfaces (APIs). By the end of the week, you will have learned how to access data from a few APIs, cache data that you have requested, and also learned how to read and work with other APIs that were not touched on in the module.
- REST APIs
- URLs, Domain Names, and IP Addresses
- HTTP: Behind the Scenes
- URL Query Parameters
- REST API URLs
- The requests Module
- Using REST APIs
- Generating URLs with requests.get
- Reading API Documentation: Datamuse
- Debugging Calls to requests.get
- Caching Response Content
- The requests_with_caching Module
- Practice with REST APIs
- iTunes API
- flickr API
Part 4: Sequence Mutation and Accumulation Patterns
We will present deeper knowledge on using lists, strings, and python objects in general. We will also cover how to use the accumulation pattern with lists and with strings. The final assignment will test your knowledge and skills through application, much like previous assessments and assignments did, though with a more difficult set of tasks now that you have learned the basics.
- Transforming Sequences
- List Element Deletion
- Objects and References
- Methods on Lists
- Append vs. Concatenate
- Non-Mutating Methods on Strings
- String Format Method
- The Accumulator Pattern with Lists
- The Accumulator Pattern with Strings
- Accumulator Pattern Strategies
- Don’t Mutate A List That You Are Iterating Through