Questions tagged «teaching»

11
学习有限自动机后,我应该得到什么启示?
我一直在有趣地修改计算理论,这个问题让我困扰了一段时间(当我在本科学习自动机理论时,从来没有想到过这个有趣的事情)。那么“为什么”我们到底要研究确定性和非确定性有限自动机(DFA / NFA)?所以这是我自言自语后得出的一些答案,但仍然看不到它们对“ aha”时刻的总体贡献: 研究它们是什么和没有能力,即限制 为什么? 由于它们是理论计算的基本模型,将为其他更强大的计算模型奠定基础。 是什么使它们“基本”?是否只有一点点的存储和状态转换? 好吧,那又如何呢?所有这些如何有助于回答可计算性问题?似乎图灵机确实很好地理解了这一点,并且有诸如P​​DA,DFA / NFA / Regexes等之类的“较少”计算模型。但是,如果人们不知道FA,它们会丢失什么呢? 因此,尽管我在某种程度上“明白了”,但我无法对自己回答这个问题?您如何最好地解释“为什么要学习D / N-FA”?他们想回答什么问题?它有什么帮助?为什么它是自动机理论中教授的第一件事? PS:我知道可以如此实现的各种字典应用程序和模式匹配器。但是,我不希望知道它可以实际使用什么,但是在学习计算理论的高潮中,他们为什么要使用/发明/设计的原因是什么。从历史上讲,是什么促使人们从这一点开始的?它应该导致什么“啊哈”理解?如果要向刚开始学习自动机理论的CS学生解释他们的重要性,您将如何做?


5
乔姆斯基层次结构过时了吗?
Chomsky(–Schützenberger)层次结构用于理论计算机科学的教科书中,但是与完整的“ 复杂度动物园图”相比,它显然只覆盖很小一部分形式的语言(REG,CFL,CSL,RE)。层次结构是否在当前研究中起任何作用?在cstheory.stackexchange上,我只发现很少提及Chomsky,而在Complexity Zoo中,根本没有提及Chomsky和Schützenberger。 当前的研究是否更多地关注于形式描述语法以外的其他描述方式?我一直在寻找实用的方法来描述具有不同表现力的形式语言,却偶然发现越来越多的上下文敏感语言(GCSL)和可见下推语言(VPL)都位于经典的乔姆斯基语言之间。不应该将Chomsky层次结构更新为包括它们吗?还是没有从整个复杂度类集中选择特定的层次结构?据我所知,我尝试仅选择那些适合于乔姆斯基层次结构的语言: REG(= Chomsky 3)⊊VPL⊊DCFL⊊CFL(= Chomsky 2)⊊GCSL⊊CSL(= Chomsky 1)⊊R⊊RE 尽管似乎与自然语言处理有实际相关性,但我仍然不了解“对上下文敏感的语言”和“索引语言”是否适合(在CFL和CSL之间的某个地方)(但是,任何与实际相关性都不那么有趣)在理论研究中;-)。另外,您可以提及GCSL→P→NP→PSPACE和CSL→PSPACE→R,以显示与著名的P和NP类的关系。 我在GCSL和VPL上发现: 罗伯特·麦克诺顿(Robert McNaughton):《乔姆斯基体系的插入?在:珠宝是永恒的,为纪念Arto Salomaa在理论计算机科学上的贡献。S.204-212,1999年 http://en.wikipedia.org/wiki/Nested_word#参考(VPL) 如果您知道任何有关VPL,DCLF,GCSL和索引语法的正式语法的最新教科书(也更适合实际应用的指针),我也将很高兴。

13
面向高年级学生的励志演讲
我的系经常要求我与高中毕业的学生就计算机科学的更多数学元素进行讲座。我尽我所能从TCS中选择主题,这些主题可能会激发他们的兴趣(主要涉及与Halting问题有关的事情),但希望听到其他人的想法/成功/失败。 职权范围是这些学生正在考虑在一家体面的大学申请CS本科学位,但可能更受数学或另一门科学的吸引。我发现最短路径算法或更快的排序方法的常规主题实际上并不能再引起他们的兴趣。

14
自动机理论有多实用?
在与理论计算机科学相关的主题中总有一种应用方法。但是,教科书和本科课程通常无法解释自动机理论成为重要课题的原因,也无法解释其在实践中是否仍具有应用价值。因此,大学生可能难以理解自动机理论的重要性,并可能认为它已不再具有实际用途。 自动机理论在实践中仍然有用吗? 它应该成为本科CS课程的一部分吗?

6
您是否曾经意识到自己无法解决分配的作业?
该问题针对的是分配问题的人:老师,学生助理,导师等。 在我担任教授的12年职业中,我经历了几次这样的事情:我匆匆从书中分配了一些问题,认为“这看起来不错”。后来才意识到我无法解决。很少有什么比这更尴尬的了。 这是一个最近的示例:“给出一个线性时间算法来确定有向图是否具有奇长周期。” 我以为这是微不足道的,只是后来才意识到我的方法行不通。GGG 我的问题:您认为要做的“专业”是什么: 专注于问题,直到您解决它,然后再对学生说什么。 取消问题而无需解释,继续您的生活。 在cstheory.SE上寻求帮助(并得到答复,“这是一个家庭作业问题吗?”) 注意:我正在寻找我可能没有想到的实用且头脑冷静的建议。我意识到我的问题具有很强的主观性,因为处理这种情况在很大程度上涉及自己的口味,因此我理解读者是否希望看到未讨论的内容。

8
我们应该教渐近增长率的哪个定义?
当我们按照标准教科书,或传统,我们大多数人教大哦符号的定义如下在算法类的第几章: 甚至我们甚至可以给出带有所有量词的整个列表:f=O(g) iff (∃c>0)(∃n0≥0)(∀n≥n0)(f(n)≤c⋅g(n)).f=O(g) iff (∃c>0)(∃n0≥0)(∀n≥n0)(f(n)≤c⋅g(n)). f = O(g) \mbox{ iff } (\exists c > 0)(\exists n_0 \geq 0)(\forall n \geq n_0)(f(n) \leq c \cdot g(n)). f=o(g) iff (∀c>0)(∃n0≥0)(∀n≥n0)(f(n)≤c⋅g(n))f=o(g) iff (∀c>0)(∃n0≥0)(∀n≥n0)(f(n)≤c⋅g(n))f = o(g) \mbox{ iff } (\forall c > 0)(\exists n_0 \geq 0)(\forall n \geq n_0)(f(n) \leq c \cdot g(n)) …


10
出色的算法,机器学习和线性代数
我教授一门高级算法课程,并且希望包括一些与机器学习相关的主题,这将使我的学生感兴趣。结果,我想听听人们对机器学习中当前最有趣/最伟大的算法结果的看法。潜在的棘手约束是,学生将不会对线性代数或机器学习中的其他主要主题有任何特定的先前知识。 这的确使他们兴奋,并使他们知道ML对于算法专家来说是一个潜在的令人兴奋的研究领域。 编辑:这是最后一年的本科课程(因为我们主要在英国没有研究生课程)。他们将事先至少完成一门基本算法课程,并且大概在其中做得很好,从而选择了高级后续课程。当前的高级课程提纲中包含诸如完美哈希,Bloom过滤器,van Emde Boas树,线性程序等的主题。我不打算在ML上专门花费一堂以上的讲座,但如果某门课程与一门算法课程和一门ML确实相关,那么当然也可以包括在内。

1
Karger-Stein分支扩增的其他应用?
我刚在我的研究生算法课上教过Karger-Stein随机mincut算法。这是一个真正的算法瑰宝,所以我不能教它,但是它总是让我感到沮丧,因为我不知道主要技术的任何其他应用。(因此,很难分配功课来将重点带回家。) Karger和Stein算法是对Karger早期算法的改进,该算法迭代收缩随机边缘,直到图形只有两个顶点为止。这个简单的算法以时间运行,并以概率Ω (1 / n 2)返回最小割,其中n是输入图中顶点的数量。改进的“递归收缩算法”迭代收缩随机边缘,直到顶点数量从n降至n / √Ø (ñ2)O(n2)O(n^2)Ω (1 / n2)Ω(1/n2)\Omega(1/n^2)ñnnñnn,在剩余图上递归调用两次,然后返回两个结果割中较小的一个。改进算法的直接实现以O(n2logn)时间运行,并以概率Ω(1/logn)返回最小割。(这些算法有更有效的实现,以及更好的随机算法。)n / 2–√n/2n/\sqrt{2}Ø (ñ2日志n )O(n2log⁡n)O(n^2\log n)Ω (1 /对数n )Ω(1/log⁡n)\Omega(1/\log n) 还有哪些其他随机算法使用类似的分支扩增技术?我在那个例子特别感兴趣,没有(明显)涉及图切割。

5
问题教学的可计算性
我很难教授可计算函数的概念。我试图提出一个想法,为什么像希尔伯特(Hilbert)/阿克曼(Ackermann)/戈德尔(Godel)/图灵/教堂/ ...这样的研究人员发明了“可计算性”的概念。学生们立即问:“可计算性是什么意思?” 除非我教他们图灵机,然后回答“如果图灵机对其进行计算,则该函数是可计算的”,我不会回答。 所以, 是否有不需要使用图灵机,λ演算或类似计算模型的可计算性描述?即使是直观的描述也足够了。

6
课程:安全中的逻辑/正式方法
目前,我开设了一门小课程(在安全级别上为时两个小时的讲座),涉及安全中的逻辑方法,尽管标题“ 安全中的形式方法”可能更合适。它简要介绍了以下主题(以及相关的逻辑方法): 数字版权管理和政策执行(一般形式化,模态逻辑,通过自动机执行) 带有证明的代码和带有证明的认证(证明理论,逻辑系统,Curry-Howard同构,验证) 访问控制(非经典逻辑,证明理论) 堆栈检查(编程语言语义,上下文对等,双仿真) 当然,该课程有多个目标,其中一个目标是吸引潜在的研究生。 在未来几年中,该课程可能会扩展为常规课程,这将需要更多内容。鉴于这里的人的背景与我的背景完全不同,我想知道您将在此课程中包括哪些内容。


4
理论计算机科学家的抽象代数
我接受过合理的本科数学教育,但从未百分百满意抽象代数(群,环,场等的数学)。我认为这部分是因为我需要查看应用程序,而我能找到的任何应用程序都是在物理领域,而不是CS。因为我真正的兴趣是CS,所以现在有没有可用的材料(在线草稿,讲义,视频,书籍)从CS中的应用(尤其是算法/理论)的角度涵盖抽象代数?我很高兴这些应用程序完全是理论性的,但是它们不应该假设任何已有的抽象代数知识。 我很确定这些资源是否存在,它们将被大量CS研究人员所赞赏。

4
教授高中TCS-现有课程
我被提供去教授一个新颖的TCS高中课程,这需要构建一个课程。我非常想听听对此的意见和建议。 首先,是否有人知道成功(或失败)教授过TCS计划的高中? 这个想法是针对选定的优秀学生的三年计划(10-12年级,16-18岁),大约每周8小时,这意味着它可以而且应该很苛刻。与标准“计算机”程序不同,该程序不应专注于编程,而应关注CS中的选定主题,主要是TCS中的主题。到目前为止,我们所考虑的主题大致是: 渐近分析 基本数据结构和算法(列表,数组) 图算法,也演示了贪婪算法与动态编程的比较。 其他算法(例如概率论) 可计算性-TM的概念,简化,可判定性。 复杂性-NP,P,或者PSPACE和NL。完整性。 自动机理论 基本上,这涵盖了计算机科学学士学位的头两年的TCS部分。但是,我们必须记住,这些学生缺乏大部分材料所需的数学基础。尤其是,在高中时并没有教授过诸如集合论,组合论,概率论和模态人工等东西。 概括起来,并给出确切的问题: 有人在任何地方都知道类似的程序吗? 是否有关于具体/一般主题的建议,您认为可以在上述主题之外/代替这些主题,同时又要使该课程有趣,重要且直接相关(例如,小组理论既重要又有趣,但不够相关)以证明需要的时间) 我很乐于以某种形式介绍机器学习,因为这是当今一个非常热门的话题。任何关于不借助测量集中定理等工具即可如何呈现机器学习的想法都值得欢迎。
16 teaching 

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.