Back to articles list Articles
9 minutes read

Why Python Should Be Your First Programming Language – Python Basics Course Review

Python was my love at first sight. It was at the very beginning of my interest in programming when I took my first Python course, and I instantly fell in love with this language. Unfortunately, I had few opportunities to work professionally in the Python environment, but I kept learning after hours, just for fun, until my new job became too demanding and I simply had no more time for my coding hobby. Years passed by, and I committed fully to front-end development, but I always had warm feelings for Python. So when I was offered to review the Python Basics Series course (Part 1, Part 2, Part 3) at LearnPython.com, I was delighted. Finally, I had a very good excuse to give Python another try.

Why Everyone Loves Python

According to various sources like Forbes, Python is highly ranked as one of the most popular and best programming languages to learn. Being trendy is one thing, but more important is being loved, and Stack Overflow ranked Python as the third most loved technology in their huge developer survey for 2018. This is no surprise to me, as Python also has a reputation of being the most beginner-friendly programming language. It's an open source, multi-purpose programming language with a big and active community around it. In addition to some obvious purposes like web development (with Django framework) or data science, Python can be used in air traffic control and game development!

Many people and organizations appreciate Python, including Mozilla, Disney, Spotify, Netflix, and even NASA. What's more, Python developers are among the best paid programmers. It's no wonder that there are plenty of Python courses all around the Internet. I took a few of them myself, so I had a point of reference when I was starting the Python Basics, Part 1 course at LearnPython.com.

What's Inside the Course

Let's take a closer look at the course's tools and technical details before we analyse its content. My first Python experience was an online course at the University of Toronto, prepared for a MOOC (massive open online course) platform, and it consisted of video lectures with quizzes once a week, homework exercises, and a final test. I also took some "classic-style" online courses consisting of many short exercises in a custom online editor of the platform providing the course. The second type is more similar to what we can find in the LearnPython.com courses.

LearnPython.com provides users with a built-in code editor with three resizeable parts (for exercise instructions, code editor and console) and a lights on–lights off switch (I love it as I much more prefer to code in dark-themed code editors). So you need nothing but your web browser and internet connection to start the course. This is standard for online coding courses (maybe except for the color theme switch), but there are also two additional elements that I appreciated a lot: hints and the right-side menu. There was a hint section under almost every exercise description, and it saved me a lot of time and frustration when I got stuck. The hints were never a ready-to-use answer, but many times they guided me toward the right solution.

Thinking of the Beginners

The other thing I was pleasantly surprised with, was a short menu on the right side of the screen with links to the discussion forum, related articles, and datasets. Many online platforms offer their users space for discussion, but I had never seen a forum dedicated to every single exercise! I didn't have to search through hundreds of posts to find help, because the right thread was already there. No question was left unanswered, and users could post their code and get feedback from an experienced developer. Sometimes I even saw that users inspired changes in the exercise instructions if it seemed to be misleading to them.

The Python Basics course has been prepared for total beginners in programming, and it is clear to me that the authors spend some time on adjusting the course to the needs of beginners. It's perfectly normal that it's easy to get stuck even during the simplest exercises. It's so good that someone made an effort to make this first programming experience as smooth as possible.

What Will I Learn?

What about the substantive value of this Python basics course? What issues are covered? There are three parts of this Python basics course. First of all, you start getting used to Python's syntax (which is often compared to English syntax) and its keywords. You can't start to learn any new programming language without displaying the iconic "Hello world!" statement. In Python it would look like: print('Hello, World!'). Except for the print() function, other essentials are: assigning variables, basic mathematical operators, and asking for user input with the input() function.

Every section of the course has an introduction and a summary with some questions to reinforce your learning. It's important because you will need to use all the topics in the later sections. Constantly reusing things you've just learned makes them easier to remember. What's more, Python Basics Part 2 starts with a short quiz checking your knowledge from Part 1 to make sure that you have mastered the previous material.

To Begin With – Python Basics. Part 1

I was a bit surprised after finishing the first part of the course that I spent so much time on conditional statements, loops, and combining them all into functions. But then I realised what idea stood behind this. Most online courses show all the language's possibilities, data structures, generally all the syntax elements in as short of a time as possible. Here at LearnPython.com, the approach was different, and it took me some time to notice that, but when I did I thought it was brilliant.

There were 13 exercises on conditional statements – you may think it's too much to get to know what if, elif, and else are for. But I had the opportunity to write statements with multiple conditions, with or, and and not keywords and even nested my conditions. Sounds like quite complex ideas in the very beginning of the programming course, doesn't it?

The same with the next section: I was learning how to write reusable code – and not repeating yourself is one of the best practices in programming. I was pleased to discover that I was writing nested while loops and for loops for the first time I could recall, even though I had taken Python courses before.

The authors put quite an effort into writing the exercises so that they don't seem repetitive and so that they involve all previously gained knowledge. In the end of Part 1, I was proudly looking at my Python functions with multiple parameters, nested loops, and functions invoked inside of other functions.

screenshot

Going Further – Python Basics. Part 2

After Python Basics Part 1, I was confident while writing code, and I'm sure it was the effect of in-depth learning instead of superficial treatment of the topics. In Part 2 it was time for some new data structures: lists and dictionaries. Things were getting much more complex in Part 2 with use of dictionaries and lists in loops, in conditional statements, or even in function arguments.

Also, two very important issues are covered in this part: operating on text files and handling errors and exceptions. This is how real programming work looks, especially handling errors which occur all the time.

Although Python is considered a fairly easy language with a beginner-friendly syntax, it can be tricky when it comes to indentation. I spent a few moments full of frustration trying to figure out what was wrong with my code, and the only thing that was wrong was one indent in the wrong place...But in Part 2 you will have to deal with more serious errors like wrong values (ValueError) or input-output errors (IOErrors).

screenshot

Last but not Least – Python Basics. Part 3

The last part of the course covers some less obvious data structures like tuples and sets. Tuples are similar to lists, but store values of multiple types, while sets store multiple values of the same type, but they need to be unique. As you can see, we're getting deeper and deeper into Python's nuances in the last part of the course.

Another important issue is using date, time, and datetime, in order to create date and time objects or to calculate time differences between two dates. To be able to use them, we need to import the needed module, in this case it's called datetime. You will import modules on a daily basis when working with Python, which has many different modules and libraries for countless purposes.

Summary

Definitely, it was fun to get back to learning Python, and it was even more fun to do it with a well prepared, in-depth course, made with beginners' comfort in mind. I really appreciated that the authors didn't make the exercises too simple. In some of the Python courses I've started, the exercises tended to be too straightforward and the solutions too obvious. In LearnPython.com the authors have faith in the intelligence of users and that's great.

I have to admit, there were some exercises that were stressful when I couldn't figure out the right solutions. Many of them were a result of typos or other minor mistakes, which reminded me how important it is to pay attention to details while programming.

Also, the program of the course, placing importance on in-depth knowledge of every issue, is a big advantage of this Python basics course. It really gave me a lot of confidence in writing my code and taught me some complex issues I didn't expect to come across in a course for beginners.

screenshot

Take the First Step

If you ever thought about starting your Python adventure – this is such a good moment. Believe me, you'll love it, it's the most beginner-friendly programming language I've ever come into contact with, and, personally, my absolutely favorite one. Give it a try with the LearnPython.com Python Basics Course! And if you plan to go further, catch some inspiration on how to start learning Python on your own with one of the newest articles on our blog. Good luck and happy coding!