Сегодня трудно представить себе сферу человеческой деятельности, никак не связанную с информационными технологиями. Взять хотя бы бег трусцой. Казалось бы: надел кроссовки, вышел на улицу и побежал. Какие здесь технологии? Но за последние 10 лет появилось множество приложений и гаджетов для бегунов. Отслеживают они что угодно: тренировочный прогресс, частоту пульса, пройденное расстояние и темп. Даже позволяют делиться трекингом своей пробежки в социальных сетях.
Всё больше проникают информационные технологии в промышленность и бизнес. 99% проектов в крупной организации связаны с ИТ. Поэтому понимание базовых принципов ИТ стало необходимым практически в любой сфере. Даже Сбербанк заявлял о намерении превратиться в ИТ-компанию с финансовыми инструментами.
Говоря об ИТ обычный человек в первую очередь подумает о программировании. И действительно: даже самая совершенная аппаратура без программного обеспечения — просто гора железок. С чего же начать знакомство с программированием? Информации море и при первом знакомстве кажется она слишком сложной.
В одном из предыдущих постов я рассказывал о наборе «Йодо» от компании «Амперка» — прекрасном конструкторе для изучения электроники. Но для изучения программирования совсем необязательно покупать дорогостоящий набор. Достаточно иметь под рукой компьютер. Для первого знакомства с миром ИТ вполне подойдёт учебник «C# для школьников». О нём и пойдёт сегодня речь.
Что такое C#?
C# (читается как «Си Шарп») — это язык программирования, разработанный в конце 90-х корпорацией Microsoft. Сегодня это востребованный язык программирования — он широко используется в веб-программировании, при создании мобильных приложений и работе с базами данных.
Учебник. Краткий обзор
Учебник выпущен в 2010 году при поддержке корпорации Microsoft и интернет-университета информационных технологий ИНТУИТ. Его автор — Мартин Дрейер, в прошлом школьный учитель, а теперь — руководитель группы разработчиков из Южной Африки.
В предисловии к изданию говорится о том, что навыки программирования и системного мышления становятся все более востребованными. Поэтому учебник предназначен для школьников 12-16 лет. При этом автор допускает, что в будущем работе с программным кодом начнут учить и с более раннего возраста.
Несмотря на «несолидное» название в учебнике приведены важные базовые принципы объектно-ориентированного программирования. На понятных и ярких примерах автор объясняет, что такое классы, объекты, методы, типы переменных и пр. Если стандартный учебник может отпугнуть новичка заумными фразами, то здесь приводятся примеры с роботами, котятами и птичками. Просто и наглядно. 🙂
Учебник развенчивает миф о том, что программист должен в совершенстве знать математику. Автор подчеркивает, что математика требуется лишь в специфичных проектах. А вот без системного мышления и логики в программировании никуда. Математика неплохо развивает эти качества — видимо поэтому и сложился стереотип о неразрывности математики и программирования 🙂
Есть распространённая шутка: «60% рабочего времени программист проводит в гугле». Так вот — это не шутка. Ошибки при написании программ неизбежны и компилятор будет на них ругаться. Поэтому незаменимые навыки программиста — терпение и умение искать информацию об устранении ошибок.
Один из мемов программирования — написание программы «Hello, world!». Такая программа не делает ничего кроме вывода надписи «Hello, World!» на экран. Благодаря своей простоте код программы встречается практически во всех учебниках программирования вне зависимости от языка. Постановка задачи обращает внимание учащегося сразу на несколько ключевых моментов языка программирования, главный из которых — базовая структура программы. Мем появился в 1978 году в учебнике Брайана Кернигана и Денниса Ритчи о языке Си, дедушке Си Шарпа 🙂
К чему это я? Да к тому, что у Вас с первого раза может не запуститься даже такая простая программа. Возникшую ошибку и способ её устранения позволит найти гугл. Благодаря этому Вы ещё лучше почувствуете специфику работы программиста. И радость от устранения ошибки, конечно 🙂
Самый полезный раздел учебника — написание программ для работы с базами данных и языком разметки XML. Лично меня такому не учили даже в университете, на факультете вычислительной математики и кибернетики 🙂 А жаль — полезный навык.
Учебник снабжён набором готовых программ, которые доступны на сайте ИНТУИТА. Т.е. процесс обучения состоит в анализе уже написанного кода и попытках его самостоятельного изменения в среде программирования. Считаю, что для первоначального знакомства с языком это оптимальный подход. Больше других мне запомнился пример с созданием программы, в окне которой доступны все возможные элементы управления: кнопки, меню, списки, переключатели и т.д. На базе этого примера удобно изучать принципы работы с интерфейсом: как создать кнопку и заставить её делать необходимые действия и т.п.
Недостатки
Недостатков у учебника я обнаружил всего два:
1. Опечатка в коде. Долгое время у меня не компилировался один из первых примеров, пока я не сообразил, что вместо оператора присваивания «=» должен быть оператор сравнения «==». Помогли университетские знания.
2. Скорее не недостаток, а удивившее меня обстоятельство. Большинство примеров представляли собой программы формата WFA — Windows Form Application. Это привычные оконные приложения: с крестиком для закрытия программы в правом верхнем углу. Обычно, при создании такой программы Вы просто закидываете нужные элементы интерфейса на форму: кнопки, менюшки, списки. А затем в свойствах каждого элемента пишете, что он должен сделать. В примерах из учебника же все элементы интерфейса создаются программно: т.е. Вы пишете код, который самостоятельно создаёт кнопку и размещает на форме в указанном Вами месте. С одной стороны, это хорошо — можно на более глубоком уровне понять принципы работы элементов управления. К тому же, так учебник получился намного короче, т.к. избавился от множества лишних иллюстраций. С другой: заинтересовать школьника проще наглядными вещами: когда он сам, словно в Paint, нарисует кнопку и перепишет из учебника код обработки.
Заключение
Если Вы хотите познакомиться с миром программирования, заинтересовать этим своего ребёнка или просто лучше понимать базовые принципы информационных технологий — я однозначно рекомендую учебник «C# для школьников» для прочтения.
Полезные ссылки:
Ссылка на учебник: https://download.microsoft.com/documents/rus/msdn/c_sharp2.pdf
Примеры к учебнику C# для школьников: http://old.intuit.ru/software/school/cs2kids/examples.zip
Ссылка на среду программирования: https://visualstudio.microsoft.com/ru/vs/community/?rr=https%3A%2F%2Fru.wikipedia.org%2F