Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: Are there 'standard' projects to complete as a rite of passage?
4 points by djaychela on May 11, 2017 | hide | past | favorite | 6 comments
OK, I've started my journey into programming - I'm 45, dabbled for years, but a career change (partially enforced, mostly planned) is what I'm looking at, and I'm planning to take a couple of years of working near full time on studying Python, hopefully moving into learning data analysis/visualisation and machine learning.

Anyhoo... when I was young, I did an engineering apprenticeship, where I learnt both mechanical and electrical/electronic engineering (2 years) before specialising (another 2 years). Part of this was doing 'standards', 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.

Is there anything similar in terms of programming challenges? I've found a few pages here and there which have some simple ones (which I've done and enjoyed), but nothing that would seem to follow a progression; there seem to be lots of 'get started with...' courses (I've done a few), but I'd appreciate any suggestions you have.



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.


+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


Thanks for taking the time to reply, it's appreciated.


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.


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.


Interpreter for a programming language




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: