Сведения о вопросе

Life

13:15, 4th August, 2020

Теги

Награждение проектов кода для начинающих *complete*

Просмотров: 376   Ответов: 7

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

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

Редактировать:

@Mark: спасибо за ссылку, хотя меня больше интересуют проекты для людей, которые совершенно не знакомы с программированием (ссылка, похоже, больше относится к людям, которые уже владеют по крайней мере одним языком и пытаются выучить новый-типичная аудитория SO, я бы сказал :) -).

@Kevin, Vaibhav, gary: я думал о людях, которые изучают программирование на одном языке, поэтому в начале курса некоторые ничего не знают о структурах управления (и еще меньше о каком-либо синтаксисе). Тем не менее, я думал в довольно большом проекте (как правило, в диапазоне 1k-10k строк кода, возможно, в группах из 2 или 3 студентов). Это то, что было сделано в моей школе для полных новичков, и это, казалось, работало для них... за исключением того, что большинство из них находили свои проекты довольно скучными для работы!



  Сведения об ответе

prince

13:18, 4th August, 2020

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

Мой вам совет, если вы планируете что-то подобное:

1) Избегайте создания компьютерной игры

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

2) научить графика раннего

Приятно видеть плоды своих трудов на ранней стадии, и это мотивирует вас идти дальше. Если вы используете WinForms, MFC или Win32 API, OpenGL или DirectX, научите его рано.

3) много небольших уроков с углубленной информацией

Этот принцип используется в вышеупомянутом связанном проекте сканера портов, и он хорошо работает. Тщательно изучите каждую часть и дайте время новичку усвоить урок. Я думаю, что ZophusX имел хороший формат для предоставления информации. Очень жаль, что он почти полностью покинул свой участок.

4) это требует времени

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

5) получить обратную связь рано и часто

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

6) получайте удовольствие от преподавания

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

Я надеюсь, что это поможет!


  Сведения об ответе

dumai

21:06, 1st October, 2020

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

  • Игры
  • Система бронирования путешествий и транспортных услуг
  • Энциклопедия или словарь терминов, статей
  • Конверсионные калькуляторы (валюта, единицы измерения и т.д.)

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

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


  Сведения об ответе

+-*/

10:56, 12th August, 2020

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

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


  Сведения об ответе

nYU

09:06, 19th August, 2020

Я действительно думаю, что игры и головоломки-это хорошее место для начала, поскольку они могут дать большой простор для разработки более сложных версий. Например, программа tic-tac-toe может быть изначально построена как простая программа командной строки, которая позволяет двум игрокам играть в игру.

Этот шаг можно использовать, чтобы показать, как простая структура данных или массив может представлять игровую доску, простой ввод для получения пользователя commands/moves, простой вывод для отображения игровой доски и подсказок и т. д. Затем вы можете начать показывать, как алгоритм может быть использован, чтобы разрешить режим "игрок против компьютера". Мне нравится простой алгоритм magic square math для tic-tac-toe , поскольку он основан на очень простой математике. После этого sky's the limit, UI улучшений, использование файлового ввода-вывода для загрузки и сохранения игр, более продвинутые алгоритмы, чтобы заставить компьютер играть лучше и т. д. Более сложные и удовлетворительные игры все еще могут быть созданы с использованием текстового режима или простой графики.

Я использовал игру Сокобан как средство демонстрации множества техник на протяжении многих лет.

Самая простая игра, которую я использовал, - это игра с реверсом списка чисел. Это включает в себя смешанный список чисел из 1-9. Игрок может указать количество цифр для обратного хода в левой части списка. Цель состоит в том, чтобы отсортировать список. Это отлично подходит для абсолютных новичков. Каждая маленькая часть игры может быть написана и протестирована отдельно.


  Сведения об ответе

PAGE

02:22, 6th August, 2020

Это действительно зависит от того, чему вы пытаетесь научить новичка. Если вы пытаетесь преподавать синтаксис, то простые программы "Hello World" и те, которые выплевывают каждое нечетное число от 1 до 100, отлично подходят для их запуска. Если вы пытаетесь научить структуры данных, то, возможно, что-то вроде игры на 20 вопросов или какой-то простой программы сортировки. Если вы пытаетесь обучить рекурсии, то, возможно, это программа поиска широты первой. Если вы пытаетесь обучить манипулированию базами данных, то что-то вроде системы отслеживания заказов будет уместно.


  Сведения об ответе

nYU

21:56, 9th August, 2020

Взгляните на примеры кода в книге Python программирование для абсолютного новичка


  Сведения об ответе

davran

07:34, 21st August, 2020

Текстовое Приключение.

  • Это консольное приложение
  • Вам нужно будет сделать некоторые полезные вещи, провести инвентаризацию, карту и состояние комнаты и проанализировать входные данные
  • Это весело, и вы можете дать его другим, чтобы играть! :Д


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться