Я периодически преподаю введение в курс программирования с использованием Java . Я хочу дать своим студентам несколько увлекательных заданий, которые они могут касаться или находить интересными . По крайней мере, я хочу, чтобы задания имели смысл и имели внутреннюю сплоченность (например, некоторые очень плохие упражнения по программированию кажутся надуманными именно для того, чтобы вам пришлось использовать самую последнюю из описанных программных конструкций).
Чтобы дать вам представление о сфере действия, вот что рассматривается :
- Назначения должны быть в Java, можно использовать некоторую внешнюю библиотеку, но это должен быть простой API, а не полная структура
- Переменные, Примитивы и Строки
- Консольный ввод и вывод
if
,for
,while
- Арифметические и логические операторы
- Простая графика с рисованием линий и форм
- Статические методы
- Одномерные массивы
Студенты не будут углубляться в сложные темы (например, без рекурсии, без акцента на наследование). Таким образом, я не ищу сложные проекты: «Пусть они напишут компилятор Си. Я сделал это, когда мне было 5 лет, и это был единственный способ, которым я научился!»
Если у вас есть идеи, которые являются более продвинутыми, чем сфера действия, пожалуйста, опубликуйте их по «сложному» вопросу, связанному ниже, а не по этому.
Вместо этого я ищу интересные идеи, которые можно реализовать в короткой программе. Например:
Студенты могут написать консольную версию генератора «Звездных войн» . Это эффективно читать строки и использовать
substring
, но я думаю, что это весело. Аналогичным вариантом будет программа " Mad Libs ". Я использовал это пять лет назад, и, возможно, он уже "несвежий".Используя предоставленные им тригины, учащиеся могут рисовать правильные многоугольники и создавать интересные спиральные формы.
Также не исключено использование некоторого простого класса анимации с большей частью предоставленного им кода. И если вы знаете сервис Twitter или Facebook, доступ к которому можно получить с помощью простого API, мне было бы очень интересно узнать.
Обратите внимание, что этот вопрос отличается от вопроса « Сложные вопросы по Java для начинающих ». Я не ищу вызов сам по себе, просто интересно. Я думаю, что если ученики работают над чем-то, что они могут легко ответить «почему кто-то захочет программировать это?» тогда они будут учиться лучше.
Даже простые проблемы, такие как вычисление миль на галлон, могут быть хорошими. Хотя, если есть способ обновить его, чтобы он был более актуальным, тем лучше. Если у вас есть упражнение откуда-то еще (книга или веб-сайт), пожалуйста, укажите источник.
Чтобы помочь вам подумать о типичном новичке сегодня, ознакомьтесь со списком Beloit Mindset , где вы найдете множество примеров, которые наверняка заставят вас почувствовать себя старым.