用于教授高中生的语言+ IDE?

时间:2010-03-14 01:17:05

标签: ide programming-languages

我正在为一个涉及高中学生教学(11年级左右)的项目调查语言和IDE。它将教授编程的基础知识作为计算机科学的介绍(例如,包括如何表示数字/字符串/字符,使用过程和数组,控制流程,一些算法,只有非常基本的I / O)。该项目的不可妥协要求是:

  • 一个免费的最新跨平台IDE(Win& Mac,包括64位),带有调​​试
  • 一个可以从错误中轻松学习的编译器
  • 与IDE一起,一个温和的安装+学习曲线

到目前为止,我看到的最佳选择如下。还有其他我应该知道的吗?我正在给每个人做一个简短的解释,以便总体展示我在寻找什么。从大多数到最不乐观的顺序:

有为:

  • Pascal + FreePascal IDE(看起来有点小马车但是积极开发?)
  • Python + Eclipse + PyDev(很好,但功能很难/很难导航)
  • Scheme + DrScheme / PLTScheme(好但非常不同)
  • Python + IDLE(看起来不自然地对我做调试)
  • Boo + MonoDevelop

没有前途:

  • Pascal + Lazarus(IDE势不可挡,例如并不明显如何“从头开始”)
  • Groovy + Eclipse(调试模式进入Java)

优选地,根据经验,语言应该足够直接,您不需要将每个程序包装在一个类中,也不需要将System对象引用到println等。

我尝试了一下,看看JavaScript或(非Visual)Basic中是否存在我想要的内容,但到目前为止一无所获。我会说C / C ++ / C#,Java,Ruby,VB不适合我这个项目语言的标准。

重申我的问题:这些选项中的任何一个都非常棒或者非常棒吗?还有其他选择甚至更棒吗?什么基本或JavaScript符合所有标准?谢谢!

编辑:人们会说他们是否推荐他们实际使用的工具是有帮助的。另外,我根据第一轮回复编辑了上面的列表。

8 个答案:

答案 0 :(得分:5)

  

还有其他选项甚至更棒吗?

是: PLT计划TeachScheme项目旨在完全为高中生(甚至是中学生)教授计算机科学和编程,他们拥有超过15年的经验,开发出一流的IDE和教学法。 除非你因为不合理地厌恶括号,或者除非你宁愿踩到别人的脚趾而不是站在他们的肩膀上,否则这就是你应该教的。

(初学者还有其他不错的选择,但没有一个与上面列出的替代品相当。)

答案 1 :(得分:3)

查看BooMonoDevelop

此外,微软的Small Basic针对新/年轻程序员。 IDE(如果它可以被称为)使用简单,语言基于传统的BASIC,所以大多数人都应该很容易接受。如果你真的需要在Mac上运行它,为什么不使用VirtualBox或VMWare Player?

答案 2 :(得分:2)

F#听起来是最好的选择,因为你不需要做OO或功能,但你可以随意混合它们。它有一个交互式shell,但它也是完全类型安全的。它集成了所有的.NET库,专门用于集成其他语言和库,并提供钩子等....

对于学生来说,它使他们能够以交互方式设计程序,但也使用Visual Studio创建F#应用程序,具有完整的intellisense等....

如果有人不了解某件事情,那么它很容易成为品牌打击新语言的最佳选择,并且可以使用完全相同的语言和平台将您从初学者带到超级编码器。

查看Don Syme(F#的创建者),他讲了F#的3部分讲座,他谈到了用F#开发的交互式,交互式,实验性方法,它的功能等等:http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Don-Syme-Introduction-to-F-1-of-3/

答案 3 :(得分:1)

您评论说您排除了Lisp,但没有说明原因。我意识到Common Lisp非常大,但是你可能想要再看一下Scheme方言,它更小更简单,并且经常被用作非CS类型的教学语言(Felleisen等人的< em>如何设计程序专门针对非程序员观众)。有各种各样的“Lisp in a Box”IDE-esque包可供下载。

也就是说,Python和Pascal在商业计算中的使用比Scheme更广泛。所以你可能因为这个原因而更喜欢它们。

答案 4 :(得分:0)

听起来你需要自己编写一种语言。虽然我想说C#的编辑器有开放和免费版本(在Windows和Linux上),但语言是各种其他语言(java,C ++等)的很好的横截面。语言导入和模块(例如System.Console)可以使用别名和部分类轻松解决,这些别名和部分类可以在默认的“新项目”中提供,这样一切都可以按照您在上面指定的方式工作。

除此之外,您可能希望查看脚本语言(Python,Powershell等),IDE有多种选择,但调试器可能是更大的问题。

答案 5 :(得分:0)

看一下freebasic,这是一个32位基本编译器并且是开源的,可能符合要求,请看phatcode.net ...从他们的网站引用(第一个链接):

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位版本的BASIC语法,看看他们网站QB64的wiki页面上的这个here ..,引用他们的页面{{ 3}}:

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.

答案 6 :(得分:0)

为什么不是Java?看起来你排除了学生在编程工作中实际使用的所有语言。

我使用JCreator作为IDE在高中课堂教Java。我们明年将转向AP计算机科学,它也教授Java。它并不完美,但它是一个不错的选择,考虑到: - Java有类似C语法 - Java在教学面向对象编程方面做得很好 - 这是免费的 - 它被广泛使用

去年我在教小苹果,但我明年将转向应用程序。有一些很好的资源可以开始使用College Board网站。

如果他们学会了一些他们永远不会再使用的晦涩语言,我认为学生会感到沮丧。

答案 7 :(得分:0)

作为旧学校程序语言的Modula2和作为IDE使用的XDS怎么样? Modula2非常像Pascal,并且非常直观。那是我的第一个编程语言......