|
| 1 | +# Глава 1. О курсе |
| 2 | + |
| 3 | +Представьте, что C++ – это магический артефакт, могущественный и древний. Он позволяет творить грандиозные вещи. Грандиозные и иногда – ужасные. |
| 4 | + |
| 5 | +Вам предстоит длинный путь, прежде чем вы научитесь подчинять себе силу артефакта и не прельщаться его темной стороной. Наш курс призван открыть вам этот путь и помочь с него не сойти. Но осилить вы его должны самостоятельно, иначе магия не сработает. |
| 6 | + |
| 7 | +## Цель курса |
| 8 | + |
| 9 | +Наш курс поможет вам изучить **современный C++ с нуля.** |
| 10 | + |
| 11 | +Наша **цель** – чтобы по завершению курса вы могли: |
| 12 | +- Решать задачи из реальной жизни на современном C++. |
| 13 | +- Разбираться в чужом коде: находить баги, рефакторить, участвовать в код-ревью. |
| 14 | +- Проходить собеседования. |
| 15 | +- Владеть инструментами для отладки, профилирования, поиска утечек памяти. |
| 16 | + |
| 17 | +C++ – самый сложный из мейнстримных языков. Его невозможно выучить полностью. Наш курс концентрируется на **подмножестве** языка и его идиомах, которых достаточно, чтобы писать эффективный, безопасный и читабельный код. |
| 18 | + |
| 19 | +## Наш подход к обучению |
| 20 | + |
| 21 | +Курс называется «C++ по спирали». Это означает, что по мере прохождения курса мы будем неоднократно возвращаться к одним и тем же темам и разбирать их на более глубоком уровне. Как будто разматывая витки спирали знаний о языке. |
| 22 | + |
| 23 | +Такой подход позволит максимально быстро приступить к решению практических задач на C++. |
| 24 | + |
| 25 | +Кроме того, наш курс ориентирован на практику. В каждой главе вас ждут задачи и домашние задания. Раз в несколько глав предстоит делать проект. |
| 26 | + |
| 27 | +## Для кого этот курс |
| 28 | + |
| 29 | +Наш курс предназначен **для программистов,** от студентов до опытных синьоров. |
| 30 | + |
| 31 | +Чтобы получить от него пользу, вы должны обладать: |
| 32 | +- Опытом разработки на любом языке. Вы знаете, что такое переменная, цикл, функция, исключения. |
| 33 | +- Неким багажом фундаментальных знаний. Вы знакомы с концепциями массива, рекурсии, ООП, аргументов командной строки. |
| 34 | +- Временем, упорством и любознательностью. |
| 35 | + |
| 36 | +## Для кого этот курс не подходит |
| 37 | + |
| 38 | +Наш курс **точно** не пойдет на пользу, если вы: |
| 39 | +- Уже умеете готовить C++ и хотите глубоко погрузиться в один из его аспектов. Например, в конкурентность или метапрограммирование. |
| 40 | +- Ожидаете какого-то специфичного C++. В этом курсе нет низкоуровневневых трюков для embedded и ассемблерных вставок. |
| 41 | +- Ищете курс, который бы за ручку провел по настройке IDE и окружения. |
| 42 | +- Пытаетесь выучить C++ как свой первый язык программирования. |
| 43 | + |
| 44 | +## Как проходить курс |
| 45 | + |
| 46 | +Мы придерживаемся правила: просто читать про язык – тратить время. Учить язык значит **писать код.** Поэтому залог успеха при прохождении курса – выполнение всех задач и проектов. Даже если вы «точно знаете, как это решать». |
| 47 | + |
| 48 | +После того, как вы решили задачу, вы можете **сравнить свое решение с нашим.** Оно доступно по кнопке подсказки. |
| 49 | + |
| 50 | +Многие примеры кода из глав в один клик открываются в **плэйграунде.** Пользуйтесь этим: почаще экспериментируйте с кодом! |
| 51 | + |
| 52 | +И помните: только за счет практики ваши теоретические знания успешно улягутся в _долговременную_ память. |
| 53 | + |
| 54 | +## Ответы на частые вопросы |
| 55 | + |
| 56 | +### Нужно ли начинать изучение C++ с Си? |
| 57 | + |
| 58 | +Нет. И в следующей главе вы поймете, почему. |
| 59 | + |
| 60 | +### Нужно ли знать ассемблер? |
| 61 | + |
| 62 | +Нет. Уметь изготавливать печатные платы тоже. |
| 63 | + |
| 64 | +### Что делать, если не получается решить задачу или выполнить проект? |
| 65 | + |
| 66 | +Как мы уже сказали, самостоятельная практика – ключ к освоению C++. Если с какой-то задачей возникли трудности, не отчаивайтесь. Это нормально. Продолжайте пытаться! |
| 67 | + |
| 68 | +И пусть вам поможет эта последовательность шагов: |
| 69 | +- Перечитайте теорию: вдруг вы упустили что-то важное? Еще раз попробуйте решить задачу. |
| 70 | +- Отвлекитесь, отдохните. Приступите к задаче через какое-то время. |
| 71 | +- Воспользуйтесь подсказкой. |
| 72 | +- Посмотрите полное решение. |
| 73 | + |
| 74 | +Если после всех этих шагов все равно остались вопросы, не стесняйтесь [задавать их.](https://t.me/senjun_feedback) |
| 75 | + |
| 76 | +### Куда сообщать об ошибках? |
| 77 | + |
| 78 | +На сайте в конце каждой главы есть форма фидбэка. Если вы проходите этот курс через наш [телеграм-бот,](https://t.me/sen_jun_bot) то воспользуйтесь командой `/help`. |
| 79 | + |
| 80 | +Заводите Issue или пул-реквесты [на гитхабе.](https://github.com/senjun-team/senjun-courses/tree/main) |
| 81 | + |
| 82 | +И конечно же, добро пожаловать в нашу [телеграм-группу!](https://t.me/senjun_feedback) |
0 commit comments