Эффективное обучение C# разработчиков или Правильное программирование на C# с нуля (Фишки для новичков в программировании организационного характера)
Добрый день тебе, Читатель.
Причиной написания этой статьи стало моё увлечение C# и некотоые наблюдения, изложенные ниже.
Я и помогавшие мне тренеры по избранной мной дисциплине, применяли свой опыт и наблюдательность, преследуя простую цель: Хоть кому-то облегчить жизнь программиста, сделать обучение лучше и удобней. К тому же это такое, своего рода, инсайдерство — Чистой воды GNU философия, приложенная к Майкрософтовскому продукту.
Как и многие другие, я столкнулся с отсутствием систематических и позволяющих получить понимание предмета материалов, рассчитанных на людей, к программированию ранее отношения не имевших. Говоря иначе, стало ясно, что — Нету в Укрнете такого ресурса или библиотеки с online консультантом профи, которые давали бы возможность взять и понять основы программирования. Вы скажете, минуточку, а как же Сертификационные центры Майкрософт. Есть ещё мощный и системный «Кибер Бионик Систематикс». Есть академия «ШАГ», прости Господи, ставшая притчей во языцех. Но все же обучающая. Все же…
Конечно, всё это есть. Платно, но ладно — «Бог с ними». Лишь бы доступно. Лишь бы с пользой для людей…
Здесь речь пойдёт не совсем об этом. Здесь статья о Старте. Той ситуации, когда человек хочет научиться и ищет информацию. Ищет. Ищет. Хочет. Очень хочет. И, всё-же, находит (Речь же всё таки идёт о наших студентах:) и, конечно-же, делает ошибки (Речь же всё таки идёт о наших студентах:).
Вот на их (ошибок) базе и базе здравого чувства юмора, мы и построили данный материал.
Надеемся, он понравится Вам.
Посещая профильные курсы по программированию, например Стартовый C#, Вы можете просто слушать тренера и выполнять Задачи, прилагаемые к Видео урокам по С#. Вы также можете посмотреть видео ролики по C#, доступные на прочих ресурсах, посвященных программированию в .NET и предлагающих быстрый старт, основанный на использовании инструментов этой Microsoft платформы, и предлагающих получить знания по CLR через понимание C# как языка программирования, доступного для изучения «с нуля». Несмотря на заявленную продолжительность обучающих курсов в 32, 76 или 112 часов. Поверьте мне, Вам придётся смириться с тем, что вы не сможете научиться программировать, потратив на это всего неделю-другую. Но, за этот промежуток времени, Вы вполне можете усвоить основы модели и организовать рабочий процесс, по-сути, облегчив свою работу, создав условия, максимально оптимизирующие процесс обучения программированию на C#, а также выявив «узкие места» и способы их решения.
Именно на этих «сложностях» мы и постараемся акцентировать внимание в данном материале, в тоже время стараясь давать и решения. Большинство «проблем в обучении C#» связаны с неусидчивостью, невнимательностью и, что куда более важно, нежеланием практиковать решения с абстрактно-пространственном
Приступим.
1) Изучение С#. Первые задачи
Мы не зря выделили слово задачи. Практикуя такой подход, как замена негативных установок позитивными решениями, Вы нанесёте сокрушающий удар двум самым сильным врагам программиста С# – прокрастинации и спешке. Первочерёдная задача любого программиста напоминает задачу «ямабуси», странствующих буддистских монахов. Первым делом, если Вы хотите научится писать на C#, как и на любом другом объектно-ориентированном языке, Вам придётся обрести Осознанность. Вы должны четко осознавать, что Вам объясняют, зачем Вам нужны эти знания, какие идеи у Вас возникают при получении этих знаний и, что самое главное, Вы должны чётко осознавать, что ваш тренер по программированию не зря делает всё так, как делает. Программисты часто склонны переоценивать свой опыт. Тяга к упрощению создаваемых конструкций, случается, даёт обратные плоды – человек привыкает к тому, что его решение — это всегда «просто», а значит, малозатратно по времени и прилагаемым к решению усилиям. Так возникает прокрастинация – откладывание решений на вечное завтра и «реакция 2», названная так потому, что неосознанные новички в программировании действуют по двум моделям: либо «Я ничего не знаю и потому никогда это не пойму!» и «О! Так я это читал! Это как с тех видеокурсов по C# — Я всё это знаю!». Страх и гиперактивность — плохие помощники. А это именно они. Потому запомним вывод: никогда не торопитесь, всегда знайте зачем и почему Вы учитесь программированию здесь и сейчас, выполняйте учебный план, делая задания только правильно и в срок и лишь после этого двигайтесь дальше.
2) Работа с примерами кода в C#. Вопрос внимания и приоритетов
На начальном уровне, используя такие возможности, как очное обучение С#, видеоуроки по С# и пользуясь литературой, большинство новичков в программировании превращают плюсы в минусы. Поддержка, организованная тренером, доступом к видеоматериалам по C#, с включёнными в него задачниками и доступом к примерам в интернете, заставляют изучающих базовый C#, думать, что программирование — это нечто вроде «конструктора ЛЕГО», где код просто указывает, какие модули где лежат и что собирая их решаются задачи. Но это абсолютно не соответствует истине! Работа программиста — это написание кода. Жизнь программиста — это Понимание кода. Все тренировки производятся во имя Понимания роли тех или иных элементов, синтаксиса и понятий C#, а также среды, в которой разворачивает решения C# программист. Начало обучения программированию — это трата огромного количества времени тренера, на вопросы и разговоры о примерах C# кода, чтобы внимательно и спокойно понять, как можно работать с тем, что делает код.
3) Работа с действием. Практический разбор решений С#
Работа с примерами кода, осознанное и последовательное изучение логики C#, инструментария MS Visual Studio, верное определение приоритетов, основанное как на анализе полученных знаний в C#, так и на мнении тренера, знающего гораздо больше, страхуют Вас от «подхода менеджера», предпочитающего копипасту написанию. Код нужно писать. Это действие, свойственное программистам. И если Вы уж решили научиться программировать на C#, привыкайте Вводить решения. Строка за строкой, разбирая решения с тренером, постигая логику, понимая, почему написано так, а не иначе. Такой подход приведёт Вас к тому, что рано или поздно Вы вдруг заметите, что уже не только видите, почему писали так, а не иначе, но и можете написать иначе, проще и удобнее. «Найти и изменить» — вся суть современного программирования, на C# или любом другом современном языке. Когда Вы пишете программу, Вы всегда ищете данные, затем меняете их, вводя всё большее количество взаимосвязей, в свою очередь меняющих данные так, что из них получаются те самые – нужные данные, что были определены задачей.
4) Используйте задачники и отладчик для понимания возможностей C#. Пишите свой собственный код
Понимание примеров, знание синтаксиса, умение разбираться в системной логике и логике процессов, знакомство с ключевыми определениями абстрактно-пространственной модели C#, понятия класса C#, объекта C# и C# функции, а также умение создавать проекты в MS Visual Studio, дают Вам право пробовать свои силы. Помните, внимательность и сдержанность актуальны и здесь. Разработка своих вариантов задач из учебника и практических заданий, которые дополняли видеоуроки по C#, написание своих версий без обращения к базам исходного кода – нужна любая практика, тренирующая Вас не только как реализатора, но и как «генератора идей». Не забывайте про использование отладчика, заставляющего C# программиста проходить созданные им конструкции, строка за строкой, снова и снова, пока код не будет оптимизирован и работоспособен. Гордость за выполненную работу – вот желаемый результат в обучении IT специалистов в Украине, тем более если речь идёт о обучении программиста, избравшего путь изучения C#. Гордость, легко конвертируемая в любую избранную мотивацию. Ведь по настоящему хорошего специалиста всегда хотят все!
Осталось лишь одно правило правильного обучения C# разработчика, это постижение сути следующего ниже подраздела нашей статьи.
5) Хлопок одной ладонью или правило 10 000 вопросов. Необходимость комплексного и систематического подхода к обучению программированию на C# и в изучении .NET платформы
Если Вы научились писать код, то, наверное, это значит, что Вы уже не новичок в C#. Теперь Вы обрели самостоятельность и знаете, как принципы личностной организации рабочего процесса, так и «узкие места» и методы работы, позволяющие проходить их с лёгкостью и изяществом опытного программиста C#. Что же это значит? Вы стали C# разработчиком? Нет. Вы только сделали первый шаг. Нужен отрезвляющий хлопок одной ладонью, или говоря без притч и ассоциативного ряда с буддизмом, попросту пощечина, выданная самому себе с улыбкой. Теперь Вы можете переходить к тому, что называют Углубленное изучение C# или ответом тренеру, всё это время державшему нуба в чёрном теле. Пришла Ваша очередь, вот что это значит. 10 000. Именно 10 000 вопросов! Никак не меньше! 10 000 вопросов услышит от вас тренер в онлайн-консультации, в процессе очных занятий углубленного изучения C#, просмотра видео уроков и их обсуждения. Осознанных, неспешных, выдержанных и логичных до бешенства. Здесь и сейчас, как мы и учили Вас. Ведь Вы не просто начинающий C# программист, а человек, достигающий своих целей, умеющий мыслить абстрактно-пространственными категориями и знающий важность комплексного обучения программированию C# и изучению .NET платформы. И, да! Вот ещё кое-что. Надеюсь, теперь Вы и теперь не собираетесь обманывать себя тем, что Вы научитесь углубленной разработке на C# за пару-тройку недель.
Автор: basstrust