@hsc
full stack python back-end developer

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

Привет,

есть небольшая возможность, чуть-чуть опыта, и много желания научить студентов современной веб. разработке с использованием main stream технологий и подходов. Со знаниями проблем нет, мы — состоявшаяся команда веб. разработчиков, которая просто на альтруистических началах хочет поделиться своим опытом со студентами местного ВУЗа. Для нас это challenge и много фана)

Что планируем подать:
Из инструментов: python (django), чуточку js, redis, git и чуть-чуть PostgreSQL в качестве базы, хотя, возможно заменим на sqlite.
Из технологий: http, немного верстки, ajax (обязательно), кеширование на обоих концах, ну и конечно же, best practices о том, как все это связать и зачем.

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

Изначально думали сделать морской бой, но команда на команду и с плюшками в виде супер возможностей. На финише проекта планировался баттл между самими разработчиками на приз от нас. Но уперлись в то, что для реализации этой задачи нужны web sockets, обычный ajax тут не очень подходит, а усложнять и без того насыщенный технологичный стек не хотеться.

Еще есть идея реализовать АРI для граббинга курса валют, но это не слишком интересно и с БД тут не поработаешь.

Очень надеюсь на креативные идеи)
Всем спасибо.
  • Вопрос задан
  • 4806 просмотров
Пригласить эксперта
Ответы на вопрос 5
Там где нужен Postgre необязателен ajax а для redis надо что-то в реальном времени подбирать, я бы сделал несколько задач, каждую задачу под отдельную технологию.
Ответ написан
@Evsign
Как вариант мб стоит попробывать предоставить выбор обучающимся... Т.е. к примеру, когда дойдёте до джанго, то разделить всех на равные комманды и каждая команда сама придумывает себе проект или идею. Потом сообщает её вам. Вы либо позволяете её этой команде реализовать(в зависимости от возможности применения технологий, которые будут пройдены во время обучения), либо предлагаете выбрать что-нибудь другое.

А потом даёте задачи на использование определённых технологий в зависимости от этапа. Т.е. к примеру с начала говорите, что бы все создали схему бд с зависимостями для своего проекта и подключили постгресс, потом миграции. После лекции про модели, пусть делают модели, после того как расскажете про контроллеры - делают контроллеры, потом вьюхи + натянуть бутстрап например... Потом говорите запилить что-нибудь на ajax. И что бы вся разработка велась через git (т.е. самой первой или второй лекцией сделайте лекцию про гит и ВСЮ домашку проверяйте через гитхаб, что бы уже к моменту когда вы перейдёте к джанго вопросов по гиту не было)
На каждый этап - дедлайн. В ветку мастер реквесты принимаете только вы, если всё ок.

Если всё это подробно продумать, то может выйти достаточно интересно) Я так понимаю, что в начале же будет просто обучение питону? Так вот на основе успеваемости по питону можно поделить всех на команды для выполнения проекта на джанге)
По итогу получается у всех студентов будет по завершённому проекту + небольшой опыт реальной командной работы + максимум практики.

UPD. В командах можно назначить тимлида, который будет распределять таски.
UPD2. И всё снимайте на видео, а потом в ютуб))
UPD3. Просто, если вы вместе со всеми студентами разом будете делать один проект, то как мне кажется, знаний не оч останется, т.к. по сути каждый студент будет просто переписывать ваш код или повторять ваши действия step by step.
Ответ написан
thewind
@thewind
php программист, front / backend developer
В морском бое можно было web sockets заменить на longpoll requests и вопрос решен - будет такая же точность.
Ответ написан
Комментировать
Попробуйте что-то с использованием открытых данных. budgetapps.ru/contest - здесь можно почерпнуть много чего для реализации.
Ответ написан
@unnamed_xd
Как мне кажется не нужно пичкать всех студентов кучей технологий. Я думаю для начала им нужно дать представление об этих технологиях, какая для чего используется и какую функцию в проектах выполняет. А уже исходя из полученных сведений каждый из них сам решил, что ему более интересно и куда углубляться. Ведь кому-то по нраву работать именно над внутренним содержимым проекта, а кому-то над визуализацией. Затем поделить на команды, в которых каждый из них будет выполнять свою функцию, как шестеренки в одном механизме. Я думаю такой подход к командной работе будет более удачным и продуктивным. Ну и конечно если уклон идет в web, то всё таки как уже писалось в одном из комментариев, лучше дать задание на создание студенческой социальной сети. И главное для реализации дать им свободу действий и выбора, не загонять их в рамки и не ограничивать их взгляд на функционал проекта. Что бы каждая команда сделала проект именно таким, каким они его видят и каким по их мнению он должен быть.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы