Я періодично викладаю вступ до курсу програмування за допомогою Java . Я хочу дати своїм учням захоплюючі завдання, які вони можуть стосуватись або вважати цікавими . Принаймні, я хочу, щоб завдання мали сенс і мали внутрішню згуртованість (наприклад, деякі дуже погані вправи програмування здаються надуманими саме так, що вам доведеться використовувати останню розроблену програму програмування).
Щоб дати уявлення про сферу застосування, ось що охоплюється :
- Призначення повинні бути на Java, за допомогою зовнішньої бібліотеки можна зробити, але це повинен бути простий API, а не повний фреймворк
- Змінні, примітиви та рядки
- Введення та вихід консолі
if
,for
,while
- Арифметичні та логічні оператори
- Проста графіка з лінією та фігурою
- Статичні методи
- Одновимірні масиви
Студенти не будуть заглиблюватися в розширені теми (наприклад, відсутність рекурсії, не наголос на спадщині). Таким чином, я не шукаю складних проектів: "Попросіть їх написати компілятор С. Я це зробив, коли мені було 5, і це був єдиний спосіб, коли я навчився!"
Якщо у вас є ідеї, які є більш досконалими, ніж сфера застосування, будь ласка, опублікуйте їх у відповідь на питання "Виклик", а не на це.
Натомість я шукаю цікаві ідеї, які можна здійснити за короткою програмою. Наприклад:
Студенти можуть написати консольну версію генератора "Ім'я зіркових воєн" . Це ефективно читання рядків і використання
substring
, але я думаю, що це весело. Аналогічна варіація була б програмою " Шалені вуса ". Я користувався цим п’ять років тому, і, можливо, він вже "несвіжий".Використовуючи поданий їм триггер, учні можуть малювати регулярні багатокутники та створювати цікаві спіральні фігури.
Крім того, не варто використовувати простий клас анімації з більшою частиною коду, що надається їм. І якщо ви знаєте сервіс Twitter або Facebook, до якого можна отримати доступ за допомогою простого API, мені було б дуже цікаво знати.
Зверніть увагу, що це питання відрізняється від питання " Виклик питань Java для початківців ". Я не шукаю складних як таких, просто цікавих. Я думаю, якщо студенти працюють над чимось, де вони можуть легко відповісти "чому б хто-небудь хотів це програмувати?" тоді вони краще навчаться.
Навіть такі прості проблеми, як обчислення миль за Галлон, можуть бути хорошими. Хоча, якщо є спосіб оновити його, щоб бути більш релевантним, тим краще. Якщо у вас є вправа з іншого місця (книги чи веб-сайту), будь ласка, вкажіть джерело.
Щоб допомогти вам подумати про типового першокурсника сьогодні, ознайомтеся зі списком Beloit Mindset , щоб знайти багато прикладів, які неодмінно змусять вас почувати себе старими.