• University of Michigan logo

Big Ideas in Programming: Expressing Yourself with Python

Harness the power of Python and its programming concepts to express yourself and automate the work you do.

1,231 enrolled on this course

A group of cartoon people assembling a pink and blue lightbulb with a yellow background.
  • Duration

    4 weeks
  • Weekly study

    4 hours

Learn the Python basics you need to create the content and projects you want

Coding and programming allow better work performance, across diverse professions. If you want to discuss ideas with programming professionals or develop the code yourself, you need to know the basics.

Python is a powerful programming language, and mastering Python basics is the ideal way to understand and use programming concepts. With this exceptional four-week course from the University of Michigan, you can get started on doing just that.

Harness Python programming’s big ideas

The big ideas in programming are the building blocks that allow you to create large, interesting, and useful programs. Mastering these programming concepts (variables, loops, strings, conditionals, and functions) and data structures (lists, tuples, and dictionaries) in Python will allow you to really express yourself in the digital space.

Develop a wide array of Python skills

The creative coding/programming skills that you acquire in this Python course will allow you to design and produce personalised stories, filter and transform data, use code visualisers, generate art, predict program output, and write better code that works smarter, not harder.

You can expect plenty of interactive practice, engaging assignments, and immediate feedback. This allows you to check your understanding at every step of the way, giving you the chance to really develop your confidence and skill.

The best way to learn Python

Convened by Barbara Ericson, Assistant Professor in the University of Michigan’s School of Information, this course is the ideal way to master Python basics. With her expertise and innovative ideas, you’ll enjoy the learning experience as much as you benefit from it.

Syllabus

  • Week 1

    Functions and Strings

    • Introduction to the Course

      Welcome to the course! In this section, you’ll get an overview of major course concepts, and you’ll get information on the course, on how to take the course, and on guidelines for the course.

    • Working in Groups

      In this activity, you will learn about the benefits and mechanisms of working in groups.

    • How to Use the Ebook

      In this activity, you will learn how to use the ebook.

    • Introduction to Week 1

      Welcome to week 1! In this section, you’ll get an overview of what will be covered in the first week, and you’ll be introduced to Python. Additionally, you’ll be able to introduce yourself and where you are located in the world.

    • Functions

      In this activity, you’ll learn about the code visualizer (CodeLens), integer and floating point division, and the modulo/remainder operator.

    • Functions Practice

      In this activity, you’ll get lots of practice with functions.

    • Strings

      In this activity, you’ll learn about strings, the string strip methods, how to slice strings, and how to concatenate a string and a number using the built-in str() function.

    • Strings Practice

      In this activity, you’ll get lots of practice with strings.

    • Assignment 1 | Personalized Story

      For assignment 1, you’ll utilize your creativity and your newfound knowledge to create your own personalized story using functions (including the input() function), variables, strings, print statements, and function calls.

    • End of Week Reflections

      Now that you’re officially a week into this Python course, how do you feel about programming? Are there some things that you are worried about? Take a moment to reflect on some of your fears regarding textual programming.

  • Week 2

    Conditionals and Lists

    • Introduction to Week 2

      Welcome to week 2! In this activity, you’ll get an overview of what will be covered in the second week, and you’ll be introduced to conditional statements.

    • Conditionals

      In this activity, you’ll learn about conditionals, how to test all conditions, how to return the result from a Boolean expression, and how to use complex conditionals.

    • Conditionals Practice

      In this activity, you’ll get lots of practice with conditionals.

    • Lists

      In this activity, you’ll get an overview of lists, and you’ll watch a video on how to solve the function first_half.

    • Lists Practice

      In this activity, you’ll get lots of practice with lists.

    • Assignment 2 | Choose Your Adventure Decision Tree

      For assignment 2, you’ll use your creativity and your knowledge on functions (including the input() function), variables, strings, print statements, function calls, and conditionals to create a choose your adventure decision tree.

    • End of Week Reflections

      Many professionals continue to have syntax errors. Now that you’re two weeks into this Python course, how do you feel when you have syntax errors? It is important to understand that having syntax errors is completely normal.

  • Week 3

    Loops with Lists, Strings, and Conditionals

    • Introduction to Week 3

      Welcome to week 3! In this section, you’ll get an overview on what will be covered in the third week, and you’ll be introduced to loops and lists.

    • Loops

      In this activity, you’ll learn about various kinds of loops, primarily for loops and while loops. You will learn how to iterate through the loops and when to stop.

    • Loops Practice

      In this activity, you’ll get lots of practice with loops.

    • Loops with Lists, Strings, and Conditionals

      In this activity, you’ll learn about incorporating lists into loops and you’ll watch some videos on solving various functions such as count_odd and sum67.

    • Loops, Lists, and Conditionals Practice

      In this activity, you’ll get lots of practice with loops and lists.

    • Assignment 3 | Creating ASCII Art

      In assignment 3, you’ll have the opportunity to create some art! Using loops and characters from the ascii table, you will get practice with loops, functions, function calls, strings, and print statements, to make ASCII art.

    • End of Week Reflections

      It is often challenging to find a starting point to debug code. Now that you’re three weeks into this Python course, how do you get started after finding an error in your code? Reflect upon your thoughts on “how to get unstuck.”

  • Week 4

    Lists, Tuples, and Dictionaries

    • Introduction to Week 4

      Welcome to week 4! In this section, you’ll get an overview on what will be covered in the fourth week, and you’ll be introduced to tuples and dictionaries.

    • Tuples and Dictionaries

      In this activity, you’ll learn about tuples and dictionaries and how they are used together and separately.

    • Lists, Tuples, and Dictionaries Practice

      In this activity, you’ll get lots of practice with tuples and dictionaries.

    • Sorting

      In this activity, you’ll learn about the various ways to sort dictionaries and built-in functions that can make using tuples and dictionaries very useful.

    • Sorting Practice

      In this activity, you’ll get lots of practice with sorting dictionaries.

    • Assignment 4 | Encrypt and Decrypt a Message

      For assignment 4, you’ll learn how to encrypt and decrypt messages and get lots of practice using tuples, dictionaries, lists, loops, conditional statements, functions and function calls.

    • End of Week Reflections

      Coding takes time and practice. At times, you may feel overwhelmed with the amount of things to learn. Now that you’ve finished the fourth week in this python course, reflect upon what you’ve learned and how to stay motivated.

    • End of Course

      Congratulations on finishing this course on expressing yourself in Python! There was a lot of information in this course, so at this point, you should reflect upon what you learned and what questions you still have!

Learning on this course

On every step of the course you can meet other learners, share your ideas and join in with active discussions in the comments.

What will you achieve?

By the end of the course, you‘ll be able to...

  • Apply programming concepts to be expressive, such as creating a choose your own adventure story
  • Filter and transform data using the basic data structures in Python, such as removing words with less than three characters from a list
  • Experiment with the power of Python to accomplish more work with less code, such as using list comprehensions to sum only the even values in a list
  • Explore using a code visualizer to help them understand exactly what happens when code executes

Who is the course for?

This course is designed for anyone interested in learning Python. Whether you want to discuss programming with other professionals, teaching others to code or use the language to do your own creative coding, this is the Python course for you!

Who will you learn with?

I am an Assistant Professor in the School of Information at the University of Michigan. I study how to improve both computing education and the diversity of students in computing.

Who developed the course?

University of Michigan

As the #1 public research university in the United States, U-M has been a leader in research, learning, and teaching for more than 200 years, with 102 Grad programs in the top 10 — U.S. News & World Report (2019).

  • Established

    1817
  • Location

    Ann Arbor, Michigan, USA
  • World ranking

    Top 30Source: Times Higher Education World University Rankings 2020

Learning on FutureLearn

Your learning, your rules

  • Courses are split into weeks, activities, and steps to help you keep track of your learning
  • Learn through a mix of bite-sized videos, long- and short-form articles, audio, and practical activities
  • Stay motivated by using the Progress page to keep track of your step completion and assessment scores

Join a global classroom

  • Experience the power of social learning, and get inspired by an international network of learners
  • Share ideas with your peers and course educators on every step of the course
  • Join the conversation by reading, @ing, liking, bookmarking, and replying to comments from others

Map your progress

  • As you work through the course, use notifications and the Progress page to guide your learning
  • Whenever you’re ready, mark each step as complete, you’re in control
  • Complete 90% of course steps and all of the assessments to earn your certificate

Want to know more about learning on FutureLearn? Using FutureLearn

Do you know someone who'd love this course? Tell them about it...