
Ask HN: Are there 'standard' projects to complete as a rite of passage? - djaychela
OK, I&#x27;ve started my journey into programming - I&#x27;m 45, dabbled for years, but a career change (partially enforced, mostly planned) is what I&#x27;m looking at, and I&#x27;m planning to take a couple of years of working near full time on studying Python, hopefully moving into learning data analysis&#x2F;visualisation and machine learning.<p>Anyhoo... when I was young, I did an engineering apprenticeship, where I learnt both mechanical and electrical&#x2F;electronic engineering (2 years) before specialising (another 2 years). Part of this was doing &#x27;standards&#x27;, which in the case of mechanical engineering started with simple cutting and filing accurately, and moved onto things such as making parallels, spirit level, etc.  The same has been true of music - I play (and teach) guitar, and can see the idea of the progression from Grade 1 to Grade 8, gaining useful skills on the way.<p>Is there anything similar in terms of programming challenges?  I&#x27;ve found a few pages here and there which have some simple ones (which I&#x27;ve done and enjoyed), but nothing that would seem to follow a progression; there seem to be lots of &#x27;get started with...&#x27; courses (I&#x27;ve done a few), but I&#x27;d appreciate any suggestions you have.
======
tlack
Not really. As an industry, computer science is still pretty young and
disorganized. Dynamic, ever-changing.

There are tests - the silly interview questions you see, QuickSort, A*
algorithm, trees..

And as a practitioner, there are some standard tropes which vary over the
years and areas of specialization, like writing your own blogging software, a
basic back-propagation neural network, or completing the Advent of Code
exercises.

But I think for your position, as someone eager to learn and show his growth,
you should just pick a project that is interesting to you and somewhat
challenging and do your best at it. By publishing the work you will say "I
completed this" and be able to show it as a badge of your skills. All the
better if you "kill it" and produce something better than what has existed
before.

And above all, congrats on your exciting transition into programming. It's a
challenging and important field.

~~~
w4tson
+1 for the advent of code. Good for beginners and experts alike. It's well
thought out, bite sized and easy to pickup and leave

------
SamReidHughes
A Tetris clone, breakout clone, or text editor seem like something a ton of
people do. A little calculator that parses and evaluates mathematical
expressions. An esoteric programming language implementation. A program that
outputs "you are c00l" in a loop. A key/value store. A Hacker News reader app
for iOS. A p2p file sharing system. An IRC client. Web forum software. A chess
engine. Some Markdown-like HTML generator. A static website generator.
Planetary orbit simulator. Cellular automata simulator.

------
botten
Why not get a degree in computer science or software engineering if you plan
on spending a couple of years full-time learning? Projects often include
implementing an OS and a compiler.

------
meric
Interpreter for a programming language

