We may earn an affiliate commission when you visit our partners.
Course image
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

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, casting, comments, type, and more.

Answer these questions to enforce what you learned

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

Use to enforce everything you learned

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

Answer these questions to enforce what you've learned

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

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

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.

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

Solve these problems to enforce what you've learned

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

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

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

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

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

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

Take this quiz to enforce what you have learned

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

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 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 explore how we can treat functions as objects and function annotations

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

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

We'll cover subclassing and synchronizing threads

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

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Provides a comprehensive overview of Python 3, covering core language features, problem-solving techniques, and object-oriented and functional programming paradigms
Includes coverage of GUI application development using TkInter and Kivy, offering practical skills for building desktop applications
Expands into advanced topics such as algorithms, Django, Flask, and machine learning, providing a pathway for continued learning and specialization
Focuses on teaching problem-solving skills, which are essential for real-world programming tasks and career advancement
Requires students to install Python 3 and PyCharm, which may require learners to ensure their systems meet the minimum requirements
Features a section on regular expressions, which are useful for text processing and data validation

Save this course

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

Reviews summary

Python bootcamp: problem solving focus

According to learners, this course is a highly effective and practical way to learn Python, especially for beginners or those wanting to solidify their understanding through application. Students particularly praise the course's core philosophy of teaching programming by focusing on solving real problems, rather than just explaining syntax. The instructor is frequently mentioned as being knowledgeable and clear, making complex topics accessible. The course is also noted for providing helpful resources like quizzes and commented code. While it starts at a foundational level, some reviewers suggest that for very advanced topics or specialization, additional resources might be needed, though they appreciate that the course is designed as a "living" resource with ongoing updates and expansions.
Content is growing and being updated
"It's awesome that the course is regularly updated with new content on topics like Django and ML."
"Getting lifetime access to a course that keeps adding material is a huge plus."
"Noticed new sections have been added since I started, making it even more comprehensive."
"The instructor is actively improving the course based on feedback and new developments."
Comprehensive code, quizzes, and structured modules
"The heavily commented code provided for each lecture is invaluable for understanding the solutions."
"The quizzes after each section are perfect for reinforcing what you've learned."
"I loved the structure of the modules and how everything built upon previous lessons."
"Having access to all the code examples made practicing much easier."
Clear explanations from an experienced professional
"The instructor is fantastic. His explanations are clear, concise, and easy to follow."
"You can tell the instructor has a lot of experience, and he breaks down difficult concepts really well."
"Great teacher who makes learning Python engaging and understandable."
"I found the instructor's pace and detailed explanations very helpful throughout the course."
Learn by solving real programming problems
"I really appreciate that this course teaches you how to think like a programmer and solve problems, not just memorize syntax."
"The focus on problem-solving and working through examples is exactly what I needed to build practical skills."
"Solving the increasing difficulty problems felt like the best way to internalize the concepts."
"This approach of learn-by-doing and solving diverse problems is very effective for retaining information."
Good for beginners, may need supplements later
"Starts slow, which is great for complete beginners, but might feel a bit drawn out if you have some prior experience."
"While comprehensive for core concepts, I found some of the later, more advanced sections could go into more depth."
"It's a solid foundation, but for true mastery or specific advanced fields like ML, you'll need more."
"Excellent for getting up to speed quickly on Python fundamentals."

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