Иосиф Дзеранов
Основы программирования. Базовые понятия для новичков
Об авторе
Всем привет!
Меня зовут Иосиф Дзеранов. Я программист, инженер-разработчик со стажем более 10 лет. Работал в крупных компаниях (Сбербанк, Mail.ru). Прошел путь от начинающего до старшего разработчика. Я знаю, как добиться такого же успеха.
Коротко про мои достижения:
Преподаватель и сооснователь онлайн-школы BeeGeek.
Сертифицированный преподаватель IT школы Samsung
Четверть финалист чемпионата мира по олимпиадному программированию ACM ICPC
Создатель центра олимпиадной подготовки СОГУ
Победитель VK FELLOWSHIP 2020
Победитель в конкурс Умник при фонде содействия инновациям
Создатель более 25 онлайн курсов по программированию и информатике
Семьянин. Есть двое прекрасный детей
Контакты для связи:
Почта: iodzeranov@mail.ru
Telegram: (t.me/JosefDzeranov).
Кому адресована эта книга
Эта книга отлично подойдет как новичкам, так и программистам с любым уровнем подготовки.
Первым этот курс поможет разобраться с основами программирования и определиться с дальнейшей деятельностью в IT-сфере; вторым обогатить багаж знаний и отработать полученные навыки на практике.
Как читать эту книгу
Данная книга является печатной версией онлайн курса.
Обучающие модули расположены от простого к сложному, что предполагает последовательное и вдумчивое чтение.
Программирование требует практики, поэтому для чтения этой книги понадобится компьютер или ноутбук так вы сможете сразу отрабатывать теоретические навыки на практических упражнениях.
Книга также может быть использована в качестве справочника для того, чтобы освежить знания в определенной теме.
Благодарности
Написание книги это сложный и трудоемкий процесс, который отнял у меня, а значит и у моей семьи, большое количество времени и сил.
Я безмерно благодарен своим любимым девочкам супруге Элизе и дочке Анне и любимому сыну Лео. Благодаря им у меня есть желание заниматься любимым делом, развиваться и становиться лучше.
Спасибо моим родителям, которые всегда верили в меня и поддерживали во всех начинаниях.
Также хочется сказать спасибо всему моему окружению, ведь окружение во многом определяет, кем мы становимся и куда двигаемся.
И благодарю всех моих учеников, которые мотивировали и вдохновляли меня выпустить эту книгу.
Спасибо!
Сообщество разработчиков C#
Много времени размышлял о том, как сделать удобный формат общения с моими учениками. Создать так называемую "движуху", чтобы участники:
получали максимальный быстрый ответ на свои вопросы
делились знаниями между собой и создавали свою сеть знакомых с такими же интересами
мотивировались, смотря друг на друга
делали совместные проекты
могли вместе готовиться к собеседованиям
Чтобы я
смог доносить новую и полезную информацию до учеников
максимально быстро и удобно
смог делать анонс новых курсов и мероприятий максимально
быстро и максимально эффективно.
Для этого я создал:
1. https://t.me/csharp_publics личный канал для публикаций полезного контента
2. https://t.me/csharp_discussions чат для обсуждения вопросов и полезного контента, который был опубликован в личном канале.
Если ты хочешь
задать вопрос по теме программирования
делиться знаниями с другими участниками
сделать проект и хочешь найти коллегу
быть в теме программирования, алгоритмов и структур данных, собеседований
то смело ВСТУПАЙ В КАНАЛЫ.
Со своей стороны обещаю годный контент (если будет обратная связь) и никакого спама (всех спамеров и тех, кто будет писать не по теме буду удалять). Жду тебя. Ты сможешь задать любой вопрос.
Приглашайте всех друзей, знакомых, учеников, кто интересуется программированием!
До встречи!
1.
Общая информация
В этой книге я научу Вас программировать. Сделаем первый шаг: изучим все базовые конструкции, которые нужны каждому программисту на любом языке программирования (ЯП).
Книга состоит из 6 модулей:
1. Типы данных. Переменные;
2. Условный оператор;
3. Оператор цикла;
4. Строки и символы;
5. Массивы;
6. Функции.
Это то, что должен знать любой программист. Если представить, что дом это старший программист, то эта книга фундамент.
Модули расположены именно в том порядке, в котором нужно проходить: от простого к сложному. Не советую менять порядок изучения тем, так как информация наслаивается друг на друга.
Формула, которая помогает добиваться целей:
Постоянство усилий и регулярность занятий гарантируют результат.
Уровень вашей нынешней подготовки неважен, потому что вся необходимая теория есть в книге. Объем практики позволяет теорию проработать и запомнить. А самое главное применить ее на практике.
Книга позволит с легкостью и удовольствием выучить синтаксис языка программирования C#, отработать какие-то непростые вещи до автоматизма, написать первые мини-проекты.
В то же время подчеркну, что книгу можно проходить на любом удобном вам ЯП, эта возможность в нем предусмотрена. Так что для решения задач ЯП вы можете выбрать сами.
Дорогу осилит идущий!
1.3
Введение
Зачем изучать программирование?
Во-первых, это интересно.
Во-вторых, программирование здорово облегчает жизнь во многих профессиях.
В-третьих, можно хорошо зарабатывать и заниматься в тёплых уютных офисах современными технологиями.
Как изучать программирование?
Самое сложное в нашей области это первые шаги. Я научу вас базовым вещам в программировании. Мы напишем сотни несложных и интересных программ, а также будем строить свои собственные алгоритмы. С таким опытом в дальнейшем вы сможете самостоятельно справиться и с более сложными задачами.
Чему учит книга?
После этой книги вы сможете решать задачи по программированию, выиграть несложную олимпиаду по информатике, а также начать свой профессиональный путь в качестве программиста.
Язык программирования
Мы будем изучать язык программирования C#, так как, по моему мнению, язык очень прост и хорошо подходит для новичков. На сегодняшний момент C# один из самых мощных, быстро развивающихся и востребованных языков в ИТ-отрасли. На нем пишутся самые различные приложения: от небольших десктопных программ до крупных веб-порталов и веб-сервисов, обслуживающих ежедневно миллионы пользователей.
Свобода выбора
Однако данная книга не привязывается к одному языку программирования, так как в ней проходят базовые понятия и конструкции, которые включают в себя все современные языки. Мы не будем вас обязывать сдавать задачи на языке C#, вы будете сами выбирать, на каком языке сдавать задачи.
Как построена книга?
Она состоит из лекций, к каждой из которых есть набор задач их вам предстоит решать в тестирующей системы. Задачи будут проверяться автоматически и сразу.
1.4
Основные понятия
Алгоритм это последовательность действий для достижения поставленной цели. Это план наших действий.
Язык программирования это язык, который понимает компьютер. Есть русский, английский и другие языки, которые понимаем мы, а есть другие языки языки программирования, которые понимает компьютер.
Программа алгоритм, записанный на некотором языке программирования.
Этапы решения задачи
Теперь давайте разберем этапы решения задачи:
1. Постановка задачи описание самой задачи;
2. Формализация перевод на математический язык;
3. Алгоритмизация придумывание алгоритма, который решает задачу;
4. Программирование написание кода программы;
5. Тестирование проверка работоспособности программы и корректности выходных данных.