Индивидуальные занятия с преподавателем по программированию
asm c/c++ swift go java kotlin c# python javascript etc
Здравствуйте, меня зовут Руслан Одинцов и я обучаю с нуля программированию по собственной программе обучения.
Программа обучения
Программа ориентирована на основополагающее введение в специальность. Изучение построено по принципу bottom-up (снизу вверх). От самых основ - элементов цифровой логики - до продвинутых техник - функционального программирования. Акцент делается не на заучивании готовых рецептов и не на изучении деталей конкретных инструментов, библиотек или фреймворков, а на системное понимание и инженерное мышление.
Главная задача программы - подготовить вас к самостоятельному и независимому освоению специальности.
Программа занятий условно делится на две части: подготовительная (задания на логику и микроархитектуру) и практика с вкраплениями теории по мере продвижения по заданиям.
Главные темы, включённые в программу:
элементы теории информации
кодирование информации
дискретная логика
элементы цифровой техники
микроархитектура вычислительных машин
низкоуровневое программирование (ассемблер)
языки среднего уровня (C)
работа с памятью
базовые типы данных
базовые алгоритмы
элементы теории сложности алгоритмов
языки высокого уровня (JavaScript или другой)
элементы объектно-ориентированного программирования
функциональное программирование
Языки программирования
Языки, которые я преподаю, это JavaScript
, Python
, C/C++
, C#
, Java
, Swift
, Go
, Assemlber
и другие.
Студент сам выбирает язык, который ему больше нравится или подходит, либо я рекомендую один из них на основе моего представления о студенте, его предпочтениях и интересах. Все языки скопом не изучаются)
Технические задания
Даётся большое количество заданий. Все они проходят полный code review.
И цель здесь не столько в том, чтобы решить конкретную задачу в заданных ограничениях, но и видеть альтернативные варианты, уметь оценивать плюсы и минусы каждого решения. Так же задания часто отсылают к конкретным задачам, возникающим в практике программирования, или знакомят студента с полезными понятиям.
Большое внимание уделяется качеству кода, а не только его корректности или быстродействию. Так как 80% реального кода, создаваемого программистами, не нуждается в высокой производительности, то на первое место встаёт вопрос о читабельности, простоте, понятности кода. Моя цель - передать вам ценности и принципы чистого и поддерживаемого кода.
* * *
По сути предлагаемая программа представляет собой сжатый, облегчённый курс computer science, сильно модифицированный на введение именно в практическое программирование, плюс довольно глубокий курс непосредственно по основам программирования.
При обучении я стараюсь полагаться не только на развитие правильных интуиций через имплицитное обучение (пример, повторение, практика). но и на явное, эксплицитное обучение, акцентируя внимание на идиомах, мини-паттернах, алгоритмических элементах, возникающих в коде. Сквозной темой являются явные трансформации, правила преобразования кода, подкрепляющие интуитивное понимание кода и развивающее профессиональное программистское зрение, мышление и память.
В рамках занятий студенту даются профессиональные термины и понятия, относящиеся к рассматриваемым темам - в том числе на английском языке. Они помогают не сторить объяснения на сомнительных аналогиях и грубых упрощениях, а обсуждать предмет как он есть. Профессиональная лексика повышает точность вашего языка и возможности по выражению ваших мыслей. Знакомство с данным вокабуляром нужно так же для того, чтобы вы могли лучше самостоятельно искать информацию, читать технические статьи и документацию, книги, лучше понимать лекции по профессиональным вопросам и проще коммуницировать с другими программистами.
Организация
Занятия проводятся с использованием Skype, виртуальной доски и платформы для коллаборативной разработки.
Занятия записываются на видео и бесплатно высылаются студенту. (Записи доступны только самому студенту, они нигде не публикуются и никому не продаются.)
Я провожу занятия по 60 или 90 минут, от одного до трёх раз в неделю.
В любой момент вы можете прекратить обучение без объяснения причин и с полным возвратом предоплаты, если таковая была.
Сколько времени занимает обучение
В среднем на более-менее уверенный уровень человек выходят после продуктивного вложения 1000 часов совокупного времени. Например, 300 часов занятий + 600 часов самостоятельной работы. Или, 50 часов занятий + 950 часов самостоятельной работы.
Что значит продуктивно вкладывать своё время?
Это означает:
- учёт рекомендаций ментора по обучению!
- мотивированность
- работа без спешки
- настрой на долгую работу
- активность и внимательность на занятиях
- максимально полное выполнение упражнений
- выполнение упражнений без посторонней помощи или поиска ответов в интернете
- задавание вопросов по непонятным моментам
- пересмотр записей занятий
- чтение рекомендованных книг и использование рекомендуемых ресурсов
- отсутствие перерывов в занятиях более, чем на неделю
- отсутствие перерывов в самостоятельной практике более, чем на два дня
Примеры реальных занятий
Пример занятия 1. Занятие по Python, основы
Пример занятия 2. Первое занятия по JavaScript
Дисклеймер: Примеры занятий публикуются только строго с разрешения студентов.
Обо мне
Я самостоятельно изучил программирование в 7 классе школы, не имея на тот момент ни интернета, ни компьютера.
Закончил техникум и вуз по специальности. Защитил диплом по математическому моделированию.
Являюсь многократным победителем олимпиады по информатике на уровне техникума и вхожу в TOP20 участников всероссийской олимпиады по информатике среди техникумов и колледжей.
Работал системным администратором Windows
, Linux
, Web-программистом (HTML
, CSS
, JavaScript
, PHP
, Ruby
), системным программистом (C
, драйвера), прикладным программистом (Python
, C#
, Delphi
) и программистом микроконтроллеров (AVR
, ARM
).
В свободное от преподавания время веду коммерческую и некоммерческую разработку, слежу за развитием отрасли, читаю технические статьи (в том числе научные), книги.
Имею целостное представление о специальности как с теоретической, так и с практической стороны.
Преподаю с 2018 года, и как частный преподаватель, и как преподаватель в центре повышения специализации.
Контакты
Если вы заинтересовались, то вы можете связаться со мной
- telegram - +995522224617 ссылка
- whatsapp - +995522224617 ссылка
- skype - heck_fy +995522224617 ссылка
- twitter - shpoet ссылка
- email - shitpoet@gmail.com
- телефон 1 - +79038901601
- телефон 2 - +995522224617
- youtube - канал
Стоимость занятий
Стоимость занятий - 3200 рублей за одно занятие (60 минут).
P.S.
Изучение основ программирования может занимать сотни и тысячи часов. Это очень индивидуально. При этом довольно сложно "попробовать" программирование (если у вас сразу нет ярко выраженных способностей к этому). Это примерно, как решить попробовать космонавтику. Поэтому обучаетесь ли вы сами, на курсах или с ментором - в любом случае я рекомендую больше внимания уделять системности ваших знаний и хорошей базе, тогда всё остальное в долгой перспективе будет вам даваться всё легче и легче. Однако я со своей стороны не являются коучем по личностному росту или психологом (у меня нет даже педагогического образования), и я не буду вас мотивировать или подбадривать, но, с другой стороны, я и не буду вас ругать или осуждать. Только вы сами можете стать программистом или программисткой, ментор может вам в этом лишь помочь.
shitpoet@gmail.com