教授高中TCS-现有课程


16

我被提供去教授一个新颖的TCS高中课程,这需要构建一个课程。我非常想听听对此的意见和建议。

首先,是否有人知道成功(或失败)教授过TCS计划的高中?

这个想法是针对选定的优秀学生的三年计划(10-12年级,16-18岁),大约每周8小时,这意味着它可以而且应该很苛刻。与标准“计算机”程序不同,该程序不应专注于编程,而应关注CS中的选定主题,主要是TCS中的主题。到目前为止,我们所考虑的主题大致是:

  • 渐近分析
  • 基本数据结构和算法(列表,数组)
  • 图算法,也演示了贪婪算法与动态编程的比较。
  • 其他算法(例如概率论)
  • 可计算性-TM的概念,简化,可判定性。
  • 复杂性-NP,P,或者PSPACE和NL。完整性。
  • 自动机理论

基本上,这涵盖了计算机科学学士学位的头两年的TCS部分。但是,我们必须记住,这些学生缺乏大部分材料所需的数学基础。尤其是,在高中时并没有教授过诸如集合论,组合论,概率论和模态人工等东西。

概括起来,并给出确切的问题:

  1. 有人在任何地方都知道类似的程序吗?
  2. 是否有关于具体/一般主题的建议,您认为可以在上述主题之外/代替这些主题,同时又要使该课程有趣,重要且直接相关(例如,小组理论既重要又有趣,但不够相关)以证明需要的时间)
  3. 我很乐于以某种形式介绍机器学习,因为这是当今一个非常热门的话题。任何关于不借助测量集中定理等工具即可如何呈现机器学习的想法都值得欢迎。

2
似乎您在最后列出了自动机理论,这是一种事后思考。我主张将自动机理论作为中心和统一的主题。它可以向学生介绍没有任何特定数学背景的形式化数学推理。它具有清晰的无条件定理,这些定理是基础的,但相对容易证明。它可以直接与机器学习相关联,尽管根据我的经验,这很难在第一门理论课程中教给本科生,所以HS需格外小心。
Artem Kaznatcheev

1
之前没有听说过!“精选”学生?难道这还意味着先进吗?尝试在TCS或在线博客(那里有好几本)上挖掘科普书籍。图灵机,量子计算等其他关键/有趣的领域。认为如果数学不繁重并且更多地以概念而非数学的方式进行,则可以取消该方法。这个网站也出现了很多关于edu的问题:CS unplugged。祝好运!
vzn13年

2
我想知道是否最好将您的一些时间用于教授您提到的数学技能(例如概率)...这还可能帮助您涵盖更高级的主题,还可以帮助学生为将来的数学/ CS学习做好准备。
usul

1
@vzn-是的,这些都是高级(我敢说-天才)学生。
Shaull 2013年

1
@vzn这是一个非常有趣的建议。不知何故,TCS尚未成为流行文化的一部分。也就是说,即使是好奇的学生也通常不知道诸如P vs NP之类的问题。但是,我们一定会向当前的CS学生寻求建议,并看看他们的想法。我的猜测是,密码学将是核心。
Shaull

Answers:


8

许多国家/地区为IOI小组组织暑期学校(由IIRC大约16岁的高中生组成)。我们在伊朗的一门课程过去曾接受以下课程:

  • 编程,
  • 数据结构和算法,
  • 组合学,以及
  • 图论。

我认为ACM的计算机科学教师协会的“ 课程资源”页面上有K12课程,尽管对于才华横溢的青少年来说太轻了。


我觉得编程必须肯定是课程的一部分。Python应该是一种很好的学习语言。

您可能还想用应用程序涵盖一些可访问的主题(构建有趣的东西可能会对他们的兴趣产生重大影响)。我认为,Andrew Ng在Coursera上的ML课程 应该适合有才华的学生使用(特别是针对像您这样的国家中有更为严格的K12数学课程的国家)。

您可能要考虑的一个非标准主题是组合博弈论,对于16岁的孩子来说可能不是很有趣(我没有经验),但是根据我的经验,它对于一些年轻的学生来说效果很好。

我个人认为中心和连接主题应该围绕算法,我认为它将比自动机理论更好地作为中心主题,并且可以说算法观点(不是图灵机,自动机等)是计算机科学本质。


编程部分包含在标准CS程序中,它们全部使用。这些是其他主题。您碰巧有这样一个暑期学校网站的链接吗?至于关注算法-尽管我同意它们是CS的核心,但我认为可计算性和复杂性同样是计算机科学本质。我记得有些事情让我们印象深刻,而不是聪明的算法。但是这两个都可能被覆盖。
Shaull 2013年

在某种程度上,图灵机全都与算法有关。此外,ruby还是与python相当的绝佳选择。在同一主题上,学习JavaScript的另一个绝佳选择是javascript,原因很多,例如它在浏览器中的泛滥,大量的公共/示例代码,功能广泛,使用率较高等
。– vzn13

1
@Shaull,他们有一个网站(Young Scholars Club),但是它在波斯语中,所以关于暑期学校的内容没有太多介绍。
卡夫

1
@vzn,我认为您在向高中生教授TCS方面没有太多经验,我已经很清楚地向您解释,我对您的观点不感兴趣。别再拖我的答案了。
卡夫

k,请不要猜测我的体重,并且会同样礼貌。注释基本上是支持你的意见......像元的话题声音=(
VZN

5

奇怪的是,有人认为机器学习非常适合属于要教给高中生的计算机科学主题之一,因为据说它是少数几个基础数学可以帮助您理解重要挑战的子领域之一。我不同意这种说法-基本算法(例如搜索,排序)可以表示为难题,并且您可以非常简单地陈述但基本的开放性问题,例如“可以用基本上相同数量的运算来完成乘法”作为加法”,或者对线性时间中的整数进行排序,或者进行因式分解(我认为素数的概念对于所选的高中生不会是陌生的吗?)。另一方面,如果没有良好的统计学和概率论经验,将很难掌握很多机器学习。不过,

关于教学计划,Drexel的Essinger和Rosen 有一个更详细的计划。

除了这些,我想人们可以尝试勾勒出一些更高级的学习理论思想:

  • 基本分类问题是什么
  • 什么是概念课,学习概念是什么意思
  • 为什么您不希望从不受限的概念类中学习概念,而这些概念类的复杂度却不及指数抽样(作为计数参数的介绍)
  • 什么是VC尺寸

另一个建议是引入电路并尝试对Shannon的下限进行一些概述。取决于学生对计数的舒适程度。如果这太重了,那么在让学生根据信念来计算电路本身的同时,仍然可能有助于进行论证。我认为“大多数问题需要大型电路,因为问题太多而小型电路太少”的想法将引人注目。这个想法在复杂性中很重要且普遍存在。


这两个建议都很好。谢谢!我有一种感觉,对于高中生来说,仅仅学习VC维可能需要3个月左右的时间,这可能太多了。但这绝对值得考虑,特别是考虑到已经考虑过的时候。
Shaull 2013年

我认为,即使只是了解学习概念的含义,并具有一些模糊的想法,即在太阳冻结之前不能学习任意复杂的东西,也是一个胜利。
2013年

3

这是一个有前途的方向。AP / NSF最近宣布了一项新的高中高级安置CS计划计划。使用这样的程序会有很多好处,例如标准化的教学计划,大学认证等。

目前正在开发中,并将于2016年准备就绪。暂定的课程提纲和材料可在线获得。(对于学术专家,在这一点上甚至有可能通过“集体智慧”类型的协作来影响未来的内容。)

美国大学理事会的高级分班计划周四表示,它计划在其班级课程中增加一个新的计算机科学程序,这是七年来的首次新测试。此举反映了在国家推动美国经济在全球更具竞争力的推动下,对培养学生从事科学职业的兴趣日益浓厚。

新方案,AP计算机科学原理,将集中计算的“创意方面”,将通过提供部分资金$来自美国国家科学基金会的520万拨款。联邦机构计划到2016年,在全国相同数量的高中中再培训10,000名计算机科学教师,以改善科学,技术,工程和数学或STEM领域的教育。大学理事会将筹集约350万美元,用于教师支持和设备。

现有程序称为AP Computer Science A,新程序称为AP Computer Science Principles。现有的课程已有很多年了,并且作为教师开发课程的典范也很有帮助。



3
顺便提一句,贝克·弗兰克(Baker Franke)和我本人在SIGCSE '14上提出了BOF(羽毛之鸟)会议的提案,以讨论如何使理论上的主题可用于CS原理课程。
rahulmehta95

@ rahulmehta95-是否有指向我可以阅读的建议的链接?
Shaull


2

我最近提出的一个想法是如何向高中生教授如何减少问题之间的联系。当我被介绍给复杂性时,我发现这是最有趣但最具挑战性的主题之一,因为很难(至少在最初阶段)难以置信,因为像3-SAT这样的问题“同样困难”作为Vertex-Cover。

我想出的示例是在“顶点覆盖率”(VC)和“独立集”(IND-SET)之间进行了缩减,其表达如下:

“您是博物馆的负责人,其任务是聘请保安人员来保护走廊。当放置在走廊的交叉处时,警卫可以监视与他相邻的所有走廊。最少需要多少个警卫巡逻整个博物馆?”

“过了一会儿,一些孩子决定在博物馆里玩捉迷藏游戏。他们的目标是躲藏起来,让其他孩子看不到他们。但是,警卫人员不希望他们在博物馆里跑来跑去。因此,他们只能在交叉路口“躲藏”。最大数量的儿童可以躲在博物馆里而不会彼此见面?

VCPIND-SET

G=VË小号V V小号

小号V小号G


C大号一世üËp一世ñd-小号ËŤ

就减少量而言,证明存在通用图灵机是一种方法,并且可能是高级高中生可以理解的... [请注意,有很多lego TM视频,甚至有CS研究人员...],也许在tseitin变换
vzn13年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.