📜 ⬆️ ⬇️

Programming for beginners: how to start and where to move?

It happens that a person who is not at all connected with IT gets imbued with the intriguing beauty of this sphere and sets himself the task of gradually learning programming from scratch. And here he is often just lost, not knowing where to start, and in need of a good foundation and a systematic approach.

I, being recently in the same situation, googled, looked for manuals on Habré (I found something: Ten tips for novice programmers , A novice programmer about startups and not only ... ), but in the end I was still forced to turn to one good person for advice which made for me such a plan. With the permission of this person I place this plan on Habré - suddenly it will be useful to someone else. (Especially since the listed books belong to the “golden fund” of literature in this field and are time tested.)

UPD: I advise newbies to pay attention to the comments - this plan is actively and convincingly adjusted there.
')


Stage I. Basics

Norton "IBM PC software and hardware organization"
This book, despite its prescription, refers to the fact that so far is not outdated. As a newcomer, I confirm - the story is quite understandable for an almost complete teapot in IT.

Hook "Hardware IBM PC"
And this book is worth reading "on top" - it will tell you how things are in this area now.

Stage II. Hardware

Step 1

Morse, Albert "Microprocessor Architecture 80286"
Why the microprocessor 80286 is taken as the basis here - it will become clear after studying the works of the first stage.

Step 2

Hook "PC Hardware Interfaces"

Hook "Storage Interfaces"

Stage III. Operating Systems

Step 1

Tanenbaum "Computer Architecture"

Step 2

Kolisnichenko, Allen "Linux: The Complete Guide"
From the general theory, we turn to the study of a specific operating system — using the example of Linux.

Nemeth, Snyder, Hein "Linux Administrator's Guide"

Stage IV. Actually programming

Step 1

Kernigan, Richie "C programming language"
Why was the first language chosen for learning precisely C? As knowledgeable comrades told me, he will help to achieve the right “programmer thinking”, which would be difficult to achieve when starting learning, say, from Pascal. In addition, the C language is still used today and is suitable for both application and system programming.

Step 2

Knut "The Art of Programming":
Volume 1. The main algorithms
Volume 2. Recalculated Algorithms
Volume 3. Sorting and searching

Bentley "The Pearls of Programming"

Why master these works? As already noted on Habré , “probably nowhere else than in IT, such a huge number of bicycles are invented”. These books will help to avoid this - and along the way they will inculcate the ability to write not just code, but good code.

Well, for starters, you can read a small series of lectures on “The Culture of Programming” (author - A. Babi) . It helps novice programmers understand that their activities will not take place in a vacuum, but will inevitably include interaction with other programmers, customers and users (and also include the need to delve into their own or other people's programs later).

A beginner's logical question: how long will it take to study all this? According to the forecasts of my adviser, a person who can spend on learning programming only in the evenings and weekends will take six months or a year to read and understand the literature of the first three stages. The fourth stage is also given a year - the reading should be accompanied by the practice of self-programming. How it actually happens - time will tell.

I would be extremely grateful for your advice and clarification.

Source: https://habr.com/ru/post/275839/


All Articles