We may earn an affiliate commission when you visit our partners.
Derek Banas

What You'll Learn

Read more

What You'll Learn

  • Learn the Core Python 3 Language at a Deep Level

  • Learn how to Solve Real Programming Problems with a Focus on Teaching Problem Solving Skills

  • Understand Python as an Object Oriented and Functional Programming Language

  • Create GUI Applications using TkInter, Kivy and soon PyQt

  • Create Applications that Utilize Databases

  • We will Expand into Algorithms, Django, Flask and Machine Learning

  • A Living Breathing Course that will Grow with You

  • Instructor has 26 Years of Professional Experience and a Decade of Experience Making Educational Videos

Course Focused on Teaching How to Solve Problems

Do you want to develop the skills required to solve real world programming problems? This course will turn you into a real Python programmer that has a complete understanding of everything Python can do.

Most tutorials are just video versions of cheat sheets. This course is different. It teaches you how to solve problems like you will have to do in the real world. It does that by making you solve ever increasingly complex problems.

Don’t worry. I will be there to help along the way. I work through the solutions and also provide heavily commented code and quizzes that will turn you into a Python Master.

This course provides numerous problems followed their solutions while teaching the core language through database, GUI and soon web development.

Start Slow and Aim to Learn Everything

We start by installing Python on Windows and MacOS. The core language will then be taught. Between each main lesson I’ll break down the solutions through diagrams.

This is a living breathing tutorial. I’ll be adding more on Algorithms, Data Structures, PyQt, Django, Flask, Data Analysis, Scikit-learn, TensorFlow and More.

You will get lifetime access to this growing course along with all the heavily commented code, quizzes.

This course comes with a 30 day money back guarantee. If you are not completely satisfied you get your money back.

You’re ready to become a Python Master and this course will get you there. Learn to solve real problems and advance your career to the next level. I’ll be there to help for each step.

Enroll now

What's inside

Learning objective

A complete understanding of python and related technologies with a focus on problem solving

Syllabus

Introduction

I provide a complete overview of everything that will be covered in this course.

Your Instructor

In this video I cover all of the resources I provide for each part of this course. The goal is to maximize your learning experience. I also cover how to use the Udemy tools and outside resources for getting questions answered and fixing typos.

Read more

We'll cover how Python was created and why it is widely considered to be the best programming language

You'll be able to install Python 3 and PyCharm on Windows and MacOS

In this video I'll show you how to install Python 3 and PyCharm on Windows 10. The version of PyCharm I'm using is the free Community addition. You don't need to use PyCharm with this tutorial. It is just the IDE I choose to use.

In this video I'll show you how to install Python 3 and PyCharm on MacOS. The version of PyCharm I'm using is the free Community addition. You don't need to use PyCharm with this tutorial. It is just the IDE I choose to use.

You'll learn about variables, data types, escape sequences, dynamic typing, comments, casting, and more

You'll learn about variables, data types, escape sequences, dynamic typing, casting, comments, type, and more.

Answer these questions to enforce what you learned

Hello You
Casting and Adding
We'll cover receiving user input, mathematical operators, format, math module and numerous math functions

We'll cover receiving user input, mathematical operators, format, the math module, and numerous math functions

Use to enforce everything you learned

User Interaction
Converting from Miles to Kilometers
We'll cover conditional / logical operators, if, elif, else, ternary operators and more

We'll cover conditional / logical operators, if, elif, else, ternary operators and more

Answer these questions to enforce what you've learned

Determine School Grade
We'll cover multiple for loops, range, modulus, format, order of operations, and provide problems for you to solve

We'll cover multiple for loops, range, modulus, format, order of operations, and provide problems for you to solve

More String Functions
Print 2 through 5
Print Odds up to 20
We'll cover the while loop, random, randrange, break, continue, range, and we'll solve some problems

We'll cover the while loop, random, randrange, break, continue, range, and we'll solve some problems

Print a Christmas Tree
We'll cover how to avoid program crashes through the use of exception handling. I'll also cover a more accurate float option and have you solve more problems.
Exception Handling & Accurate Floats
We'll cover strings, numerous string functions, slice, unicode, math shortcuts and multiple problems for you to solve

We'll cover strings, numerous string functions, slice, unicode, math shortcuts and multiple problems for you to solve

Take this quiz to enforce what you've learned

We'll cover most every string function you'll ever need. We'll solve multiple problems including one on encryption.

We'll cover most every string function you'll ever need. We'll solve multiple problems including one on encryption.

You'll learn about functions, local / global variables, exceptions, and solve some problems

You'll learn about functions, local / global variables, exceptions, and solve some problems

Solve these problems to enforce what you've learned

Solving Equations with a Function
You'll learn about receiving / returning multiple values, work with primes, route to functions, and more

You'll learn about receiving / returning multiple values, work with primes, route to functions, and more

Solve these problems to enforce what you have learned

Print Primes
We'll cover lists, list functions, generating random ranges, the Bubble Sort and problems for you to solve

We'll cover lists, list functions, generating random ranges, the Bubble Sort and problems for you to solve

List Functions
e’ll cover List Comprehensions, Multidimensional Lists and you’ll have to solve another problem.

We’ll cover List Comprehensions, Multidimensional Lists and you’ll have to solve another problem.

Create an Even List
You'll learn about dictionaries, dictionary functions, and learn through solving problems

You'll learn about dictionaries, dictionary functions, and learn through solving problems

Dictionary Functions
We'll cover recursive functions, calculating factorials, Fibonacci numbers / sequence and more

We'll cover recursive functions, calculating factorials, Fibonacci numbers / sequence and more

Calculate a Factorial
We'll cover how to write to files, read files in whole and by line. We'll also solve some problems and cover tuples

We'll cover how to write to files, read files in whole and by line. We'll also solve some problems and cover tuples

I’ll teach you how object oriented programming works with Python

I’ll teach you how object oriented programming works with Python

Take this quiz to enforce what you have learned

We will have some fun with Object Oriented Programming, while simulating a fight

We will have some fun with Object Oriented Programming, while simulating a fight

I’ll cover Inheritance, Operator Overloading, and Polymorphism

I’ll cover Inheritance, Operator Overloading, and Polymorphism

I'll cover how magic methods can be used to enhance your custom objects

I'll cover how magic methods can be used to enhance your custom objects

I’ll cover static methods, static variables, how to make your own modules and import

I’ll cover static methods, static variables, how to make your own modules and import

I’ll show you how to create custom exceptions, finally and else

I’ll show you how to create custom exceptions, finally and else

I’ll explore how we can treat functions as objects and function annotations

I’ll explore how we can treat functions as objects and function annotations

Generate a List of Odds
We cover anonymous functions, lambda, map, filter, reduce and 2 new problems

We cover anonymous functions, lambda, map, filter, reduce and 2 new problems

Using Map
Using Filter
Using Reduce
I’ll cover iterables and show how you can add iterable behaviors to your classes using magic methods

I’ll cover iterables and show how you can add iterable behaviors to your classes using magic methods

Take this to enforce what you have learned

I’ll cover list comprehensions, generator functions, and generator expressions

I’ll cover list comprehensions, generator functions, and generator expressions

We'll cover subclassing and synchronizing threads

We'll cover subclassing and synchronizing threads

I'll introduce you to regular expressions in part 1 of a 5 part series on mastering regular expressions

I introduce Regular Expressions in part 1 of a 5 part series on using regular expressions with Python.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Provides a comprehensive overview of Python, starting with installation and progressing to more advanced topics like object-oriented programming and regular expressions, which is great for beginners
Covers GUI application development using TkInter and Kivy, which are valuable skills for building desktop applications and user interfaces, and will soon expand to PyQt
Will expand into algorithms, Django, Flask and Machine Learning, providing a pathway for learners interested in web development, data analysis, and machine learning applications
Emphasizes problem-solving through numerous exercises and heavily commented code, which reinforces learning and develops practical skills, and is ideal for hands-on learners
Focuses on the core Python 3 language, ensuring learners are equipped with the most up-to-date knowledge and skills, and is relevant to modern software development practices
Requires students to install Python 3 and PyCharm, which may pose a barrier for students with limited access to technology or those who prefer other IDEs

Save this course

Save Python Programming Bootcamp 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 Python Programming Bootcamp with these activities:
Review Basic Programming Concepts
Reviewing fundamental programming concepts will provide a solid foundation for understanding Python's syntax and structure.
Browse courses on Variables
Show steps
  • Read introductory materials on variables and data types.
  • Practice writing simple programs using operators and control flow.
  • Review the concept of functions and their usage.
Review "Python Crash Course"
Reading "Python Crash Course" will provide a practical and hands-on introduction to Python programming.
Show steps
  • Read the introductory chapters covering basic Python syntax and data structures.
  • Work through the example projects to apply your knowledge.
  • Experiment with modifying the projects to explore different functionalities.
Solve CodingBat Problems
Practicing coding problems on CodingBat will reinforce your understanding of Python syntax and problem-solving skills.
Show steps
  • Visit the CodingBat website and select the Python section.
  • Solve a variety of problems from different categories, such as string manipulation and logic.
  • Focus on problems that challenge your understanding of loops, conditionals, and functions.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Build a Simple Calculator
Building a calculator will allow you to apply your knowledge of user input, mathematical operations, and conditional statements.
Show steps
  • Design the user interface for the calculator.
  • Implement functions for basic arithmetic operations.
  • Handle user input and perform calculations based on the input.
  • Display the results to the user.
Create a Python Cheat Sheet
Creating a cheat sheet will help you consolidate your knowledge of Python syntax and commonly used functions.
Show steps
  • Compile a list of essential Python syntax elements.
  • Include examples of commonly used functions and methods.
  • Organize the cheat sheet for easy reference.
Contribute to a Python Project on GitHub
Contributing to an open-source project will provide valuable experience in collaborative coding and working with real-world codebases.
Show steps
  • Find a Python project on GitHub that interests you.
  • Read the project's contribution guidelines.
  • Identify a bug or feature to work on.
  • Submit a pull request with your changes.
Review "Automate the Boring Stuff with Python"
Reading "Automate the Boring Stuff with Python" will expose you to practical applications of Python and inspire you to automate your own tasks.
Show steps
  • Read chapters related to automating tasks such as web scraping or file manipulation.
  • Try implementing the examples provided in the book.
  • Adapt the examples to automate your own repetitive tasks.

Career center

Learners who complete Python Programming Bootcamp will develop knowledge and skills that may be useful to these careers:
Python Developer
A Python Developer's primary focus is on building and maintaining applications using the Python programming language. This course is tailor made for aspiring Python developers as it provides an in depth understanding of the Python language, starting from the basics to more complex topics like object oriented and functional programming. The course is designed around practical problem solving and includes development of graphical user interface applications, along with database interaction. It also introduces algorithms, which further prepares one to become a successful Python Developer. The inclusion of Django and Flask also helps one to start learning web development with Python.
Software Developer
A Software Developer designs, develops, and tests software applications. This course directly aligns with the core responsibilities of a software developer by providing a comprehensive understanding of Python, a widely used programming language in software development. The course's emphasis on problem-solving and teaching object oriented programming methodology through hands on exercises directly translate to the development process. This course's coverage of core programming techniques, working with data structures, file operations, and functional programming principles helps build a strong foundation for a software developer. The practice of solving increasingly complex problems in Python enables a learner to confidently approach the challenges in software creation.
Application Developer
An Application Developer creates and maintains software applications for various platforms, such as desktop, mobile, and web. This course is valuable for an application developer as it provides a comprehensive understanding of Python, a versatile programming language used for building diverse applications. The course's focus on GUI development using TkInter and Kivy and the use of databases will be beneficial to a future application developer. The learning of object oriented and functional programming directly translates to the various coding styles expected of an application developer. The problem solving focus of this course is helpful because it prepares a developer to handle complex coding tasks in a work environment.
Web Developer
A Web Developer creates and maintains websites and web applications. This course offers an introduction to the fundamentals of Python programming which is a cornerstone for web development. This course will expand to include technologies related to server side web development with Django and Flask. Web Developers also use databases, a topic that this course explores in depth. This course will help a future web developer learn to think like a programmer through solving increasingly complex problems. The foundational knowledge of Python from this course helps one to branch out into web development technologies for the future.
Backend Developer
A Backend Developer focuses on the server side logic and databases that power web applications. This course is a great introduction to the fundamentals of Python programming, which is a popular choice for backend development. This course expands into technologies like Django and Flask which are important for this role. This course dives into database programming, which is a core responsibility of a backend developer. The focus on problem solving in this course will serve a future backend developer well. This course may be useful for a backend developer.
Automation Engineer
An Automation Engineer designs and develops automated systems. This course provides a strong foundation in Python, a language often used in automation scripts and software development. This course's focus on problem solving is helpful for an automation engineer. This course introduces concepts of object oriented programming which will be useful to an automation engineer. This course includes database usage and file handling, all of which may be beneficial to an automation engineer. As this course expands to cover more advanced topics, it may be useful to an automation engineer, especially in the fields of machine learning and algorithms.
Game Developer
A Game Developer is involved in creating video games. While the course does not directly cover game engine technologies, it is a strong introduction to the fundamentals of Python programming which can be used in many parts of the game development pipeline. This course emphasizes object oriented and functional programming which are helpful for game development. This course also teaches data structures and algorithms which may be useful to a game developer. Problem solving skills taught in this course will prove valuable for a game developer, as game development is complex. This course may be useful for a game developer.
DevOps Engineer
A DevOps Engineer works to automate software development and deployment processes. This course is helpful for a DevOps Engineer, as Python is a common language for automation and scripting. The course's focus on problem-solving helps one to develop the logical thinking needed in software automation. The course covers fundamentals of programming, and file operations. The course may expand to include machine learning, which may be useful in the field of DevOps. This course may be useful for a DevOps engineer.
Quality Assurance Engineer
A Quality Assurance Engineer is responsible for testing and ensuring the quality of software. This course is useful for a QA engineer, as Python might be used to write automated tests. The course's focus on core python programming principles is helpful. The course teaches file operations, exception handling, and object oriented programming, which may be relevant to the work of a QA engineer. The problem solving focused nature of the course is helpful for debugging and testing. This course may be useful for a QA engineer.
Mobile Application Developer
A Mobile Application Developer creates and maintains mobile applications for platforms like iOS and Android. While this course does not focus specifically on mobile app development, the fundamentals of programming Python are applicable. The course teaches object oriented and functional programming, which are helpful to a mobile application developer. This course introduces graphical user interfaces with TkInter and Kivy which could help a mobile developer. The problem solving focus of this course is valuable for anyone in app development. This course may be useful for a mobile app developer.
Data Scientist
A Data Scientist analyzes complex data to derive insights and solve problems. While this course focuses on python, it introduces concepts that are broadly applicable to the data science field. The course's introduction to database functionalities and data manipulation techniques forms a foundation for data related work. Though this course does not go deeply into machine learning, it will expand into these areas. A Data Scientist must be a strong problem solver, and the problem solving focus of the course is useful for a future data scientist. The course may also be useful for one who wants to learn more about functional programming, which is an important concept for data analysis.
Embedded Systems Engineer
An Embedded Systems Engineer designs and develops systems that are embedded within other devices, such as microcontrollers. Python is increasingly being used in this field, especially for testing and automation. This course focuses on core Python concepts, and therefore can help an embedded systems engineer understand the principles of programming. This course teaches general programming principles and object oriented programming, that may be useful for embedded systems programming. In the future this course will cover algorithms which may be useful for an embedded systems engineer. This course may be useful for an embedded systems engineer.
Database Administrator
A Database Administrator manages and maintains databases. While this course does not focus on databases exclusively, it introduces the use of databases in Python programming. This course's exposure to database interaction provides an overview of how databases are used in application development. The course also teaches fundamental programming concepts that may prove useful to a database administrator. This course may be useful for a database administrator.
Technical Writer
A Technical Writer creates documentation for technical products or services. While this course does not directly focus on writing, it provides a deep dive into Python programming. A technical writer with more exposure to the technology they are writing about will be more effective, so this course may be useful for a technical writer that focuses on software. This course may be useful for a technical writer.
IT Support Specialist
An IT Support Specialist provides technical assistance to users of computer systems. While this course does not specifically focus on the role of IT support, it provides experience with software installation and debugging. The course also teaches fundamental computer science and programming principles that can be used to solve technical issues. This course may be useful for an IT support specialist.

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 Programming Bootcamp.
Provides a project-based introduction to Python, making it ideal for beginners. It covers fundamental concepts and then applies them in practical projects. It is particularly useful for solidifying understanding through hands-on experience. This book is commonly used as a textbook at academic institutions.
Focuses on practical applications of Python for automating everyday tasks. It is particularly useful for learning how to apply Python to solve real-world problems. It provides additional depth to the course by showcasing Python's versatility. This book is commonly used by industry professionals.

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