Understanding Python the Learning Process: Your View is Unique

A Journal Entry:

Learning something new can be a difficult task. There are so many books, blogs, and resources to choose from. The task is made even more difficult when you consider your own learning needs; your view is unique.

When you pick up a book or view a web page you begin to learn. This is true. However, not everybody learns in the same way. So, I decided to follow my own set of rules to learning Python.

I like to read; I like the relaxed nature of reading. So, my main resource is going to be a book; knowing what you like is part of the learning process, and can be an advantage. 

However, with the ever changing influence of social media, and the internet it is even more important to choose the right resource for your needs, and stick with it; in the long-term it will favour you, and cut out any possible confusion.

The book I have chosen is: Python Programming for teens, by Kenneth A. Lambert, 2015. The book, in computer terms, is old. The Python language version being used in the book is 3.3.4. The actual current Python version, as I write, is 3.12.4. Quite a significant leap forward. Since my initial purchase, from a charity shop, I have attempted to find, and acquire a newer version of the book, but have been unsuccessful. So, I have decided to stick with the book, and learn the concepts of Python within its pages. 

Understanding Python the Learning Process: Start a Journal

I find that physically writing down something with a pencil is the best way, for me, to learn. I find it reinforces your learning, and from a psychological point of view; it helps to reinforce the connections the brain constructs when learning something new. The main goal or aim of a journal is to keep you focused. 

The second most important point to remember, when writing a journal, is the revision value it contains within its pages; the facts, analysis, and diagrams you studied. 

Why Is Software Numbered Like This 2.2.5?

If you are thinking of developing your own software application then at some point you are going to have to decide on how you will keep track of your application software development updates.

This will not only help you to understand what has been done to update, and maintain the current version, but it will also help your users; it will give an indication of what the current version is to use, and what has been done to improve it.

The Semantic Versioning System

There are a number of ways this can be done, but the most popular method, for software applications, is the “semantic versioning” system approach; each number has a meaning; “Major, Minor, and Patch.” It is simple, makes sense to both the software developer, the end user, and follows the usual traditional pattern when trying to understand how computers work; the step-by-step process; operation.

Example 1:

“Why is software numbered like this 2.2.5?”

Using the semantic versioning system this number (2.2.5) would indicate that this particular current version of software has had:

  1. a significate major change, and as moved up from version 1 to version 2
  2. two minor updates have been implemented
  3. five patches or bug fixes have been made to make the software function more securely

Example 2:

The new Python application version 3.12.4.

Using the semantic versioning system this number (3.12.4) would indicate that this particular current version of software has:

  1. “Major”- a major software application update from version 2 to version 3; its 3rd major release
  2. “Minor” – minor updates; 12 new minor “feature additions or enhancements”
  3. “Patch” – a patch consisting of 4 bug fixes or security patches

The Basic Semantic Versioning System

  1. Major – a major update or change to the software application; a major redesign.
  2. Minor – a minor update; a slight enhancement or an added small feature addition to the software application.
  3. Patch – a security patch or bug fix.

Highly recommended reading:

  1. This is the original authored specification edition by Tom Preston-Werner the cofounder of GitHub: Semantic Versioning 2.0.0 | Semantic Versioning (semver.org)
  2. A more extensive piece of information on semantic versioning from Wikipedia: Software versioning – Wikipedia

Learning Python

These are the rules I will follow to learn to code in Python:

1 Always ensure you have the latest version of Python for your IDLE (Integrated Development Environment).

2 The new version for Python is: 3.12.4 (download: Monday 15th July 2024 / 21:05). Available from the official Python website: Download Python | Python.org

3 “Never give up.”

4 For those interested, I have chosen to use the terminal-only approach to learning Python. For information follow step 2 above for the “IDLE” download.

Note:

this image shows the “Windows” version of the IDLE (Integrated Development Environment) that I use, but there are many different free options on the Internet to choose from.

5 A step-by-step approach will be used to complete the course.

6 I will use this this blog to chart my progress.

My wish list:

If successful I will go on to study: Machine Learning, Database, and finally GUI (Graphical User Interface).

1  Start building Python applications.