How to Code by Yourself (part 1)