고등학교 TCS 교육-기존 프로그램 두지 말고 CS의 선택된

나는 새로운 TCS 고등학교 프로그램을 가르치라는 제안을 받았는데, 커리큘럼을 구성해야합니다. 이에 대한 의견과 제안을 듣고 싶습니다.

첫째, TCS 프로그램이 성공적으로 (또는 성공적으로) 가르쳐 진 고등학교에 대해 아는 사람이 있습니까?

이 아이디어는 우수 학생을위한 3 주 프로그램 (10-12-12 학년, 16-18 세), 매주 약 8 시간이며, 이는 요구가 많거나 요구되는 것을 의미합니다. 표준 “컴퓨터”프로그램과 달리이 프로그램은 프로그래밍에 중점을 두지 말고 CS의 선택된 주제 (주로 TCS)에 중점을 두어야합니다. 지금까지 우리가 염두에두고 있던 주제는 다음과 같습니다.

  • 점근 분석
  • 기본 데이터 구조 및 알고리즘 (목록, 배열)
  • 욕심 많은 알고리즘 대 동적 프로그래밍의 데모로서의 그래프 알고리즘.
  • 다른 알고리즘 (예 : 확률 론적)
  • 계산 능력-TM, 축소, 결정 가능성의 개념.
  • 복잡성-NP, P, PSPACE 및 NL 완전성.
  • 오토마타 이론

기본적으로 이것은 CS에서 B.Sc의 처음 2 년의 TCS 부분을 다룹니다. 그러나이 학생들은이 자료의 대부분에 필요한 수학적 기초가 부족하다는 점을 명심해야합니다. 특히 세트 이론, 조합론, 확률 및 모듈 식 인공 지능과 같은 것은 고등학교에서 가르치지 않습니다 (불행히도).

요약하고 정확한 질문을하려면 :

  1. 어디에서나 비슷한 프로그램을 알고 있습니까?
  2. 프로그램을 흥미롭고 중요하고 직접적으로 관련시키면서 (예 : 그룹 이론이 중요하고 흥미롭지 만 충분히 관련이없는) 위의 주제 대신에 / 추가로 배울 수 있고 생각해야 할 구체적 / 일반적인 주제에 대한 제안이 있습니까? 소요되는 시간을 정당화하기 위해)
  3. 요즘 정말 뜨거운 주제이기 때문에 어떤 형태의 기계 학습을 소개하게되어 기뻤습니다. 측정 집중 이론과 같은 도구없이 기계 학습을 제공 할 수있는 방법에 대한 아이디어는 환영합니다.


답변

많은 국가에서 IOI 팀을 위해 여름 학교를 조직합니다 (대략 16 세 이하의 고등학생으로 구성). 우리가이란에서 가지고 있었던 것은 다음과 같은 과정을 가졌습니다.

  • 프로그램 작성,
  • 데이터 구조 및 알고리즘
  • 조합론
  • 그래프 이론.

저는 ACM의 컴퓨터 과학 교사 협회 (Computer Science Teachers Association)가 교육 과정 자료 페이지 에 K12 교육 과정 을 가지고 있다고 생각 합니다.


프로그래밍 반드시 커리큘럼의 일부 여야 한다고 생각 합니다 . 파이썬은 배우기에 좋은 첫 번째 언어가되어야합니다.

응용 프로그램으로 접근 가능한 주제를 다루고 싶을 수도 있습니다. 멋진 것을 만드는 기쁨은 관심에 큰 영향을 줄 수 있습니다. 코스타
에있는 Andrew Ng의 ML 과정 은 재능있는 학생들이 이용할 수 있어야 한다고 생각 합니다.

당신이 고려하고 싶을 비표준 주제는 조합 게임 이론이지만, 16 세에게는 그리 흥미롭지 않을 수도 있지만 (경험이 없습니다) 경험이 적은 어린 학생들에게는 꽤 잘 작동합니다.

나는 개인적으로 중심과 연결 주제가 알고리즘을 중심으로해야한다고 생각합니다. 중심 주제로서 그것이 자동 이론보다 더 잘 작동 할 것이라고 생각합니다. 아마도 알고리즘 관점 (Touring machines, automata 등은 아닙니다)이 컴퓨터 과학 본질입니다.


답변

흥미롭게도 기계 학습이 독창적 이라고 주장하는 사람있습니다.컴퓨터 과학 주제 중 고등학생에게 가르치는 것은 아마도 기본 수학이 중요한 도전을 이해할만큼 충분히 이해할 수있는 소수의 하위 분야 중 하나 일 것입니다. 이 주장에 동의하지 않습니다. 기본 알고리즘 (검색, 정렬 등)을 퍼즐로 표현할 수 있으며 상태를 매우 간단하게 표현할 수 있지만 “기본적으로 동일한 수의 연산으로 곱셈을 수행 할 수 있습니다” 더하기 “, 또는 선형 시간으로 정수 정렬 또는 팩토링 (소수점 개념은 선택된 고등학생 그룹에게는 새로운 것이 아니라고 가정합니다). 반면 통계와 확률 이론에 대한 경험이 없으면 많은 머신 러닝을 이해하기가 어려울 것입니다. 그렇지만,

교육 프로그램의 관점 에서 Drexel의 Essinger와 Rosen 이 더 자세히 설명 합니다.

이것들 외에도, 나는 학습 이론에 대한 더 높은 수준의 아이디어를 스케치하려고 시도 할 수 있다고 생각합니다.

  • 기본 분류 문제는 무엇입니까
  • 개념 수업이란 무엇이며 개념을 배우는 것은 무엇을 의미합니까?
  • 지수 샘플링 복잡성이 적은 무제한 개념 클래스에서 개념을 배우기를 원하지 않는 이유 (인수 계산에 대한 소개)
  • VC 치수 란?

또 다른 제안은 회로를 도입하고 Shannon의 하한에 대한 스케치를 시도하는 것입니다. 학생들이 얼마나 편안하게 세는지에 따라 다릅니다. 이것이 너무 무거 우면 학생들이 회로 자체를 믿음으로 세는 동안 논쟁을하는 것이 여전히 도움이 될 수 있습니다. “문제가 너무 많고 작은 회로가 너무 적기 때문에 대부분의 문제에는 큰 회로가 필요하다”는 생각이 듭니다. 이 아이디어는 복잡하고 중요합니다.


답변

여기에 한 가지 유망한 방향이 있습니다. AP / NSF는 최근 새로운 고등학교 고급 배치 CS 프로그램 이니셔티브를 발표했습니다. 표준화 된 수업 계획, 대학 인증 등과 같은 프로그램을 사용하면 많은 이점이 있습니다.

현재 개발 중이며 2016 년을 준비 중입니다. 임시 코스 강의 계획서 및 자료는 온라인으로 제공됩니다. (학술 전문가에게는이 시점에서 “집합 지능”유형 협업을 통해 미래의 콘텐츠에 영향을 줄 수있는 가능성이있을 수 있습니다.)

이 대학위원회의 고급 배치 프로그램 (Advanced Placement Program)은 목요일에 7 년 만에 처음으로 새로운 컴퓨터 과학 프로그램을 수업에 추가 할 계획이라고 밝혔다. 이 움직임은 미국 경제를 세계적으로 경쟁력을 갖기위한 국가의 추진 속에서 과학 분야에서 경력을 쌓기 위해 학생들을 훈련시키는 것에 대한 관심 증가를 반영합니다.

새로운 프로그램, AP 컴퓨터 과학 원리, 컴퓨팅의 “창조적 인 측면”에 집중하고 의해 부분적으로 지원됩니다 $ 국립 과학 재단 (National Science Foundation)에서 520 만 부여합니다. 연방 기관은 과학, 기술, 공학 및 수학 또는 STEM 분야의 교육을 개선하기위한 노력의 일환으로 2016 년까지 전국의 같은 수의 고등학교에서 추가로 10,000 명의 컴퓨터 과학 교사를 양성하는 것을 목표로합니다. 대학위원회는 대한의 칩 것이다 $ 교사 지원 및 장비의 350 만.

기존 프로그램을 AP Computer Science A라고하며 새 프로그램을 AP Computer Science Principles라고합니다. 기존 수업은 수년 동안 진행되어 왔으며 교과 과정을 개발하는 교사를위한 모델로도 유용합니다.


답변

내가 최근에 쫓아 온 아이디어는 고등학생들에게 문제 사이의 감소에 대한 개념을 가르치는 방법입니다. 3-SAT와 같은 문제가 “어려운 것”이라는 사실에 대해 머리를 감는 것은 매우 어렵 기 때문에 복잡성에 대해 소개했을 때 가장 흥미롭지 만 가장 어려운 주제 중 하나라는 것을 알았습니다. 정점 표지로.

내가 생각 해낸 예는 다음과 같이 VC (Vertex Cover)와 IND-SET (Independent Set) 사이의 축소입니다.

“당신은 박물관의 감독이며 복도를 지키기 위해 보안을 고용해야합니다. 복도의 교차로에 배치 될 때 경비원은 그와 인접한 모든 복도를 주시 할 수 있습니다. 필요한 최소 경비원 수는 얼마입니까? 박물관 전체를 순찰 하는가? “

“조금 후, 일부 어린이들은 박물관에서 숨바꼭질 게임을하기로 결정합니다. 그들의 목표는 다른 어린이가 볼 수 없도록 숨기는 것입니다. 그러나 경비원들은 복도, 그래서 그들은 교차로에서 “숨기기”로 강등됩니다. 서로 보지 않고 박물관에서 숨길 수있는 가장 많은 어린이는 무엇입니까? “

주요 목표는 학생들이 축소 표시의 중심에있는 다음 정리를 공식화하고 증명하는 것입니다.

V씨≤피IND-SET

;

정리 : 들어

지=(V,이자형)

,

에스⊆V

독립 세트입니다

V∖에스

정점 표지 (여기서

설정 차이를 나타냅니다).

제가 VC & IND-SET을 선택한 이유 는 문제가 밀접하게 관련되어 있음을보기가 어렵지 않기 때문입니다 . 독립적 인 세트가있을 때마다

에스

버텍스 커버를 유도합니다.

V∖에스

.