Python Functions, Files, and Dictionaries (Coursera)

Python Functions, Files, and Dictionaries (Coursera)

This course introduces the dictionary data structure and user-defined functions. You’ll learn about local and global variables, optional and keyword parameter-passing, named functions and lambda expressions. You’ll also learn about Python’s sorted function and how to control the order in which it sorts by passing in another function as an input.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

For your final project, you’ll read in simulated social media data from a file, compute sentiment scores, and write out .csv files. It covers chapters 10-16 of the textbook “Fundamentals of Python Programming,” which is the accompanying text (optional and free) for this course.
The course is well-suited for you if you have already taken the "Python Basics" course and want to gain further fundamental knowledge of the Python language. Together, both courses are geared towards newcomers to Python programming, those who need a refresher on Python basics, or those who may have had some exposure to Python programming but want a more in-depth exposition and vocabulary for describing and reasoning about programs.
Course 2 of 5 in the Python 3 Programming Specialization.

Syllabus

WEEK 1
Files and CSV Output
In week one the video lectures and the Runestone textbook will introduce you to the idea of incorporating files into your programs as an additional source of data. You will learn how to read from a file, write to a file, and how to work with the .csv data format.

WEEK 2
Dictionaries and Dictionary Accumulation
In week two the video lectures and the Runestone textbook will focus on a new data type, dictionaries. You will be introduced to the mechanics of dictionaries and then get practice using them in accumulation patterns, both to build a dictionary using the pattern as well as find the best, or worst, result using the pattern.

WEEK 3
Functions and Tuples
In week three you will be introduced to the construction of functions. Up to this point, you have used functions in the programs before, but have not had a chance to write your own functions, including how to define a function, how to incorporate parameters, how to return data from a function, the local or global scope of variables, and potential side effects that could occur from function execution. Finally, we look at tuples more in depth, and how automatic packing and unpacking of tuples can be used in functions and in for loops.

WEEK 4
More Iteration and Advanced Functions
In week four the video lectures and the Runestone textbook will outline a more advanced iteration mechanism, the while loop. You will be introduced to using it when getting feedback from users, as well as applying it to the turtle module to draw images. Additionally, you will also be exposed to more advanced function concepts such as the idea of parameters being optional, not required, and anonymous functions using lambda.

WEEK 5
Sorting
In week five the videos and Runestone textbook will detail how to sort python objects - both the basics and more advanced forms of sorting for dictionaries and how to break a tie (if that occurs). The final course assessment will be a project that asks you to read fake, auto-generated data from a social media site to analyze social media post sentiments. You will submit a csv file as well as images of graphs that demonstrate your findings.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Functional Program Design in Scala (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Functional Program Design in Scala (Coursera)

In this course you will learn how to apply the functional programming style in the design of larger applications. You'll get to know important new functional programming concepts, from lazy evaluation to structuring your libraries using monads. We'll work on larger and more involved examples, from state space exploration to random testing to discrete circuit simulators. You’ll also learn some best practices on how to write good Scala code in the real world.

Jun 22nd 2026
5-12 Weeks
Python for Data Science, AI & Development (Coursera) Coursera
IBM

Python for Data Science, AI & Development (Coursera)

Kickstart your learning of Python for data science, as well as programming in general, with this beginner-friendly introduction to Python. Python is one of the world’s most popular programming languages, and there has never been greater demand for professionals with the ability to apply Python fundamentals to drive business solutions across industries.

Jun 23rd 2026
5-12 Weeks
Machine Learning: Regression (Coursera) Coursera
University of Washington

Machine Learning: Regression (Coursera)

Case Study - Predicting Housing Prices. In our first case study, predicting house prices, you will create models that predict a continuous value (price) from input features (square footage, number of bedrooms and bathrooms,...). This is just one of the many places where regression can be applied. Other applications range from predicting health outcomes in medicine, stock prices in finance, and power usage in high-performance computing, to analyzing which regulators are important for gene expression.

Jun 22nd 2026
5-12 Weeks
Introduction to HTML5 (Coursera) Coursera
University of Michigan

Introduction to HTML5 (Coursera)

Thanks to a growing number of software programs, it seems as if anyone can make a webpage. But what if you actually want to understand how the page was created? There are great textbooks and online resources for learning web design, but most of those resources require some background knowledge. This course is designed to help the novice who wants to gain confidence and knowledge. We will explore the theory (what actually happens when you click on a link on a webpage?), the practical (what do I need to know to make my own page?), and the overlooked (I have a page, what do I do now?).

Jun 22nd 2026
3 Weeks
Cloud Computing Concepts, Part 1 (Coursera) Coursera
University of Illinois at Urbana-Champaign

Cloud Computing Concepts, Part 1 (Coursera)

Cloud computing systems today, whether open-source or used inside companies, are built using a common set of core techniques, algorithms, and design philosophies—all centered around distributed systems. Learn about such fundamental distributed computing "concepts" for cloud computing. Some of these concepts include: clouds, MapReduce, key-value/NoSQL stores, classical distributed algorithms, widely-used distributed algorithms, scalability, trending areas, and much, much more!

Jun 22nd 2026
5-12 Weeks
How To Create a Website in a Weekend! (Project-Centered Course) (Coursera) Coursera
The State University of New York

How To Create a Website in a Weekend! (Project-Centered Course) (Coursera)

In this project-centered course*, you’ll design, build, and publish a basic website that incorporates text, sound, images, hyperlinks, plug-ins, and social media interactivity. We’ll provide you with step-by-step instructions, exercises, tips, and tools that enable you to set up a domain name, create an attractive layout for your pages, organize your content properly, ensure that your site functions well across different operating systems and on mobile devices, keep your site safe, and finally, let people know your site is online. We’ll even show you how to track your visitors.

Jun 22nd 2026
3 Weeks
Fundamentos de Android (Coursera) Coursera
Universidad Nacional Autónoma de México

Fundamentos de Android (Coursera)

Por medio de ejercicios prácticos, serás capaz de manipular las herramientas que Android te ofrece para desarrollar aplicaciones móviles. En este curso, instalarás el entorno de desarrollo Android Studio y manipularás sus más sofisticadas particularidades. Por ejemplo, la composición de archivos de un proyecto Android y los patrones más comunes para el desarrollo de tus aplicaciones.

Jun 22nd 2026
5-12 Weeks
TDD - Desenvolvimento de Software Guiado por Testes (Coursera) Coursera
Instituto Tecnológico de Aeronáutica

TDD - Desenvolvimento de Software Guiado por Testes (Coursera)

Neste curso, assumimos que você já sabe projetar e desenvolver programas mais complexos em Java, com método e organização graças às boas práticas e princípios exercitados no curso anterior; mas você talvez não se sinta ainda confortável em projetar programas usando técnicas ágeis, como o desenvolvimento guiado por testes (TDD).

Jun 22nd 2026
4 Weeks