Language+IDE for teaching high school students?
我正在为一个涉及高中生教学的项目(大约11年级)调查语言和IDE。它将教授编程的基础知识,作为计算机科学的入门(例如,包括如何表示数字/字符串/字符,使用过程和数组,控制流,一点算法,只有非常基本的I/O)。本项目的不可协商要求如下:
- 具有调试功能的免费最新跨平台IDE(Win&Mac,包括64位)
- 一个容易从错误中学习的编译器
- 与IDE一起,一个温和的安装+学习曲线
到目前为止,我看到的最佳选择如下。还有其他我应该知道的吗?我对每个人都做了简短的解释,以大致说明我在寻找什么。从大到小依次是:
有前途的:
- 帕斯卡+自由帕斯卡IDE(似乎有点小推车,但积极发展?)
- python+eclipse+pydev(很好,但功能强大/难以导航)
- Scheme+DRScheme/PLTScheme(很好,但非常不同)
- python+idle(对我来说,做调试看起来不自然)
- Boo+单体发育
没有希望:
- Pascal+Lazarus(IDE压倒性优势,例如不明显如何"从头开始")。
- Groovy+Eclipse(调试模式进入Java)
最好,根据经验法则,语言应该足够直接,您不需要将每个程序包装在一个类中,也不需要将系统对象引用到println等。
我尝试了一点,看看是否有什么东西在javascript或(非视觉)基本沿我想要的行,但没有找到迄今为止。我认为C/C/+/C/X,Java,露比,VB不适合这个项目的语言标准。
重申我的问题:这些选择中有一个真的很棒还是不很棒?还有其他更棒的选择吗?基本或javascript是否满足所有标准?谢谢!
编辑:这对人们说他们是否在推荐他们实际使用的工具很有帮助;另外,我根据第一轮的回答编辑了上面的列表。
Are there other options which are even MORE awesome?
是:PLT方案。该教学计划的设计正是为了向高中生(甚至是中学生)教授计算机科学和编程,他们已经有超过15年的经验,开发了一个一流的IDE和教学方法。除非你对括号有一种非理性的厌恶,或者除非你宁愿踩别人的脚趾而不是站在他们的肩膀上,这就是你应该教的。
(对于初学者还有其他不错的选择,但没有一个可以与上面列出的备选方案相媲美。)
看看Boo和MonoDevelopment。
此外,微软的小型BASIC针对的是新的/年轻的程序员。IDE(如果可以这么叫的话)使用起来很简单,而且语言是基于传统的基本语言,所以对于大多数人来说,它应该很容易理解。如果您真的需要在Mac上运行它,为什么不使用virtualbox或vmware player?
F听起来是最好的选择,因为你不需要做OO,或者功能性的工作,但是你可以随意地将它们混合在一起。它有一个交互式外壳,但它也是完全类型安全的。它集成了所有的.NET库,并且专门为便于与其他语言和库集成而构建,提供了钩子等。
对于学生来说,它使他们能够以交互方式设计程序,但也可以使用Visual Studio创建具有完全智能感知等功能的f应用程序。
如果有人不知道一件事,这很容易成为一种全新语言的最佳选择,它可以让你从初学者到使用完全相同语言和平台的超级程序员。
查看Don Syme(F的创建者)关于F的3部分演讲,他在演讲中谈到了与F开发的互动、互动、实验性方法、它的特性等:http://channel9.msdn.com/show/going+deep/c9-chassories-dr-don-syme-introduction-to-f-1-of-3/
你说你排除了口齿不清,但没有说原因。我知道常见的Lisp非常大,但是您可能想再看一下Scheme方言,它小得多,简单得多,而且经常被用作教学语言,即使对于非CS类型(Felleisen等人的"如何设计程序,专门针对非程序员的受众")。有各种"Lisp in a Box"的IDE风格包可供下载。
这就是说,python和pascal在业务计算中的应用要比方案广泛得多。所以你可能会因为这个原因而喜欢它们。
那么模块2作为旧的学校程序语言,xds作为一个ide来使用呢?模块2是非常类似帕斯卡和真正的紧张向前。那是我的第一种编程语言…
为什么不是Java?似乎你排除了学生在编程工作中实际使用的所有语言。
我用JC造饰器作为IDE在我的高中课堂上教JAVA。我们明年过渡到AP计算机科学,这也教Java。这并不完美,但考虑到:- Java具有类似C的语法- Java在面向对象编程方面做得很好。-是免费的-它被广泛使用
去年我在教小程序,但明年我将转向应用程序。大学董事会网站上有一些很好的启动资源。
我认为如果学生们学习一些他们再也不会使用的晦涩的语言,他们会很沮丧的。
请看一下FreeBasic,它是一个32位的基本编译器,是一个开源的,可能符合要求,请看下面的phatcode.net…从他们的网站引用(第一个链接):
1 2 3 | FreeBASIC is a completely free, open-source, 32-bit BASIC compiler, with syntax similar to MS-QuickBASIC, that adds new features such as pointers, unsigned data types, inline assembly, object orientation, and many others. |
说到这一点,你需要一个64位版本的类似基本语法,看看QB64。在他们网站的wiki页面上,这里引用他们的页面:
1 2 3 4 5 6 7 8 9 10 | QB64 is a compiler with an editor(IDE) that strives for 100% Qbasic and QuickBasic 4.5 compatibility. Galleon is the author of QB64 and has decided to work alone on the compiler for the time being to keep it on the right track, but open-source has been implied in the future. QB64 not only strives for 100% QB 4.5 compatibility but also strives to extend the capabilities of QBasic to fit modern needs without changing the BASIC philosophy. New statements often begin with _ to keep it compatible with old QB source. |
听起来你需要自己写一种语言。虽然我想说,C语言的编辑器有开放的和免费的版本(在Windows和Linux上),语言是各种其他语言(Java、C++等)的一个很好的横截面。语言导入和模块(例如system.console)可以通过别名和部分类轻松解决,这些别名和部分类可以在默认的"新项目"中提供,这样所有内容都可以按照上面指定的方式工作。
除此之外,您可能希望了解脚本语言(python、powershell等),还有多种选择,但调试器可能是更大的问题。