Общий план

  • сентябрь - изучим базовый синтаксис Java
  • октябрь - изучим основы ООП, классы, как рисовать графику (Java Swing)
  • ноябрь - сделаем игру Flappy Bird, сделаем Paint
  • ноябрь-декабрь - каждый начинает работу над своим проектом
  • январь - недельные итерации: вы приносите результаты, рассказываете о них, формулируете свои цели на следующую неделю
  • февраль - крайний срок решить что с проектом что-то пошло не так и переключиться на план Б - типовая геометрия
  • март - начинаем готовить презентации, предзащиты проектов
  • апрель - конференция с презентацией проектов
  • май - ???

Использование БЯМ / Искусственного Интеллекта / AI / LLM

Разрешено искать примеры кода в интернете (например stackoverflow.com) и использовать их в своем проекте (нужно понимать что этот код делает, иначе его не выйдет внедрить/интегрировать в проект).

Разрешено использовать нейросети как ассистента/личного репетитора который помогает в изучении, спрашивайте его о том “а как на Java посчитать корень из числа” или о том “а как поделить пополам без округления”. Когда он рассказал вам что-то сложное и вы что-то не поняли - просто скопируйте непонятный кусок и попросите объяснить подробнее. Такие возможности - это большой подарок и польза.

Разрешено искать готовые алгоритмы, читать код в интернете, спрашивать совета друга (но не просить его написать за вас код).

Запрещено брать чужой готовый проект (даже если его потом изменить, даже если это проект из интернета).

Запрещено просить кого-то написать за вас проект.

Запрещено кидать в нейросеть куски своего кода с просьбой исправить и сделать хорошо. Или с просьбой “добавь такую-то функцию” или “сделай то-то” или “исправь ошибку компиляции”. Лучше киньте в него ошибку компиляции и попросите объяснить подробно что именно у вас в коде не так (может даже явно скажите ему “но не говори как исправить, ведь я хочу сам понять и разобраться, просто помоги мне понять в чем дело”), затем спросите его “а я правильно понимаю что нужно это выходит вот так исправить?” и так далее.

Это все вытекает из Глобальной Цели:

Глобальная Цель

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

Нейросеть в этом смысле может быть вам помощником которого вам легче и быстрее спросить чем преподавателя - и если благодаря его объяснению вы лучше поймете что-то - это хорошо.

Нейросеть в этом смысле может быть вором вашего развития, если она за вас делает проект.

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

Поэтому если вы заинтересованы в долгосрочных целях, в том чтобы через 5-10 лет стать сильным специалистом - то необходимо самоограничение. Т.к. краткосрочно конечно же через нейросеть добьетесь впечатляющих результатов, но их добьетесь не вы, вы не получите очков опыта за это, вы не сможете благодаря этому опыту в будущем добиваться еще более крутых результатов.

И очень сложно сдержать себя от дофаминовой петли: представьте что электроды подключали напрямую к зоне удовольствия в мозге мыши. Когда ей дадут кнопку, которая активирует этот разряд, мышка забудет про еду и сон (средне/долго-срочные цели), она будет нажимать на кнопку до 1000 раз в час, пока не погибнет от изнеможения.

А он использует и у него круче проект! Все равно учителя не спалят!

Я буду спрашивать вас на понимание кодовой базы проекта. Не будете знать где что и как у вас реализовано - буду ставить колы.

Но в первую очередь это вопрос к вам.

ВЫ ДЖЕДАЙ, НИНДЗЯ, СУПЕР-ГЕРОЙ, ИКАР КОТОРЫЙ ХОЧЕТ К СОЛНЦУ?

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

Но ведь нейросети - PhD LEVEL OF INTELLIGENCE!!11!1

LLM - это двое из ларца

Нет, они как Джин из другого мира, или как двое из ларца:

  • нет усталости
  • нет сопротивления
  • упорны
  • быстры
  • масштабируются

Но они знают и понимают только то что волшебным образом смогли понять из обучающей выборки.

Поэтому на данный момент действительно крутые результаты с их помощью можно сделать если понимать что им можно доверить, а что - нет.

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

Деление на группы

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

Оценки за этот тест - не будет.

Цель этого теста - разделить вас на две группы: сильную и супер-сильную. Если у вас мало опыта программирования - это абсолютно нормально и не беспокойтесь об этом, мне лишь нужно понять кто уже умеет больше, а кто - пока что знает меньше.

Если вы хорошо понимаете решение задачи, то хорошо бы его оптимизировать по использованной памяти. Это не значит, что нужно экономить на отдельных переменных.

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