나는 정기적으로 Java를 사용하여 프로그래밍 과정을 소개합니다 . 나는 학생들에게 그들과 관련이 있거나 흥미로운 것을 찾을 수있는 흥미로운 과제 를주고 싶다 . 적어도 나는 이해가되고 내부 응집력이있는 과제를 원한다 (예를 들어, 아주 나쁜 프로그래밍 연습은 가장 최근에 다루어 진 프로그래밍 구조를 사용해야한다고 생각되는 것처럼 보인다).
범위에 대한 아이디어를 제공하기 위해 다루는 내용은 다음과 같습니다.
- 할당은 외부 라이브러리를 사용하여 Java로 작성해야하지만 전체 프레임 워크가 아닌 간단한 API 여야합니다.
- 변수, 프리미티브 및 문자열
- 콘솔 입력 및 출력
if
,for
,while
- 산술 및 논리 연산자
- 선과 도형 그리기가 포함 된 간단한 그래픽
- 정적 메소드
- 1 차원 배열
학생들은 고급 주제 (예 : 재귀, 상속에 대한 강조)에 가지 않습니다. 따라서 저는 복잡한 프로젝트를 찾고 있지 않습니다 . "C 컴파일러를 작성해야합니다. 5 살 때 해냈으며 제가 배운 유일한 방법이었습니다!"
스코프보다 더 발전된 아이디어가 있다면 아래 링크가 아닌 "도전"질문에 게시하십시오.
대신, 내가 찾고있는 것은 짧은 프로그램으로 달성 할 수있는 흥미로운 아이디어입니다. 예를 들면 다음과 같습니다.
학생들은 "Star Wars Name"Generator 의 콘솔 버전을 작성할 수 있습니다 . 이것은 효과적으로 문자열을 읽고 사용
substring
하고 있지만 재미 있다고 생각합니다. 비슷한 변형은 " 매드 립스 "프로그램입니다. 나는 이것을 5 년 전에 사용했으며 아마도 "이야기"일 것입니다.제공된 삼각대를 사용하여 학생들은 규칙적인 다각형을 그릴 수 있고 흥미로운 나선형 모양을 만들 수 있습니다.
간단한 애니메이션 클래스를 사용하여 대부분의 코드를 제공하는 것도 의문의 여지가 없습니다. 간단한 API로 액세스 할 수있는 Twitter 또는 Facebook 서비스를 알고 있다면 매우 관심이 있습니다.
이 질문은 " 초보자를위한 도전적인 Java 질문 "질문과 다릅니다 . 나는 도전 그 자체를 찾고 있지 않고 단지 흥미 롭습니다. 학생들이 "왜 누군가가 그것을 프로그래밍하고 싶어 할까?" 그러면 그들은 더 잘 배울 것입니다.
갤런 당 마일 계산과 같은 간단한 문제조차도 좋습니다. 보다 관련성있게 업데이트하는 방법이 있다면 더 좋습니다. 다른 곳 (도서 또는 웹 사이트)에서 운동을한다면 출처를 인용하십시오.
오늘날 전형적인 신입생에 대해 생각할 수 있도록 Beloit Mindset 목록을 확인하십시오 .