pyrithm

Fundamental algorithms, data structures and design patterns implemented in Python 3. Design and usage demonstrated and explained.

2
0
Python

pyrithm

Fundamental algorithms, data structures and design patterns implemented in Python. Design and usage demonstrated and
explained.

Pyrithm is for Learning Coding Fundamentals (An AI-free Project)

I have been programming Python for 20 years and other languages for over 40 years and every year I spend time keeping
my fundamental coding skills fresh and also up-to-date with the latest versions of
everything and the latest evolving best practices. The Pyrithm project is one of the ways I do this
and so it is an educational tool to both teach others as well as to maintain and develop my own skills,
especially for the foundational algorithms, data structures, design patterns and development strategies.
While I do fully embrace AI-generation for code and anything else and in fact am involved in
leading-edge AI research and hold a recent ML patent in this area, in Pyrithm, I do not use AI
assistance or AI generation. In this project, I implement the solutions and design patterns based on
my own experience and my own standard research for the best solutions I can find. I force myself to
learn and reinforce the skill of ‘coding’ in many ways and the Pyrithm project is one of those ways.
You definitely should use AI to the maximum, by all means, but also keep your fundamental skills sharp.
You will be competing in interviews and coding tests for top jobs with people who write code very well
by hand so you need to both know how to do everything with your own hands and your own mind as your
development foundation. AI-code generation skills should be robust, but built upon the fundamentals.

Pyrithm is structured like a tutorial with a lot of code comments and docstrings to explain things
and assist learning, in both the pyrithm package/module code as well as the executable example
code. There are two types of examples to learn from; examples which import pyrithm modules and
demonstrate the usage of those pyrithm modules, and examples which do not import pyrithm modules but rather contain all definitions, self-contained within the example file.

Examples are like mini-tutorials, or the code which would go along with a written or video tutorial.

examples_pyrithm

These examples import corresponding modules from the pyrithm package and illustrate the topic area
in this way. Of course they may also make use of other imports.

examples_standalone

These examples are self-contained and do not import anything from pyrithm, although they might import
modules from the standard library or perhaps even other modules.

Why the difference?
It is just a matter of organizing code and timing. Some of the standalone examples may evolve a
little in the future and have pyrithm modules written to support them. A first step can be to just
write a standalone example to get started and when it is apparent that in implementation can be
done in a nice, resusable modular fashion, then that can be done and the example can be moved into
examples_pyrithm. Some examples or ‘mini-tutorials’ might be totally suitable to remain standalone.