We may earn an affiliate commission when you visit our partners.
Course image
Barbara Ericson

Harness the power of Python and its programming concepts to express yourself and refine all the work you do with this online course from the University of Michigan.

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!

Read more

Harness the power of Python and its programming concepts to express yourself and refine all the work you do with this online course from the University of Michigan.

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!

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.

The creative coding/programming skills that you acquire in this Python course will allow you to design and produce personalized 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.

Enroll now

What's inside

Syllabus

Week 1: Functions and Strings
Week 2: Conditionals and Lists
Week 3: Loops with Lists, Strings, and Conditionals
Read more
Week 4: Lists Tuples and Dictionaries

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Cultivates a strong understanding of data structures through practice and assignments, enabling confident application in real-world tasks
Engages learners with interactive material to reinforce concepts and enhance understanding
Provides immediate feedback, guiding learners' progress and offering valuable insights
Covers essential Python concepts and programming practices
Builds a solid foundation for coding and computer science principles
Provides ample opportunities for learners to practice and apply their knowledge

Save this course

Save Big Ideas in Programming: Expressing Yourself with Python to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Big Ideas in Programming: Expressing Yourself with Python with these activities:
Read 'Python Crash Course'
Introduces readers to the most fundamental concepts of programming. Book offers several projects for practice.
Show steps
  • Read the chapters on variables, data types, and flow control and make a list of the key concepts.
  • Complete the practice exercises at the end of each chapter.
  • Write a simple Python program that demonstrates your understanding of these concepts.
Join a Python Study Group
Enhance your learning through collaboration and discussions with fellow students.
Browse courses on Python
Show steps
  • Find or create a study group with other Python learners.
  • Meet regularly to discuss course concepts, share resources, and work on projects together.
  • Provide feedback, support, and motivation to your group members.
Solve Python Koans
Reinforce your understanding of Python syntax and best practices through interactive exercises.
Browse courses on Python
Show steps
  • Read the instructions for the first koan.
  • Write the code according to the instructions and run it.
  • Reflect on the feedback and revise your code.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Follow Tutorials on Python Libraries
Expand your knowledge and skills by exploring Python libraries and their applications.
Browse courses on Python
Show steps
  • Identify a Python library that aligns with your interests or learning goals.
  • Find online tutorials or documentation for the library.
  • Follow the tutorials, experiment with the library's functions, and build a small project that showcases your understanding.
Participate in Python Coding Competitions
Test your skills, learn from others, and contribute to the Python community.
Browse courses on Python
Show steps
  • Find online coding competitions that focus on Python.
  • Register for the competition and review the rules and guidelines.
  • Develop a strategy and write Python code to solve the competition problems.
Contribute to an Open-Source Python Project
Gain practical experience, learn from experts, and give back to the Python community.
Browse courses on Python
Show steps
  • Find an open-source Python project that aligns with your interests and skills.
  • Review the project's documentation and codebase.
  • Identify an area where you can contribute and write a pull request.
Develop a Python Project
Apply your Python skills to solve a problem or build a tool, enhancing your understanding of the language and its practical applications.
Browse courses on Python
Show steps
  • Identify a problem or idea that you want to solve using Python.
  • Design and plan your project, including the features and functionalities you want to implement.
  • Write and test the Python code for your project.

Career center

Learners who complete Big Ideas in Programming: Expressing Yourself with Python will develop knowledge and skills that may be useful to these careers:
Programmer Analyst
Programmer Analysts take complex information and processes and turn them into useable applications and programs. With this course, you'll learn the core principles of the popular Python language, gaining a strong foundation to succeed as a Programmer Analyst. The course covers a wide array of topics, such as functions, strings, conditionals, loops, tuples, and dictionaries. The course will guide you through engaging assignments and interactive practice, providing immediate feedback to ensure you can use what you learn in real-world situations. If you wish to make an impact through technology, this course will provide the necessary foundation to develop your skills as a Programmer Analyst.
Software Engineer
Software Engineers are responsible for the design, development, and maintenance of software applications. This course will help you build a solid understanding of Python, one of the most in-demand programming languages in the tech industry. Through hands-on coding exercises and engaging assignments, you will master the core concepts of Python, including variables, data structures, and control flow. Whether you're new to programming or looking to enhance your skills, this course will empower you to think like a Software Engineer and contribute to the development of innovative software solutions.
Data Analyst
Data Analysts play a crucial role in transforming raw data into actionable insights. With this course, you'll gain a solid foundation in Python, a key tool for data analysis and manipulation. You will explore essential data structures like lists, tuples, and dictionaries, equipping you with the skills to handle and analyze large datasets efficiently. The course's focus on creative coding will also empower you to visualize and present data in compelling ways, enabling you to communicate insights effectively and drive informed decision-making.
Web Developer
Web Developers bring websites and web applications to life. This course will introduce you to the fundamentals of Python, a versatile language widely used in web development. By mastering Python's core concepts, you'll gain a strong understanding of programming logic and data structures. The course's emphasis on creative coding will inspire you to explore the possibilities of web development and build dynamic, user-friendly web experiences.
Computer Programmer
Computer Programmers are the backbone of the digital world, transforming ideas into working software solutions. This course will provide you with a comprehensive introduction to Python, a powerful and versatile programming language. You'll gain a thorough understanding of variables, loops, strings, conditionals, and functions, equipping you with the skills to develop efficient and effective programs. The course's emphasis on creative coding will foster your problem-solving abilities and inspire you to create innovative software solutions.
Data Scientist
Data Scientists combine programming skills with statistical knowledge to extract meaningful insights from data. This course will introduce you to Python, a popular language in data science. You will learn how to use Python's powerful libraries for data manipulation, analysis, and visualization. The course's emphasis on creative coding will empower you to explore and present data in compelling ways, enabling you to communicate insights effectively and drive informed decision-making.
Database Administrator
Database Administrators ensure the smooth functioning and security of databases. This course will provide you with a solid foundation in Python, a versatile language used in database management. You'll learn how to use Python to interact with databases, perform data manipulation tasks, and write efficient queries. The course's focus on creative coding will inspire you to explore innovative approaches to database management and develop effective solutions for data storage and retrieval.
Systems Analyst
Systems Analysts bridge the gap between business needs and technical solutions. This course will introduce you to Python, a powerful language used in systems analysis. You will learn how to use Python to analyze and design systems, create prototypes, and develop documentation. The course's emphasis on creative coding will foster your problem-solving abilities and inspire you to develop innovative solutions for complex business challenges.
Information Security Analyst
Information Security Analysts protect computer systems and networks from unauthorized access and cyber threats. This course will provide you with a foundation in Python, a language commonly used in cybersecurity. You will learn how to use Python to analyze security vulnerabilities, develop security measures, and respond to cyber incidents. The course's focus on creative coding will empower you to think like a hacker and develop innovative solutions for protecting sensitive data and systems.
Quality Assurance Analyst
Quality Assurance Analysts ensure that software products meet quality standards. This course will introduce you to Python, a popular language used in software testing. You will learn how to use Python to write test cases, automate testing processes, and analyze test results. The course's emphasis on creative coding will inspire you to explore innovative approaches to software testing and develop эффективными testing strategies.
Business Analyst
Business Analysts bridge the gap between business and IT, translating business requirements into technical specifications. This course will introduce you to Python, a versatile language used in business analysis. You will learn how to use Python to analyze business processes, create data models, and develop prototypes. The course's emphasis on creative coding will foster your problem-solving abilities and inspire you to develop innovative solutions for complex business challenges.
Technical Writer
Technical Writers create user manuals, documentation, and other materials to explain complex technical concepts. This course will introduce you to Python, a versatile language used in technical writing. You will learn how to use Python to generate documentation, create interactive tutorials, and write clear and concise technical content. The course's emphasis on creative coding will inspire you to explore innovative approaches to technical writing and develop engaging and informative documentation.
Network Administrator
Network Administrators maintain and manage computer networks. This course will provide you with a foundation in Python, a language commonly used in network administration. You will learn how to use Python to configure and troubleshoot networks, monitor network traffic, and secure network systems. The course's focus on creative coding will empower you to develop innovative solutions for managing and optimizing network performance.
Project Manager
Project Managers plan, execute, and close projects. This course will introduce you to Python, a versatile language used in project management. You will learn how to use Python to create project plans, track project progress, and manage project resources. The course's emphasis on creative coding will inspire you to explore innovative approaches to project management and develop effective strategies for delivering successful projects.
Data Entry Clerk
Data Entry Clerks input data into computer systems. While this course may not be directly relevant to the role of a Data Entry Clerk, the skills you will learn in Python, such as data manipulation and organization, can be beneficial in any role that involves working with data. By understanding the basics of Python, you can develop a strong foundation for working with data, exploring data-driven insights, and contributing to efficient data management practices within your organization.

Reading list

We've selected 13 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Big Ideas in Programming: Expressing Yourself with Python.
This classic textbook provides a comprehensive introduction to the art of programming. While it is not specific to Python, it covers fundamental programming concepts that are applicable to any programming language, and is highly recommended for experienced programmers who want to deepen their understanding of the craft.
Deep dive into the Python programming language, covering advanced topics such as decorators, metaclasses, and generators. It's a great resource for experienced Python programmers who want to improve their understanding of the language.
Provides practical advice on how to write better Python code. It covers topics such as code readability, performance optimization, and error handling, and is suitable for both beginners and experienced Python programmers.
This textbook focuses on data structures and algorithms, using Python as a teaching tool. It covers topics such as linked lists, trees, graphs, and sorting algorithms, and is suitable for students with some programming experience.
This textbook provides a comprehensive introduction to computer science using Python as a teaching tool. It covers topics such as data structures, algorithms, and object-oriented programming, and is suitable for both beginners and more experienced students.
Provides a broad overview of Python programming, covering topics such as variables, data types, control flow, functions, and object-oriented programming. While it is not specifically focused on creative coding or the "big ideas" of programming, it great resource for building a strong foundation in Python.
Provides a comprehensive introduction to data analysis using Python. It covers topics such as data cleaning, data exploration, and data visualization, and is suitable for students with some programming experience.
Introduces the fundamentals of artificial intelligence, using Python as a teaching tool. It covers topics such as machine learning, natural language processing, and computer vision, and is suitable for students with some programming experience.
Introduces the fundamentals of deep learning, using Python as a teaching tool. It covers topics such as convolutional neural networks, recurrent neural networks, and generative adversarial networks, and is suitable for students with some programming experience.
Fast-paced introduction to Python programming, covering topics such as data types, control flow, functions, and object-oriented programming. It's a great choice for beginners who want to quickly get up and running with Python.
Is designed for beginners with little to no programming experience. It covers topics such as variables, data types, control flow, and functions, and provides a gentle introduction to Python programming.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Big Ideas in Programming: Expressing Yourself with Python.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser