About – Python Fundamentals Course

Welcome to this introductory Python fundamentals course!

A few years ago, I studied AI in a programming-intensive graduate program, which required knowledge of Python as a prerequisite.

However, at the time, I knew very little Python. I learned Python as I progressed in my first class and was able to rely on my extensive computer science and software development experience to pick up the Python concepts I needed quickly.

Throughout my studies, I paid close attention and wrote down notes on what I wish I had known about Python from the start. This course is an expanded version of those notes.

What’s Covered in This Course

It’s impossible to learn all of Python! It’s huge and has a vast array of applications. With Python, you can do scientific computing, machine learning, AI, back-end development, task automation, game development, UI applications, etc. If you tried to learn everything that Python can do, learning is all you’d be doing.

As a Python learner, you either have a specific applied goal with Python, such as implementing AI systems, or you just want to learn Python programming and will choose a specialized application later on.

Either way, since you are here, at an introductory course, I don’t know what your intended use of Python is. Consequently, I designed this course to exclude everything that’s a specific application, but be jam packed with the fundamentals of the language.

The fundamentals are those aspects of the language that cut across all applications. Once you learn those, you’ll can easily pick up what you need for your specific development goals. Additionally, you’ll excel at reading and understanding any Python code.

Who Is This Course For

This course is designed to cover each concept with the least amount of background knowledge necessary, and it is therefore great for beginners.

It is also very useful for those who, like me, learned just enough Python out of necessity for a job, school, or project, and want to deepen their skills.

This course will fill in gaps in knowledge with a structured approach to learning the language, in-depth coverage of fundamental concepts, and insights that connect all key concepts together. After going through this course, you’ll feel more confident in your Python ability.

Key Course Features

Here are some key features that make this course stand out from other introductory Python courses:

  • Every concept is described precisely, succinctly, and with the least required prior knowledge as possible.
  • Necessary prior knowledge is either briefly introduced within the lesson, appears as a link to a previous lesson, if available, or both. This allows you to go to any lesson directly to study a specific topic rather than the whole course.
  • Overarching concepts are introduced early so that you can understand things in a broad context. For example, several different Python data structures have common capabilities because they are all “iterables”. Consequently, learning about iterables early on will help you understand much about all of those data structures in one swoop.
  • At the end of each lesson, there is a summary section that briefly touches upon every concept in the main body. The summary is designed to be the only section you need for review after studying a lesson for the first time.
  • The summary sections also make each lesson more efficient for Python beginners who are otherwise experienced programmers. If you fall into this category, you may want to scroll down to the summary section and read it first. It could be the only section you need, or it could be followed by a quick skim of other parts of the lesson you need clarification on.
  • Parts of this course were written with AI assistance (mostly ChatGPT) to flesh out ideas, fill in gaps, and smooth out the writing, but it’s largely a human creation nonetheless.