Language agnostic 如何保持编程课程的趣味性?

Language agnostic 如何保持编程课程的趣味性?,language-agnostic,Language Agnostic,我想,以下是每所学校或大学的标准问题: 教编程是你的工作。不幸的是,有些学生 是半专业人士,有多年经验,而其他人甚至不知道基本概念,例如“类型变量”概念 据我所知,这会导致以下情况之一: 编程是从最基本的方面来考虑的。有经验的学生感到厌烦,就不去看讲座了。因此,他们甚至会错过那些他们还不知道的东西 教师和教授声称他们需要基本知识(不管这意味着什么)。没有经验的学生不能听讲,他们中的许多人会专注于不重要的东西(例如,理解复杂示例的每个细节,但不理解示例背后的概念)。有些人会放弃 大学发明了一种人工

我想,以下是每所学校或大学的标准问题:

教编程是你的工作。不幸的是,有些学生 是半专业人士,有多年经验,而其他人甚至不知道基本概念,例如“类型变量”概念

据我所知,这会导致以下情况之一:

  • 编程是从最基本的方面来考虑的。有经验的学生感到厌烦,就不去看讲座了。因此,他们甚至会错过那些他们还不知道的东西
  • 教师和教授声称他们需要基本知识(不管这意味着什么)。没有经验的学生不能听讲,他们中的许多人会专注于不重要的东西(例如,理解复杂示例的每个细节,但不理解示例背后的概念)。有些人会放弃
  • 大学发明了一种人工编程语言,给有经验的程序员和新手“同等的机会”。大多数学生会对“无用的语言”感到沮丧

  • 有没有第四种方法比上述方法更好?

    我认为保持其趣味性的最好方法是根据理论提出实用且有趣的练习。采用解决问题的方法是很好的(有有趣、有趣、令人兴奋的现实世界问题)。这就要求这位教授自己有实践经验,使用新技术,并且非常了解它们,而不仅仅是教授几十年前学到的东西

    问题是,编程应该通过实践来学习。教师应注重激励学生编写代码并尝试自己解决问题。这可以通过在课程开始时分配一个完整的类似生命的项目,并在课堂上完成项目中出现的子问题来完成。通过这种方式,学生将了解为什么编程语言中存在某些特定功能,以及这些功能在哪里可能有用


    只是一个想法。没有试过!;)

    在我看来,这是一个基于学生位置的问题,而不是作为一名教师,你应该太有兴趣处理的问题

    如果本课程是计算机编程入门,那么你真的需要从基础知识开始。如果你的教室里挤满了知道如何编程的专业人士,而他们却没有出现,那要么是你的课程描述有问题,要么是学校强迫他们在不允许他们考试的情况下将课程作为预科


    你的工作应该是在课程描述中描述你想教什么,并教授它。如果学生入学资格过高,那就是他们的问题。我认为你真正需要避免的唯一一件事是,如果你的课程真的是为初学者开设的,那就尽量让课程对初学者来说过于高级

    在我参加的一门课程中,课程成绩的很大一部分来自提前公布的期末项目,并为各种附加和装饰提供额外学分。有足够经验的学生可以开始学习,而他们的兄弟们则被教授基础知识


    但正如Dave Markle所说,这其中的一部分是让正确的学生进入你的课堂:你真的想要一个一开始就非常匹配的群体。

    如果你有很多有经验的学生,或者这是一门高年级/研究生水平的课程,你应该专注于融入现有的生态系统。能够理解并融入现有项目,而不是总是从头开始工作,这是你能给予这些学生的最重要技能

    因此,编程任务应该来自真实世界的场景。例如,在开源项目中为他们分配任务。这也可以使它更有趣,特别是当他们的工作可能成为现实世界项目的一部分时


    如果是真正的初学者,运气不好,你将不得不坚持基础知识,尽管如果学生不是CS专业,你可以从他们自己的领域(如工程、化学等)制造问题。

    我最近参加了一个课程,在该课程中,学生们在编程方面有着广泛的经验。他们仍然设法让班上有经验的程序员感兴趣,通过一个练习程序,他们对练习的实际部分(编程部分)进行计时,并将结果发布在高分图表中。在每次讲座结束时,教授都会给我们一些建议,告诉我们怎样才能更好地改善我们的时代。我们都知道,所有的工程师都喜欢竞争这些榜首,所以我们不断地出现,甚至学到了一两件新东西。 没有经验的学生也设法完成了练习,即使他们不太在乎自己的时间


    不知道你的课程是否能实现这个解决方案,但如果是的话,你应该认真考虑一下。 过了一段时间,差距就变得越来越大了。这需要一整年的时间才能让初学者理解那些不会让更高级的人感到厌烦的东西


    然而,这显然取决于主题和设置。对于这些方法的某些组合,解决方案是按照课程收费的水平进行教学。那些要进步的人会被解雇,那些没有经验的人会落后并辞职。别担心,反正两人都不该去上课。另一方面,如果他们需要上这门课,那么更高一级的人就会把事情搞砸。

    坐在椅子上看别人讲话很无聊(即使你说得很好)

    如果你能取得一些成就,当你能操纵世界并获得成功时,事情就会变得有趣。所以,尽可能多地增加练习,确保他们能及时、准确地完成