Software development basics: algorithms, tasks etc