오늘의 학생들에게 도달하기위한 입문 과정에 대한 좋은 과제는 무엇입니까? [닫은]


25

나는 정기적으로 Java를 사용하여 프로그래밍 과정을 소개합니다 . 나는 학생들에게 그들과 관련이 있거나 흥미로운 것을 찾을 수있는 흥미로운 과제 를주고 싶다 . 적어도 나는 이해가되고 내부 응집력이있는 과제를 원한다 (예를 들어, 아주 나쁜 프로그래밍 연습은 가장 최근에 다루어 진 프로그래밍 구조를 사용해야한다고 생각되는 것처럼 보인다).

범위에 대한 아이디어를 제공하기 위해 다루는 내용은 다음과 같습니다.

  • 할당은 외부 라이브러리를 사용하여 Java로 작성해야하지만 전체 프레임 워크가 아닌 간단한 API 여야합니다.
  • 변수, 프리미티브 및 문자열
  • 콘솔 입력 및 출력
  • if, for,while
  • 산술 및 논리 연산자
  • 선과 도형 그리기가 포함 된 간단한 그래픽
  • 정적 메소드
  • 1 차원 배열

학생들은 고급 주제 (예 : 재귀, 상속에 대한 강조)에 가지 않습니다. 따라서 저는 복잡한 프로젝트를 찾고 있지 않습니다 . "C 컴파일러를 작성해야합니다. 5 살 때 해냈으며 제가 배운 유일한 방법이었습니다!"

스코프보다 더 발전된 아이디어가 있다면 아래 링크가 아닌 "도전"질문에 게시하십시오.

대신, 내가 찾고있는 것은 짧은 프로그램으로 달성 할 수있는 흥미로운 아이디어입니다. 예를 들면 다음과 같습니다.

  • 학생들은 "Star Wars Name"Generator 의 콘솔 버전을 작성할 수 있습니다 . 이것은 효과적으로 문자열을 읽고 사용 substring하고 있지만 재미 있다고 생각합니다. 비슷한 변형은 " 매드 립스 "프로그램입니다. 나는 이것을 5 년 전에 사용했으며 아마도 "이야기"일 것입니다.

  • 제공된 삼각대를 사용하여 학생들은 규칙적인 다각형을 그릴 수 있고 흥미로운 나선형 모양을 만들 수 있습니다.

  • 간단한 애니메이션 클래스를 사용하여 대부분의 코드를 제공하는 것도 의문의 여지가 없습니다. 간단한 API로 액세스 할 수있는 Twitter 또는 Facebook 서비스를 알고 있다면 매우 관심이 있습니다.

이 질문은 " 초보자를위한 도전적인 Java 질문 "질문과 다릅니다 . 나는 도전 그 자체를 찾고 있지 않고 단지 흥미 롭습니다. 학생들이 "왜 누군가가 그것을 프로그래밍하고 싶어 할까?" 그러면 그들은 더 잘 배울 것입니다.

갤런 당 마일 계산과 같은 간단한 문제조차도 좋습니다. 보다 관련성있게 업데이트하는 방법이 있다면 더 좋습니다. 다른 곳 (도서 또는 웹 사이트)에서 운동을한다면 출처를 인용하십시오.

오늘날 전형적인 신입생에 대해 생각할 수 있도록 Beloit Mindset 목록을 확인하십시오 .


호기심에서 재귀와 객체 지향 디자인과 같은 주제가 너무 진보되었다고 생각하는 학생들은 어느 수준입니까? 이 주제들은 첫 학기 입문 프로그래밍 수업에서 자세히 다루었습니다. 코스를 너무 단순하게 유지하려고하면 학생들이 장애를 겪고 있다고 생각합니다.
Mayra

@Mayra : CS 전공을위한 첫 번째 과정 인 프로그래밍 과정을 소개합니다. 나는 학생들이 처음 5 주 동안 (혹은 첫날) 사용할 수있는 흥미로운 문제를 찾고 있습니다. 이러한 요구 사항을 충족시키는 것은 정말 어려운 일이며 일부 문제는 내가 통제 할 수 없다고 생각하므로 도움을 청합니다.
Macneil

답변:


9

제약 조건이 주어지면 Hangman 버전을 구현하는 것이 좋습니다. 이를 통해 학생들은 지나치게 복잡하지 않고 자신이 소개 한 모든 기술을 시연 할 수 있습니다.

과정이 진행됨에 따라 개발 프로젝트로 사용될 수도 있습니다. 예를 들어 문자열을 덮고 변수가 텍스트 버전으로 시작되면

예 :

You have 10 guesses left.      * * * E * * T
What is your next guess?

그런 다음 10 개의 추측이 카운트 다운 될 때 코드에서 잘라 내기 및 붙여 넣기 요소를 제거하기위한 루프를 도입합니다.

프로그래머를 모집하고 인터뷰 한 경험이있는 대부분의 다른 사람들과 마찬가지로, 대학에서이 수준의 수업료가 필요하다는 사실을 저에게 비난하지만, 아쉽게도 학교가 프로그래밍을 진지한 주제로 취급 할 때까지 계속 필요할 것입니다. 수학 또는 과학


좋은 생각이야! 나는 이것을 사용할 것이라고 생각합니다. :-) BTW, "학비 수준"이란 무엇입니까? 비용과 마찬가지로?
Macneil

그것은 대학 이전의 프로그래밍 수업의 부족에 대한 이해입니다. 화학을 위해 대학에 도착하여 원자, 분자 및 전자에 관한 첫 번째 용어를 사용한다고 상상해보십시오. 3 년은 컴퓨터 과학을 이해하기에는 너무 짧은 시간입니다.
Michael Shaw

복잡한 그래픽이 필요없는이 아이디어가 정말 마음에 들었습니다. 재미 있고 또 다른 수학 문제 해결사는 아닙니다.
Joppe

7

텍스트 어드벤처 게임처럼 들리는 것은 학기 중반에 훌륭한 과제가 될 수 있습니다. 나는 우리가 Colossal Cave Adventure를하게 한 다음 우리 자신의 게임을 만드는 수업을 가졌습니다. 그것은 초기에 많은 기본 구성을 가르쳐 주었고 모든 사람들이 그것에 참여하는 것이 너무 재미있었습니다.


2
재미있게 들리지만 작게 유지하십시오.

7

http://projecteuler.net/ 에서 하나 또는 두 개의 문제를 사용하는 방법 이 중 일부는 매우 흥미롭고이를 해결하기위한 프로그램을 작성하는 이점을 볼 수 있습니다. 그것들은 과제로 수행 할 수있을 정도로 작습니다. 내가 사용하고 싶은 또 다른 것은 $ 1.00 단어를 찾는 것입니다. 알라 파벳의 각 글자는 페니에서 그 가치가 있습니다 (예 : a = 1, b = 2). 얼마나 많은 $ 1.00 달러 단어를 찾을 수 있습니까? 여기에는 파일 i / o (사전 읽기), 배열, 반복 등이 포함될 수 있습니다.


1
프로젝트 오일러 +1 매우 시원합니다. 약간의 문제는 너무 발전되었지만, 그렇지 않은 문제가 많이 있습니다.
Macneil

나는 프로젝트 오일러를 좋아하지만 대학에서 운동을해야한다면 재미 있을지 확신 할 수 없습니다.
Oliver Weiler

그들 모두가 재미 있지는 않지만 일부는 우리가 좋은 선택이라고 생각합니다
Gratzy

6
  • 독점 게임을 구현하십시오. 독점은 명백한 순서를 가지고 있으며, 아주 쉽게 함수로 나눌 수 있습니다. 또한 1 차원 배열과 몇 가지 기본 클래스 만 필요합니다. 이 논리는 학생들이 "무엇"보다 "어떻게"에 대해 더 많이 생각할 수있을 정도로 간단하며 다른 사람들에게 보여줄 수있는 결과를 가져옵니다.

  • 되돌릴 수있는 규칙으로 암호화 된 암호화 된 파일을주고 디코더를 작성하도록 요청하십시오 (단순하게 만드십시오). 이것은 메시지 내용에 대한 수수께끼 때문에이를 해결하기위한 추가 인센티브를 제공합니다.

  • 왜 당신이 왜 1 차원 배열만을 다루고 행렬이 아닌지 알지 못합니다 (실제로 그렇게 다르지는 않습니다).하지만 그것을 실라버스에 기꺼이 포함시키고 싶다면 Jon Conway의 Game of Life도 비교적 쉽고 결과가됩니다. 장난.

  • 체스와 같은 게임에는 약간의 생각이 필요하지만 초보자는 최소한의 상속 (특정 조각은 일반 클래스 Piece에서 상속되고 보드는 Piece 유형의 객체를 보유 함)과 2D 배열 (선택할 수 있음)로 여전히 할 수 있습니다. 적 조각이 캐슬 링 경로를 위협하는 경우 스텔라 테이트 탐지 또는성에 못 박힌 능력과 같은 단단한 물건을 구현할 필요가 없으므로 단순화하십시오.


독점 게임 제안에 +1 2D 어레이는 매우 흥미로운 과제로 이어질 수 있다는 데 동의합니다. 그러나 2D 배열을 사용할 수 없게 만드는 제약이 있습니다 (예 : 교과서는 이미 수정되어 있으며 내가 당신에게 지루하지 않을 10 억 개의 다른 교수 정치 문제는 이것에 대해 개인적 의견을 가지고 있지도 않습니다. 내 통제에서 벗어난 문제).
Macneil

아, 우리는 학교에서 독점 게임을 만들어야했다. 그리고 암호화 차단기.
Carra

독점의 경우 +1 학생들이 코드를 작성했으면 다양한 속성에 착륙 할 확률을 생성하도록 요청하십시오. 그 지식은 실제로 전략적으로 도움이됩니다.
joshdick

4

우리는 학교에서 I / O, 기능 및 조건부 연산자를 사용하여 상당히 많은 프로젝트를 만들었습니다. 객체 지향 프로그래밍에 대해 배우기 전에 모든 것이 완료되었습니다. 이 프로젝트들은 점점 더 어려워지기 위해 천천히 발전했습니다. 말할 것도없이, 우리가 매주 4 시간을 보낸다고해도 연말에는 거의 충분하지 않았습니다.

이 모든 프로젝트는 기능 및 i / o로 수행되었습니다.

  • 배우는 게임. 당신은 많은 막대기를 가지고, PC는 많은 막대기를 가지고 있습니다. 반복. 막대기를 든 마지막 사람이 느슨해집니다. 우리는 각 게임 후에 나아진 간단한 자체 학습 프로그램을 만들어야했습니다. 2D 배열을 배우는 좋은 예입니다.

  • 코드 차단기 당신은 시저 암호화를 알고, 글자를 고르고 글자의 값을 단어의 각 글자에 더합니다. 예 : 키 = 'a'및 단어 = "비밀". 이것은 "tfdsfq"가됩니다. 파일을 읽고 각 문자에 대한 빈도 표를 작성하여 수행 할 수 있습니다. 영어 성경도 읽어보십시오. 그런 다음 영어 알파벳에서 가장 많이 사용되는 문자가 'e'임을 확인하고 해결할 수 있습니다. 추가 된 과제 : 우리의 과제 인 'ab'와 같은 키를 사용하십시오. I / O를 이해하기위한 좋은 연습.

  • 바코드 메이커. 이 프로그램은 외부 라이브러리를 호출하는 연습이었습니다. 코드가 생겨서 바코드로 이미지를 생성해야했습니다. 외부 라이브러리를 사용하여 이미지를 생성했습니다.

  • 이동 영업 사원 문제를 해결하기위한 유전자 알고리즘. 이것은 2 명 또는 3 명을위한 더 진보 된 프로젝트였습니다. 임의 경로로 시작하면이 경로는 "좋은 경로"가 될 때까지 항상 향상됩니다. 보너스 : 경로가 포함 된지도를 만듭니다.

  • 작동하는 lzw 압축 프로그램 . 이것이 최종 4 명 프로젝트였습니다. 매개 변수는 매우 간단했습니다. "Zip file.txt file.zip"또는 이와 유사한 것. 재미있는 프로젝트이지만 lzw 알고리즘을 이해하는 데 시간이 걸렸습니다.


매우 흥미로운 ... 어떤 학교에 다녔습니까? 첫 해에이 모든 것이 있었습니까?
Macneil

정보 공학 전문화를 위해 사람들을 데우는 과정이었습니다. 그 해 이후에도 전문 분야를 변경할 수 있습니다. 학생들은 기본 루프, 화면 / 파일 및 기능에 대한 일부 I / O를 알고있었습니다.
Carra

3

계산기는 산술 연산을 배우기에 좋은 프로젝트입니다. 간단한 메뉴 기반 콘솔 앱 또는 GUI로 만들 수 있습니다. 네 가지 기능 (+,-, *, /)을 시작하고, 제곱근 등과 같은 더 복잡한 것들을위한 추가 포인트가 있습니다.

문자열 처리의 경우 몇 가지 유효성 검사 문제를 제안합니다. 이메일 주소를 염두에 두십시오. 체크하지 않은 상태로두면 SQL 인젝션 홀 또는 기타 문제가 발생할 수 있으며 검증하기가 비교적 간단합니다. 추가하기 위해 이름, 중간 이름 및 성을 공백으로 묶을 수있는 프로그램을 만들고 전체 이름을 사용하여 각 구성 요소로 구문 분석 할 수 있습니다. 첫 번째는 실제 생활에서 두 번째보다 많이 사용되지만 충분히 간단한 다른 구문 분석 시나리오를 생각할 수 없었습니다.

정적 메서드를 보여주기 위해 전자 메일 조회 문제를 할당 할 수 있습니다. 이름과 이메일 파일이 있으면 정적 생성자는 이름 / 이메일을 목록에 넣고 정적 메소드를 사용하여 지정된 이름의 이메일을 찾을 수 있습니다.

이것들이 당신에게 아이디어를 줄 수 있기를 바랍니다! 수업에 행운을 빕니다.


1
+1 감사합니다! 이것은 내가 찾고있는 종류의 대답입니다.
Macneil

게임은 계산기보다 재미 있습니다.

3

과제에 대한 매우 흥미롭고 멋진 것은 Conway의 Game of Life 구현을 2D 로 작성하는 것입니다 . 기본 배열 데이터 구조에 매우 잘 매핑되며 재미 있고 쉽게 할 수 있지만 여전히 약간의 생각이 필요합니다. 호기심과 실험이 열릴 수도 있습니다 (AI).

고급 학생들은 추가 포인트를 위해 3D 버전을 작성할 수 있습니다.


3

소수 생성기를 반복합니다.

과제

  1. 1에서 100까지 소수를 인쇄하십시오.
  2. 입력 1에서 입력 2로 프라임을 인쇄합니다.
  3. 주요 세대의 성능 데이터를 기록하고 인쇄하십시오.
  4. 프라임 생성의 그래프 성능 데이터.
  5. 소수 생성기의 알고리즘 최적화를 반복하십시오.

2

저는 학생들이 간단한 그래픽과 게임을 할 수 있도록 ACM 라이브러리 를 사용하고 있습니다. 우리는 당신이 설명한 기술 이상의 기능을 가진 기본적인 2 인용 클릭 기반 게임을 할 수있었습니다. 이번 주에는 Fox and Hounds 게임을하고 있습니다.

가능한 한 콘솔 I / O를 멀리하려고 노력했습니다. 요즘 많은 학생들이 GUI로 자랐기 때문에 외국의 개념입니다. 따라서 MVC에 중점을 두어 모델을 올바르게 작성하고 모델을 테스트 한 후에 만 ​​GUI를 추가합니다. 테스트는 자동화 된 단위 테스트와 BlueJ 의 코드 패드를 통해 수행됩니다 . public static void main()절대 필요 하지 않습니다 .


흥미 롭군 아마도 당신은 기사 나 블로그 항목에 경험을 쓸 것입니까?

2

나는 지난 세기에 소개 방법을 가르쳤고, 그것은 기본적이었습니다. 그러나 여러분처럼 학생들이 자신의 고안에 대한 재미있는 프로젝트를 진행하기를 원했습니다. 그래서 나는 많은 가능성을 제안했다.

  • Wumpus와 같은 간단한 모험 게임
  • 야구 등을위한 스포츠 시뮬레이션 (텍스트 만, 야심 찬 그래픽)
  • 유전자 진화 시뮬레이션과 같은 과학
  • 범선 경주와 같은 스포츠 / 과학
  • 가계의 사람들을 위해 자신의 은행을 가지거나 투자하는 것과 같은 금융
  • 음악 또는 간단한 그래픽 게임

... 또는 학생들이 생각한 것 그들은 내게 와서 "XYZ를 수행하는 프로그램은 어떻습니까?"라고 말합니다. 저는 항상 "좋아요"라고 말하고 너무 복잡하지 않도록 조금 안내해 줄 것입니다.

보통 그들의 프로젝트는 수백 줄의 코드로 끝났고 항상 그것을 즐겼습니다.

PS 학생들이 기본 제어 구조, I / O, 어레이 및 순차적 파일에 능숙한 후에이 과제를 냈습니다. 그것은 학년의 주요 부분 인 용어 프로젝트였으며, 개요 부분과 같은 중간 마일스톤 과제가 있었기 때문에 결국에는 모든 것을 시도하지 않고 벽에 부딪치지 않았습니다. 나는 그들이 가능한 한 학기 초에, 일반적으로 6 주나 8 주쯤에 시작하기에 충분한 기술을 가지고 있었을 때, 이것에 들어가기를 원했습니다.


1

선생님이 모듈을 작성하는 프로그램을 작성하게하셨습니다. 기본적으로, 그것은 게임이었고 당신은 그것을 해결하기 위해 algo를 작성해야했습니다. 그래픽이 있고 예쁘고 훌륭하게 작동하도록 모든 것이있었습니다. 아마도 당신은 자신의 게임 프레임 워크를 작성하고 나중에 그것들을 넣은 상자 밖에서 할 수있는 멋진 것들의 멍청한 버전 인 기본 도구를 제공해야합니다.


1

소개 과정에서 세 가지 프로젝트가 나에게 멈췄습니다.

임의의 몬드리안 그림 을 표시하는 프로그램을
작성하십시오 BrickBreaker 게임의 첫 번째 부분을 작성하고, 설정된 영역 내에서 공이 튀어 오르도록하십시오
텍스트 기반 어드벤처 게임을 작성하십시오

내 알고리즘 클래스
에서 Serpinski 삼각형 구현

이 네 가지 프로젝트를 통해 문자열 처리, 무작위 화, 그래픽, 재귀 및 애니메이션에 대한 이해가 컸습니다.


1

CS 학생들은 모두 전공입니까? 내 추측은 그렇지 않을 것이다. 수업의 전공에 맞는 과제를 내놓았습니다.

예 :

  • 미술 학생들은 캔버스 한 조각의 치수를 취하는 프로그램을 만들 수 있고 캔버스의 양을 계산하기 위해 프레임을 칠할 수 없을 것입니다 (프레임 주위에 캔버스를 감싸고 스테이플 링하기 때문에).

  • Econ 학생들은 항목에 대한 복리이자를 계산할 수 있습니다.

  • 수학 학생들은 프로젝트 오일러에서 문제를 선택할 수 있습니다.


1
이 수업은 전공 및 비전공을 대상으로합니다. 많은 사람들이 생물학에 있습니다.
Macneil

흥미 롭군 아이디어 : 물속에서 수영하는 단일 세포 유기체의 사진을 찾으십시오. 이미지를 흑백으로 변환하십시오. 수중 생물의 수를 세는 프로그램을 작성하십시오. 이것은 가장자리 감지, 물과 비 수질의 구별, 먼지 제거 등 모든 종류의 흥미로운 토론 주제를 불러옵니다.
Barry Brown

바이오에있어서, 마음에 떠오른 명백한 것은 세포 오토마타입니다. bioquest.org 에서 몇 가지 아이디어를 얻을 수 있습니다 .
Kavet Kerek

1

고등학교에서는 입문 프로그래밍 수업을 받았고 Karel J. Robot을 사용했습니다 . 로봇을 볼 수있는 GUI를 제공하며, 흥미로운 일을하기 위해 확장해야하는 매우 기본적인 센서 및 이동 방법이 있습니다. 소프트웨어의 차이점을 아직 파악하지 못한 사람들이 로봇을 이해하기 쉽기 때문에 좋은 생각입니다.

방금 발견 한 Processing 이 있는데 , 원래 프로그래밍을 가르치기 위해 고안되었으며 Java로도 제공됩니다.


0

나는 여기서 반대자가 될 것입니다. 나는 당신이 그들에게 playtoys를 해결하기 위해 유효한 사업 유형 문제를 제공해야한다고 생각합니다. 그들이 전문가로서 실제로 할 일에 관심이 있고 동기를 부여 할 정도로 진지하지 않다면, 당신은 오히려 인트로 코스에서 그들을 끌어들일 것입니다. 실제 일은 멋진 물건을 만드는 것이 아니라 고객의 요구를 충족시키는 것입니다. 또한 게임에서 배우는 것과 비즈니스 프로그래밍에서 동일한 기술을 사용하는 것 사이에서 도약 할 수없는 많은 사람들을 보았습니다.

내가 아는 모든 수석 개발자 및 채용 관리자는 최근 졸업생의 품질에 혐오감을 느낍니다. 현실 세계에서 일하는 법을 배우고 재미있게 만드는 것을 잊어 버리십시오.


많은 학생들이 비즈니스 문제가 흥미로울 것이라고 생각합니다. 구체적인 내용을 제안하고 도움이 될만한 답변을 개선 할 수 있다면. 구체적인 내용을 찾고 있습니다.
Macneil

1
TI-83 계산기에서 (쉽게) 수행 할 수없는 문제가되어야합니다 . 그러나 또 다른 세금 계산기는 그것을 삭감하지 않을 것입니다.
Barry Brown

1
이 학생들은 프로그래밍에 익숙하지 않으며이 과정에서 베이비 스텝을해야합니다. 지루하게 만드는 것은 아마도 프로그래밍 방법을 가르치는 가장 효율적인 방법이 아니기 때문에 Java 사양을 처음부터 끝까지 암송하는 대신 최고의 교사를 찾아야합니다.

1
아니요.이 프로젝트는 무엇보다 재미 있어야합니다. 재미있는 프로젝트는 어려울 수 있습니다. 사실, 내 애완 동물 프로젝트의 대부분은 직장에서하는 일상적인 프로그램보다 어렵습니다.
Carra

2
나는 당신의 요점을 보지만, 적어도 부분적으로 그리고 최소한 입문 과정에 대해 정중하게 동의하지 않습니다. 많은 프로그래밍 방법이있을 수 있으며, 이와 같은 과정은 프로그램이 수행 할 수있는 다양한 작업을 다루어야한다고 생각합니다. 학생들에게 컴퓨터가 우리가 "비즈니스에 필요하다고 생각하는"문제에만 도움이된다는 것을 보여주는 것은 창의적인 프로그래머가하지 않습니다. 잘 설계된 코스는 학생들이 게임을 프로그래밍하는 것과 같이 컴퓨터가 할 수있는 재미있는 일을 보여주는 것 외에도 실제 문제를 해결하도록 도전 할 것이라고 생각합니다.
Nick Donohue

0

휴대 전화에 바보 같은 위젯을 만들기위한 과제. 그들이 친구들에게 보여줄 수있는 것. uber-cheap AT & T 전화를 가지고 있으며 일종의 jar 파일이 필요합니다.


0

내가 본 가장 중요한 임무는 사람들이 다르게 고려하지 않은 것에 대해 생각하도록 강요합니다. 간단한 강의 자료 이외의 것, 불가능한 것. 여러 가지 유효한 솔루션이있는 것.

나를 감동시킨 몇 가지 :

  1. Roshambo AI (UOA의 AI 과정에서 사용). 가위 바위 보에 대해 -1, 0, 1을 반환하는 간단한 함수입니다. AI는 서로에 맞서고 통계는 집계 유틸리티 프로그램에 의해 수집됩니다. 이 과제는 사람들에게 얼마나 많은 접근 방식이 가능한지 (그리고 얼마나 많은 접근 방식이 제대로 수행되지 않는지) 끊임없이 놀라게합니다.

  2. 불가능한 특성을 가진 간단한 정렬 문제. 유한 메모리로 무한 길이의 파일을 정렬하십시오. 이 문제는 알고리즘에서 내 생각의 기초를 흔들었다. 무한 길이 데이터에 대한 윈도우 평균 등 각 관련 문제가 있습니다.

  3. 사소한 것처럼 보이는 시뮬레이션 문제. 교통 시뮬레이션 (차량, 네트워크), 경주 용 자동차 시뮬레이션 (왼쪽, 오른쪽, 빠름, 느림), 식료품 점 시뮬레이션.

  4. 네트워킹 문제 (지난 몇 년 동안 함께 일한 졸업생의 큰 약점). 예를 들어, n-sync 문제, 피어 업데이트, 피어 트러스트 등의 복잡성을 입증하는 핸드 헬드의 피어 네트워킹 문제

  5. 언어가 적다 (최근 학년의 또 다른 약점). 간단한 게임 AI (체커, roshambo, 탱크, CSS mojo, Twitter 봇)를위한 작은 언어를 개발하십시오. 언어 설계, 해석 및 행동의 개념에 대한 생각은 근본적입니다.


종이, 가위, 가위 AI가 결과를 알게되거나 역사가 무엇인지 알 수 있습니까?
Macneil

예, 히스토리는 C 예제에서 배열을 통해 사용할 수 있지만 Java, Ruby 등에 동일하게 적용됩니다. 원래 경쟁 페이지를 확인하십시오. webdocs.cs.ualberta.ca/~darse/rsbpc.html
Bruce Alderson 5
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.