Индивидуальные занятия с ментором по программированию

javascript c python c# java asm

Здравствуйте, меня зовут Руслан Одинцов и я обучаю с нуля программированию по собственной программе обучения.

Программа обучения

Программа ориентирована на основополагающее введение в специальность. Изучение построено по принципу bottom-up (снизу вверх). От самых основ - элементов цифровой логики - до продвинутых техник - функционального программирования. Акцент делается не на заучивании готовых рецептов и не на изучении деталей конкретных инструментов, библиотек или фреймворков, а на системное понимание и инженерное мышление.

Главная задача программы - подготовить вас к самостоятельному и независимому освоению специальности.

Программа занятий условно делится на две части: подготовительная (задания на логику и микроархитектуру) и практика с вкраплениями теории по мере продвижения по заданиям.

Главные темы, включённые в программу:

Языки программирования

Основные языки, которые я преподаю, это JavaScript, Python, CC# и Java.

Студент сам выбирает язык, который ему больше нравится или подходит, либо я рекомендую один из них на основе моего представления о студенте, его предпочтениях и интересах. Все языки скопом не изучаются)

Технические задания

Даётся большое количество заданий. Все они проходят полный code review.

И цель здесь не столько в том, чтобы решить конкретную задачу в заданных ограничениях, но и видеть альтернативные варианты, уметь оценивать плюсы и минусы каждого решения. Так же задания часто отсылают к конкретным задачам, возникающим в практике программирования, или знакомят студента с полезными понятиям.

Большое внимание уделяется качеству кода, а не только его корректности или быстродействию. Так как 80% реального кода, создаваемого программистами, не нуждается в высокой производительности, то на первое место встаёт вопрос о читабельности, простоте, понятности кода. Моя цель - передать вам ценности и принципы чистого и поддерживаемого кода.

* * *

По сути предлагаемая программа представляет собой сжатый, облегчённый курс computer science, сильно модифицированный на введение именно в практическое программирование, плюс довольно глубокий курс непосредственно по основам программирования.

При обучении я стараюсь полагаться не только на развитие правильных интуиций через имплицитное обучение (пример, повторение, практика). но и на явное, эксплицитное обучение, акцентируя внимание на идиомах, мини-паттернах, алгоритмических элементах, возникающих в коде. Сквозной темой являются явные трансформации, правила преобразования кода, подкрепляющие интуитивное понимание кода и развивающее профессиональное программистское зрение, мышление и память.

В рамках занятий студенту даются профессиональные термины и понятия, относящиеся к рассматриваемым темам - в том числе на английском языке. Они помогают не сторить объяснения на сомнительных аналогиях и грубых упрощениях, а обсуждать предмет как он есть. Профессиональная лексика повышает точность вашего языка и возможности по выражению ваших мыслей. Знакомство с данным вокабуляром нужно так же для того, чтобы вы могли лучше самостоятельно искать информацию, читать технические статьи и документацию, книги, лучше понимать лекции по профессиональным вопросам и проще коммуницировать с другими программистами.

Организация

Занятия проводятся с использованием Skype, виртуальной доски и платформы для коллаборативной разработки.

Занятия записываются на видео и бесплатно высылаются студенту. (Записи доступны только самому студенту, они нигде не публикуются и никому не продаются.)

Я провожу занятия по 60 или 90 минут, от одного до трёх раз в неделю.

В любой момент вы можете прекратить обучение без объяснения причин и с полным возвратом предоплаты, если таковая была.

Сколько времени занимает обучение

В среднем на более-менее уверенный уровень человек выходят после продуктивного вложения 1000 часов совокупного времени. Например, 300 часов занятий + 600 часов самостоятельной работы. Или, 50 часов занятий + 950 часов самостоятельной работы.

Что значит продуктивно вкладывать своё время?

Это означает:

Обо мне

Я самостоятельно изучил программирование в 7 классе школы, не имея на тот момент ни интернета, ни компьютера.

Закончил техникум и вуз по специальности. Защитил диплом по математическому моделированию.

Являюсь многократным победителем олимпиады по информатике на уровне техникума и вхожу в TOP20 участников всероссийской олимпиады по информатике среди техникумов и колледжей.

Работал системным администратором Windows, Linux, Web-программистом (HTML, CSS, JavaScript, PHP, Ruby), системным программистом (C, драйвера), прикладным программистом (Python, C#, Delphi) и программистом микроконтроллеров (AVR, ARM).

В свободное от преподавания время веду коммерческую и некоммерческую разработку, слежу за развитием отрасли, читаю технические статьи (в том числе научные), книги. 

Имею целостное представление о специальности как с теоретической, так и с практической стороны.

Преподаю с 2018 года, и как частный преподаватель, и как преподаватель в центре повышения специализации.

Контакты

Если вы заинтересовались, то вы можете связаться со мной

P.S.

Изучение основ программирования может занимать сотни и тысячи часов. Это очень индивидуально. При этом довольно сложно "попробовать" программирование (если у вас сразу нет ярко выраженных способностей к этому). Это примерно, как решить попробовать космонавтику. Поэтому обучаетесь ли вы сами, на курсах или с ментором - в любом случае я рекомендую больше внимания уделять системности ваших знаний и хорошей базе, тогда всё остальное в долгой перспективе будет вам даваться всё легче и легче. Однако я со своей стороны не являются коучем по личностному росту или психологом (у меня нет даже педагогического образования), и я не буду вас мотивировать или подбадривать, но, с другой стороны, я и не буду вас ругать или осуждать. Только вы сами можете стать программистом или программисткой, ментор может вам в этом лишь помочь.

 

shitpoet@gmail.com