We may earn an affiliate commission when you visit our partners.
Jason Cannon

If you want to learn how to write Python programs like a pro, code python like a boss, solve real-world problems, or automate repetitive and complex tasks, read on.

Hello. My name is Jason Cannon and I'm the author of Python Programming for Beginners, Linux for Beginners, and an instructor to thousands of satisfied students. I started my IT career in the late 1990's as a Unix and Linux System Engineer and I'll be sharing my real-world Python programming and coding experience with you throughout this course.

Read more

If you want to learn how to write Python programs like a pro, code python like a boss, solve real-world problems, or automate repetitive and complex tasks, read on.

Hello. My name is Jason Cannon and I'm the author of Python Programming for Beginners, Linux for Beginners, and an instructor to thousands of satisfied students. I started my IT career in the late 1990's as a Unix and Linux System Engineer and I'll be sharing my real-world Python programming and coding experience with you throughout this course.

By the end of this course you will be able to create Python scripts with ease. You'll learn how to take tedious and repetitious tasks and turn them into programs that will save you time and simplify your life on Linux, Unix, or MAC systems.

Here is what you will get and learn by taking this Python Programming course:

  • When to use Python 2 and when to use Python 3

  • How to install Python on Windows, Mac, and Linux.

  • How to prepare your computer for programming in Python.

  • The various ways to run a Python program on Windows, Mac, and Linux.

  • Suggested text editors and integrated development environments to use when coding in Python.

  • How to work with various data types including strings, lists, tuples, dictionaries, booleans, and more.

  • What variables are and when to use them.

  • How to perform mathematical operations using Python.

  • How to capture input from a user.

  • Ways to control the flow of your programs.

  • The importance of white space in Python.

  • How to organize your Python programs Learn what goes where.

  • What modules are, when you should use them, and how to create your own.

  • How to define and use functions.

  • Important built-in Python functions that you'll use often.

  • How to read from and write to files.

  • The difference between binary and text files.

  • Various ways of getting help and find Python documentation.

  • Practice exercises with solutions so you can start using what you learn right away.

  • A download that contains the scripts used in the presentations and lessons. You'll be able to look at and experiment with everything you're learning.

  • Quizzes after each section just to make sure you're learning the most important aspects of Python programming

  • Unconditional Udemy 30 day money-back guarantee - that's my personal promise of your success.

Learn to Program Using Python 2 and Python 3

In this course you'll learn when to use Python 2 and when to Use Python 3.  The great news is that no matter which version of Python you choose to use, I've got you covered.  I'll show you exactly how to program in both versions.

Perfect for Windows, Linux, Unix, Mac, the Web and More.

Once you've completed this course you'll know how to write programs that will run on the Linux, Mac, and Windows operating systems.  You can even take what you've learned and apply it web applications.

So... what can do with all this Python knowledge?

Python is HOT right now.  The demand in the IT job market for Python skills keeps growing and growing.  If you're looking to get into programming as a career, level-up your existing career or open up new doors in the IT field, you really need to learn Python.

Here's What People Are Saying About Jason and His Courses:

"I started this course and instantly started learning new things, just fantastic." Steven Smith, Udemy student

"The instructor is knowledgeable and delivers the course in a way that's easy to follow...  Clear, concise, and informative." Regena Ingram, Udemy student

"Excellent course on Linux. It is the best way to get started using Linux that I have come across." Chris Bischoff, Udemy student

"This was a great course. Learned a lot from it. " Ricardo José Crosara Junior, Udemy student

"Excellent starter course. Very good and complete guide to get you started on working on Linux." Brian Mulder, Udemy student

"Great course. Easy to understand for beginners and a great refresher for experienced users. " Spencer Ball, Udemy student

"Very well laid out course. Thanks Jason. " Eric Etheredge, Udemy student

"Love it... it's absolutely one of the best courses I've taken here on Udemy." Idriss N, Udemy student

"Awesome Course. Another great one. Thanks Jason. " John Wilmont, Udemy student

"Excellent Course. Having come from a moderate understanding of Linux, this course has given me a deeper and more streamlined understanding of Linux. Definitely worth the money." Armando Cabrera, Udemy student

"Fantastic course and very beautifully explained." S John, Udemy student

"Great course, great instructor. I enjoyed every minute of it. I recommend this course 100%." Alfredo, Udemy student

"I am lovin' it. Nice way to begin one's journey into Linux." Rohit Gupta, Udemy student

Free Bonus - Downloads of All the Material Covered

As an added bonus for enrolling in this Python Programming video training course, you'll receive access to all the slides, Python programs, and source code used in the lessons. You can download them and refer to them when you want to jog your memory or double-check your work.

Enroll now and to learn how to write Python programs like a pro.

Enroll now

Here's a deal for you

We found an offer that may be relevant to this course.
Save money when you learn. All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Learning objective

Write python programs that can be used on linux, mac, and unix operating systems.

Syllabus

Course Overview and Downloads
Course Overview

Download all the source code examples and the solutions to the practice exercises attached to this lecture.

Read more

In this section, you will learn about the list data type in Python. You will learn how to create and manipulate lists, search for items in a list, handle exceptions, extract specific pieces of data using slices, generate series of numbers using ranges, and perform multiple tasks using for and while loops. You will also learn how to create lists, access items by index, modify elements of the list, append, and extend the list, insert element, slice the list, and find an item in the list.

In this section, you will learn how to open and close files, read and write to files, and perform other common operations using file objects.

You will also learn about string methods and how to loop through files one line at a time. Additionally, the section covers file modes, the differences between line endings in Unix and Windows, and how to handle exceptions when working with files.

The section also introduces input and output methods, such as input() and print(), as well as the open() function for opening a file and returning a file object. You will also learn about file position, seek, tell, and closing files using the with open method.

The contents of this lecture are so secret I'm not even allowed to describe it! Open, if you dare.

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Covers installing Python on Windows, Mac, and Linux, which is essential for setting up a development environment on various operating systems
Explores data types including strings, lists, tuples, dictionaries, and booleans, which are fundamental building blocks for programming in Python
Teaches how to automate repetitive tasks, which is a valuable skill for system administrators and developers looking to improve efficiency
Includes practice exercises with solutions, allowing learners to immediately apply what they learn and reinforce their understanding of Python concepts
Discusses both Python 2 and Python 3, but learners should note that Python 2 reached its end-of-life in 2020 and is no longer supported
Explores file handling, including reading and writing to files, which is a core skill for data processing and application development

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Foundational python programming for beginners

According to learners, this course provides a solid and accessible introduction to Python programming, specifically designed for absolute beginners. Many highlight the instructor's ability to explain concepts clearly and concisely, making complex topics understandable. The course covers fundamental programming concepts and essential Python features like data types, control flow, functions, and file handling. Students found the hands-on practice exercises and downloadable code examples particularly helpful for reinforcing learning. While primarily focused on Python 3, it also addresses Python 2 differences. A few reviewers noted that some content or examples might feel slightly less current, but the core principles taught are widely considered relevant and well-taught, offering a strong foundation for further study or practical application, especially for those looking to apply Python skills to scripting and automation.
Core concepts are highly relevant.
"Learned practical skills I can immediately apply."
"The focus on scripting and automation is very useful for my job."
"The core programming principles are explained timelessly and are still relevant."
Practice problems aid understanding.
"The practice exercises were very helpful for cementing what I learned."
"Loved the hands-on coding challenges; they made a big difference."
"Solving the problems after each section really helped me apply the knowledge."
Thorough coverage of core Python concepts.
"Covers all the basic essentials you need to get started with Python."
"Good overview of the fundamental Python syntax, data types, and structures."
"I feel like I have a solid grasp on Python basics after completing this course."
Instructor's teaching style is praised.
"Jason does a fantastic job of explaining the concepts in a clear and concise way."
"The instructor is very knowledgeable and presents the material clearly."
"His explanations are easy to follow, and he moves at a good pace for beginners."
Highly suitable for those starting out.
"This course is fantastic for someone like me who is an absolute beginner in programming."
"Perfect start for anyone who has never coded before. Breaks everything down simply."
"As a complete novice, I found this course incredibly easy to follow and understand."
Certain examples or references are old.
"Some parts felt a little dated, especially regarding Python 2 vs 3, but still relevant."
"While the course is good, a few examples or references could use updating."
"I noticed a couple of things that aren't the most current way of doing things in Python 3."

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 Python for Beginners: Learn Python Programming (Python 3) with these activities:
Review Basic Programming Concepts
Reinforce fundamental programming concepts like variables, data types, and control flow to prepare for Python-specific syntax and features.
Browse courses on Programming Fundamentals
Show steps
  • Review online tutorials on basic programming concepts.
  • Complete practice exercises on variables and data types.
  • Write simple programs using conditional statements and loops.
Help Other Students in Online Forums
Reinforce your understanding by answering questions and providing guidance to other students in online forums related to Python programming.
Show steps
  • Monitor online forums for questions related to Python basics.
  • Provide clear and concise answers to student queries.
  • Share code examples and resources to help students learn.
Review 'Automate the Boring Stuff with Python'
Gain practical experience by working through the examples in 'Automate the Boring Stuff with Python' to solidify your understanding of Python syntax and automation techniques.
Show steps
  • Read the introductory chapters covering Python basics.
  • Work through the examples related to file manipulation and string processing.
  • Attempt the practice projects at the end of each chapter.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Create a Python Cheat Sheet
Consolidate your learning by creating a cheat sheet summarizing key Python syntax, functions, and concepts covered in the course.
Show steps
  • Review the course materials and identify key concepts.
  • Organize the information into a concise and easy-to-read format.
  • Include examples and explanations for each concept.
Build a Simple Text-Based Game
Apply your Python knowledge by creating a text-based game, such as a number guessing game or a simple adventure game, to reinforce your understanding of control flow and user input.
Show steps
  • Design the game's rules and storyline.
  • Implement the game logic using conditional statements and loops.
  • Add user input and output to make the game interactive.
  • Test and debug the game thoroughly.
Solve Python Coding Challenges
Improve your problem-solving skills by tackling coding challenges on platforms like HackerRank or LeetCode, focusing on topics covered in the course.
Show steps
  • Select a coding challenge platform like HackerRank.
  • Choose problems related to strings, lists, and loops.
  • Write and test your solutions, analyzing time and space complexity.
Review 'Python Crash Course'
Expand your knowledge by reading 'Python Crash Course' to gain a broader understanding of Python and its applications.
Show steps
  • Read the chapters covering the basics of Python.
  • Work through the project examples to apply your knowledge.
  • Experiment with the code and modify it to explore different possibilities.

Career center

Learners who complete Python for Beginners: Learn Python Programming (Python 3) will develop knowledge and skills that may be useful to these careers:
Software Developer
A software developer designs, develops, and tests software applications. This Python for Beginners course helps build a foundation for software development by teaching core programming concepts and how to write Python scripts. The course covers essential topics such as data types, variables, control flow, and functions, all of which are key to creating functional software. The skills learned in this course, such as file handling and creating modules, allow a software developer to build more sophisticated applications. This course may be helpful as it provides practical skills to build software.
Automation Engineer
An automation engineer is responsible for creating automated systems and processes. This Python for Beginners course may be helpful as it introduces Python, a popular language for automation, and shows how to write scripts for repetitive tasks. This course teaches you how to create Python programs that automate tasks on various systems like Linux, Mac, and Unix which is very important for automation engineers. The course helps you understand how to control the flow of programs and work with files and modules, thus equipping a potential automation engineer with the necessary skills. The ability to simplify complex tasks with Python is what makes this a good fit.
System Administrator
A system administrator manages computer systems and networks. This Python for Beginners course helps a system administrator to automate tasks and manage systems more efficiently using Python scripts. The course's focus on cross platform compatibility, such as with Linux, Mac and Unix, is essential for a system administrator as they often work with multiple operating systems. Learning how to handle various data types and control program flow provides a system administrator the ability to create custom tools for administration tasks. This course may be useful as it teaches a system administrator to use Python's capabilities to perform tasks efficiently.
Bioinformatician
A bioinformatician analyzes biological data using computational tools. This Python for Beginners course provides the programming skills needed to manipulate biological data. The course teaches how to use different data types, control the flow of programming and create reusable functions. The file handling and module creation skills in this course may be useful to bioinformaticians as they frequently work with large datasets. Python is a prominent language in bioinformatics, making this course a good beginning for a career in the field.
Data Analyst
A data analyst interprets data to create insights that inform business decisions. This Python for Beginners course helps a data analyst use Python for data manipulation and analysis. The course covers data types like lists, tuples, and dictionaries, which are fundamental in handling data. The ability to read and write files, which is covered in this course, allows a data analyst to work with datasets. The Python skills taught in this course, such as working with modules and functions may be useful, allowing a data analyst to process data more effectively.
Web Developer
A web developer builds and maintains websites and web applications. This Python for Beginners course may be useful as it introduces Python programming, a language that can be used in web development to manage server side logic and create dynamic web applications. The course covers fundamental concepts of programming including data types, variables, and functions, necessary for web development. The file handling and module creation taught in this course build a foundation for aspiring web developers. Python is a popular backend language, making this a sensible course for a web developer.
Quality Assurance Engineer
A quality assurance engineer is responsible for testing software to ensure it meets quality standards. This Python for Beginners course helps a quality assurance engineer to automate testing procedures by writing Python scripts. The course introduces concepts such as control flow and exception handling which may be useful to create robust and reliable testing scripts. The ability to create scripts that perform these tests, taught in the course, is highly valuable to a quality assurance engineer. This course may be helpful to introduce the core concepts of scripting.
Technical Support Specialist
A technical support specialist provides assistance to users of computer systems or software. This Python for Beginners course may be helpful for a technical support specialist as it teaches how to write Python scripts. The course provides a foundation in understanding how software works, which can allow a specialist to give better support. The skills to troubleshoot and write simple programs, allows a technical support specialist to help solve user issues. This course may be useful to gain a better understanding of computer systems from a programming perspective.
Research Scientist
A research scientist conducts research in a specific field. This Python for Beginners course helps research scientists use Python for data analysis, statistical modeling, and automation of experiments. The course teaches how to manipulate data using lists, tuples, and dictionaries. Scientists can use the file handling and module creation skills taught in the course to manage and process datasets. The skills taught in this course may be useful for scientists to analyze data efficiently. A background in programming is frequently needed for research.
Database Administrator
A database administrator is responsible for the performance, security, and integrity of databases. This Python for Beginners course may be useful for database administrators to automate database tasks with Python scripting. The course teaches fundamental programming concepts such as data types, variables, and control structures. The course also teaches file handling, which is useful for database management. This course may introduce a useful programming language to an aspiring database administrator.
Game Developer
A game developer creates video games, and knowledge of Python is useful for scripting game logic, creating tools, and automating game development processes. This Python for Beginners course helps establish a foundation in programming, including control flow, data types, and the ability to write modular code using functions. The course also introduces you to file handling and module creation, important skills for working with game assets and libraries. While full game development requires additional skills, this course builds a critical foundation for a game developer, particularly in using Python for development tools, and rapid prototyping.
Financial Analyst
A financial analyst analyzes financial data to advise on investments and financial planning. This Python for Beginners course may be useful to a financial analyst to use Python for data analysis and financial modeling. The course introduces data types, and functions that may be useful to manipulate data and build financial models. The file handling skills taught also may be useful for reading and manipulating financial data. The ability to automate spreadsheet tasks with Python makes this course useful for a financial analyst.
Machine Learning Engineer
A machine learning engineer develops and implements machine learning models. This Python for Beginners course helps a machine learning engineer to understand the basics of programming in Python as Python is a key language in the field. This course introduces data types, control flow and functions that are important to use in machine learning algorithms. The skills in reading and writing files taught in this course also help when dealing with data used in machine learning. While this course does not teach machine learning itself, it helps provide a foundation in Python, a useful tool for machine learning.
Robotics Engineer
A robotics engineer designs, builds, and tests robots. This Python for Beginners course may be useful in learning how to program robots as Python is frequently used in robotics. The course introduces fundamental programming concepts such as data types, variables, and control flow. The course also teaches how to use functions and modules which may be useful for creating reusable code for robot control. This course will introduce key concepts in programming, which a robotics engineer may find useful. Further knowledge of math and physics is also necessary for robotics.
Network Engineer
A network engineer designs, installs, and maintains networks. This Python for Beginners course may be useful to network engineers in automating network tasks and managing network devices. The course introduces programming fundamentals that help network engineers write scripts. The course's file handling and module creation skills are useful for working with configurations. The ability to use scripting is increasingly useful for network engineers, and this course introduces the basics.

Reading list

We've selected two 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 Python for Beginners: Learn Python Programming (Python 3).
Practical guide to using Python for automating everyday tasks. It provides hands-on projects and examples that align well with the course's objective of automating repetitive tasks. It is particularly useful for beginners as it breaks down complex concepts into easy-to-understand steps. This book serves as an excellent companion to the course, offering additional practice and real-world applications.
Provides a fast-paced, thorough introduction to Python. It's designed to get you writing real programs quickly. The first half of the book covers basic programming concepts, while the second half focuses on applying your knowledge to build projects. It great resource for solidifying your understanding of Python and exploring more advanced topics.

Share

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

Similar courses

Similar courses are unavailable at this time. Please try again later.
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 - 2025 OpenCourser