编程C,C ++,Java,PHP,Ruby,图灵,VB
计算机科学加拿大 
编程C,C ++,Java,PHP,Ruby,图灵,VB  

用户名:   Password: 
 登记登记   
 高级与教育中的低水平
指数 -> 一般讨论;一般交流
转到页面 1, 2, 3, 4  下一页
查看上一个主题 可打印的版本下载主题订阅本主题私人信息刷新页面 查看下一个主题
作者 信息
Mirhagk.




邮政发布: 星期五2011年10月21日下午4:33  帖子主题:高级与高水平的教育

今天在我的计算机科学课上,一个有趣的辩论来提出,这是一个相当普通的辩论。应该编程类使用IDE和高级语言来抽象从程序员的工作和困难,还是应该教他们指挥线,低级语言,因此他们可以真正理解他们正在做的事情。

这一论点的两侧都缺少论证的关键点。这个论点不是你宁愿使用哪个(尽可能多的信任,争论是一个更好的系统和没有什么)。该论点也不是最能知道的。参数是在课堂设置中,这是一个更好的教学系统。

许多倡导低水平,因为它更好地了解,而且我同意这一点,我个人认为,直到你在装配编码,你没有学到足够称为自己的程序员。但是,我不相信普通乔可以开始学习装配,甚至命令行。已经课程充满了垃圾的垃圾,这意味着没有足够的时间来实际学习如何代码。如果在学习如何从命线学习如何从命令行编译,或者指针是什么,或者为字符串操纵和排序做出自己的函数,那么就会有很少的时间来学习编程。

低级别编码更耗时地学习,以及对新程序员的恐怖更可怕。

我相信这个问题归结为一件事。课程是否存在测试学生的能力,让那些擅长擅长顶部的人(在低水平中),或者教授它的所有基础知识,即使这些学生再也不会碰到电脑,而且唐我目前明白Internet Explorer不是互联网。计算机科学是一个较少的员工工作的领域,或者是一个拥有许多工作的领域,以及一个小劳动力。

我也认为人们忽略了制作复制和粘贴程序员的原因,以及什么使程序员不了解任何事情。它是否必须与勺子喂食(没有足够的学习它实际上是如何工作),或者它与简单的兴趣有关吗?

我很乐意在最后一点看一些研究,以及我的数据项目,这就是我将要做的。在10年级的课程中,我帮助了,学生知道一个指针是什么,谁了解编译器所做的是对其感兴趣的学生。他们是参加小型作业的学生,​​并将它们太极地(超克服它们)。那些不明白的人真的不在乎那么多。我们教他们一个编译器是什么,而那些得到它的人是那些有兴趣的人,不一定是聪明的人。

我想了解其他人对此的看法,所以请分享你的。请遗漏讨论语言x是否比语言y更快地运行,或者是一个更好的语言。我只是谈论它应该在高中设置中使用它。我的学校将在今年重写10年级课程,所以如果有人拼命地相信低级教学,也许他们愿意实际帮助写课程材料?
赞助
赞助
赞助
赞助
魔鬼




邮政发布: 星期五2011年10月21日下午4:54  发表主题:RE:高级与教育中的低水平

教学中克服的关键障碍之一是损失感兴趣的障碍。在编程中有一个陡峭的学习曲线,没有理由 - 一个目标 - 大多数人根本不会打扰。更糟糕的是,编程比职业外部的大多数人都相信*,所以创造甚至相对琐碎的应用程序是耗时的,需要很多知识。

一段时间后,学习曲线的陡峭下降:一段时间可以挑选新的概念,语言,框架等,努力相对较少,一旦他们拥有基本的心理框架来处理这种抽象信息和推理。然而,到达这一点需要致力的和协调一致的努力。通常,这要求学生能够衡量地进入 目标.

就高级与低级而言,我看到的问题是选择不依赖于教师或技术或工作场所。相反,它应该是基于的 学生的目标。如果学生想要了解CPU工作和学生B的究竟是如何学习如何显示网页的,那么就没有任何语言,课程或书籍。显然,A和B都需要每个初学知识,但如果您尝试教授PHP / ASP / JSP / ETC,那么A可能会厌倦泪水;同样,如果您尝试教C / ASM,则B将无聊。

如果您未能在学生的思想中建立目标,那么A和B都会无所谓无所谓。

我不相信高级或低级固有地“可怕”。低级是可怕的,因为您必须在开始之前学习很多东西(编译,基本的CPU设计,......)。高级是可怕的,因为您依赖于您下面的数十个系统(操作系统,服务器,协议,库,......)正常工作,这意味着阅读大量文档是关于他们的工作方式。

*这几乎肯定是很多职业,似乎特别隐藏在编程中。
Mirhagk.




邮政发布: 星期五2011年10月21日下午5:40  发表主题:RE:高级与教育中的低水平

但是,您必须同意学习曲线是一个陡峭的倍数,然后它与Java / C#/图灵等有所替代,以制作一个项目,该项目演示了用户有线的东西,仅仅是一个高级语言的一天(假设一切都已安装并设置),在那里用C或ASM的任何东西都需要更多时间。

更高级别语言/环境的另一个论点是,可以轻松允许学生以他们想要的任何语言编程,因此为那些越来越多的学生的学生教导,并允许熟练的程序员自己进一步更深系统运行良好的系统。
托尼




邮政发布: 星期五2011年10月21日6:28 PM  发表主题:RE:高级与教育中的低水平

好吧,没有。 Java是一个可怕的例子,因为学习曲线是这样的 - “欢迎来到Java。忽略所有的一切,而是粗体的部分”
引用:

Class HelloWorldApp {
公共静态void main(String [] args){
System.out.Println(“Hello World!”);
}
}

当然,你在屏幕上有有形的东西。您还可以了解您刚刚输入的特征的25%。通过制作一堆隐含的东西,某些语言隐藏了复杂性。

Do〜45的MIPS组件指令具有陡峭的学习曲线,而不是了解Main()方法是静态的意义吗?几乎不。您是否会争辩说,在Java中编写应用程序服务器更容易?不开玩笑。但这是特定于域的应用程序。通过拖放在Unity3d周围的一些东西来制作“3D游戏”。 “理解量”比例的“实际复杂性”是尺度!

首先挑选语言不是问题的右侧。 您希望教授哪些特殊的概念? 你想让学生们在屏幕上旋转图像吗?有工具。您希望它们建立正式提到的工具吗?还有其他工具。算法和数据结构怎么样?为什么,这些根本不需要任何编程!我们可以花几年除了数学,终于用CS纸来实现别人实施。
最新来自compsci.ca/blog: Tony's 编程博客 。 DWite - A. 编程竞赛.
Mirhagk.




邮政发布: 星期五2011年10月21日7:38 PM  发表主题:RE:高级与教育中的低水平

好吧,10年级课程现在关注变量和基本数据结构,如果语句,循环(for range),函数和图形(它在图格中)。

我认为10级班级的目标应该与此类似。它介绍了编程的概念,也展示了学生一些酷炫的游戏。

这是我们正在考虑的想法之一:

切换到使用学生创建功能以操纵视觉系统中的对象的系统。例如,我们会创建一个迷宫计划,学生会写一个程序来解决它。其他事情是写作人工智能,分类算法等。


我不确定这个想法,但11年级没有10级预先req,因此我们不能依赖于11年级的本课程的知识。这可能会为他们提供一个乐趣的抽象,而且教他们。基本上它就像脚本一样。

另一个想法是切换到C#并使用控制台应用程序。教学学生,循环等等,然后在11年级,我们可以快速完成这一目标,期待更多的学生没有获得10年级。

如果有人有任何想法,请告诉我。
Crossley7.




邮政发布: 星期五2011年10月21日上午9:10  发表主题:RE:高级与教育中的低水平

根据我的经验,都有优缺点和局限性。首先,你知道我来自哪里,10年级和11年级的Cod SCI课程由没有算法(我不知道o(log n)效率真正意味着什么,但知道它是超级有效的涵盖极端基础(函数未提及至11年级),所以我教授了如何使用图灵,然后一旦班级在11年级学习Java,我就教授了C ++的一部分,因为我发现它是一种更容易的语言at和各种其他原因。然后在今年夏天,我为我的父母工作了使用FileMaker Pro开发业务软件应用程序。

java.,TINGS,C ++等是中级语言,包括低级(C,Commption)和高级(FileMaker脚本)编程的方面。

我认为,对于10年级COMP SCI,最好的选择是一种类似于图灵的语言,其中命令是典型的编程语言与普通joe可理解的真实世界术语之间的命令。它将为他们提供基本知识,并在某些时候,可以介绍关于算法效率的基本概念,可以引入数据结构和类。

在11年级中,您可以为那些不在10年级的人进行2-3周的课程摘要,然后使用诸如C ++ / Java等语言来了解更多高级概念以及如何实现一些更多高效的算法和使用更高级概念来创建功能程序。

一旦你到达12级,我觉得有人会有足够的经验能够选择一个3或4种语言,他们将用于实施课程要求(Python,C#,Java,C ++),也可以教授PHP的基础知识和MySQL对网络设计感兴趣的人。
Mirhagk.




邮政发布: 2011年10月22日星期六1:02  发表主题:RE:高级与教育中的低水平

我想如果我们与传统模式一起使用,我们将在10年级使用控制台教授C#。然后在11年级,进入XNA,在12年级实际上可以进入高级算法,而不是。我认为在我们学校的编程俱乐部会教中额外的语言,让兴趣的学生可以学习,但专注于一种语言意味着我们可以通过它移动得多。
虫子




邮政发布: 2011年10月22日星期六10:13 AM  发表主题:RE:高级与教育中的低水平

我认为具有一个非常简单的图形库的低级别语言是必需的。保持这种语言足够简单,可以快速学习,同时提供让孩子们感兴趣的工具。

孩子们不想担心指针或数据如何存储或者类是什么。他们想制作游戏或动画,玩得开心。从我的经历中,很多孩子甚至没有介意生产非常琐碎的游戏,只要班上的某个人正在令人敬畏。虽然对所有其他应用程序的垃圾来说,但在这方面非常出色。它的低级足够低,你被迫编写了很多普通代码,但你不会被淹没的高水平足够。

我相信有一些人“只是得到它”。也许不是马上,但在开始他们的教育后很快就会很快就是“点击”,突然间它有意义。学生习惯于对每个测试的信息进行反动,然后有一个任务,要求您将您的一切放在一起以解决单一的大问题。在计算机科学类中,每个分配都是一个问题。

10级CompSci主要是关于曝光我想。向学生展示该领域的内容,保持足够简单,以至于每个人都很好地做得很好,然后在11年级返回的串联中加固。没有人知道他们在服用之前是否喜欢编程
班级所以你得到了很多多样性。

引用:
计算机科学是一个较少的员工工作的领域,或者是一个拥有许多工作的领域,以及一个小劳动力。


每个大公司都有IT部门。每个小公司都有一个网站。它的电路板中的一切都有一名工程师或计算机科学家。几乎每个需要度过一定程度的领域都是由程序员在线的某个地方支持。世界上所有的软件是由程序员编写的(除非是另一个程序写的,在这种情况下, 程序可能是由程序员编写的)。地狱,我的学校的合作办公室聘请了自己的计算机科学合作学生,完全简化了合作社和雇主的应用程序和放置过程。我昨天与安大略省两次核设施的代表讨论过核心综合职位,涉及核反应堆的编程模拟,并为新系统重新编写旧软件。计算机科学学位(以及它应该与之附带的经验)可能是获得最佳学位,以保证一旦毕业后的工作。
赞助
赞助
赞助
赞助
Mirhagk.




邮政发布: 2011年10月22日星期六上午11:00  发表主题:RE:高级与教育中的低水平

虫子是我的观点。这就是为什么我认为这门课程应该是“这就是你能做的事情/让我们的利益学生”当然不是确保他们真的*得到​​它。计算机科学需要更多的工人,越多的人推进技术领域,需要的其他工作越少(杂货店的自助服务是惊人的,1名员工一次帮助8人,而不是1人)。

我认为抽象是学生的伟大事物,这是一个加上图形的图形库,但它没有对列表或排序的支持,因此如果一个孩子想要对某事进行排序,他们需要了解这一点。

C#,同时需要一些标题代码,摘要几乎是程序员将要做的任何常见功能。它有支持所有主要集合等,同时具有简单的语法。

另外还有C#,我们可以使用Visual Studio IDE,这意味着学生可以打开它,创建控制台应用程序,并刚刚开始将代码键入主要功能。它还提供动态库查找,因此学生甚至不需要通过文档搜索或询问老师如何使用他们尚未研究的命令。

我认为如果提出有IntelliSense,库查询和智能语法突出显示/格式化,那么它是教学的最佳语言,但没有那些学生都需要搜索互联网,看看如何使用命令(或问我1000一天中的一天,或傻瓜,直到它工作哈哈)。我在课程材料上方和超越课程材料上侦察了前几天的日子,并向他们展示了这个网站,因为这是学生们可以查找图灵命令的唯一地方(文档在我们的学校不起作用)。
Crossley7.




邮政发布: 2011年10月22日星期六12:19下午  发表主题:RE:高级与教育中的低水平

你不一定希望人们试图使用命令来做一个简单的事情,如排序。是一个泡沫的排序,很难向某人展示你必须拥有的选项排序(array.start,array.end),因为任何人都做一个简单的排序?我觉得太多建立了Incommands我觉得是一件坏事,它会导致初学者依赖于这些内置的命令,而不是试图学习如何做那些类型的东西,然后转到他们不想要的地方,他们不必手动编码排序。
虫子




邮政发布: 2011年10月22日星期六1:18  发表主题:RE:高级与教育中的低水平

引用:
另外,C#我们可以使用Visual Studio IDE


我个人认为,ides对新学生来说是个坏主意。解释如何从命令行编译并不难。没有必要在他们身上强迫这种额外的开销。我还没有找到一个我喜欢的IDE,而不是一个具有语法突出显示和命令行的文本编辑器。没有什么比帮助学生学会使用IDE更多的了。

说我们有这件事称为“魔术”。魔术是我们不知道的事情,因为我们不知道,因为我们不知道。我们不喜欢不知道事物,所以我们试图尽量减少魔法。一个IDE增加了魔法。像C#这样的高级语言包括很多魔法。当然,没有足够的魔法伤害。硬件大多是魔术,但我们不想担心这一点所以没关系。这完全是关于平衡的,我认为IDE比图灵(图灵的IDE更复杂,只是一个汇编按钮和语法突出,真的)对学生的学习是有害的。
Mirhagk.




邮政发布: 2011年10月22日星期六下午6:15  发表主题:RE:高级与教育中的低水平

你有没有尝试过解释命令线甚至是没有编程以前的人?一个IDE不是那么困难,你可以在开始时忽略99.9999%的功能,并将其视为“通过点击您喜欢的类型创建项目,输入名称,现在弹出一个中央窗口。这就像一个文字编辑器,在此处键入您的代码“。我发现人们因IDE而不是IDE,因为它们太多了,但他们让你忽略大部分东西,他们提供了一件事,这是非常困难的解释如何做,调试。使用IDE,单击要停止的线路,它会运行,达到那行,并暂停,现在您可以将鼠标悬停在变量上以查看它们的样子。

如果您可以向我发出一种方法来解释如何从文本编辑器中编写程序,并从比“基本上IDE更容易的命令行”就像Microsoft Word for编程一样。您现在可以忽略很多东西,如在以后,您将不需要它。打开它,然后单击创建项目,选择您的类型,现在将弹出一些代码。您将在遵循线路“静态void main之间的卷曲括号之间键入代码(string [] args)“。您给出的代码基本上您需要开始的所有代码,我们将在稍后一切了解它。对于现在类型的Console.Writeline(”Hello“);”

这是命令行对没有Linux经验的人来说是不熟悉的,几乎每个学生都没有,大多数人已经知道编程。
托尼




邮政发布: 2011年10月22日星期六下午6:27  发表主题:RE:高级与教育中的低水平

做的方法 “我们将使用1%的工具功能来教导您的语言中的1%” 不是让自己听起来像是 一些 problem in there?

新来编程的学生与您的IDE一样不熟悉,因为它们是指令行。是的,你的解释性段落乱扔了 这里有龙 比摘要更难 “类型:gcc your_file.c”
最新来自compsci.ca/blog: Tony's 编程博客 。 DWite - A. 编程竞赛.
虫子




邮政发布: 2011年10月22日星期六6:58  发表主题:RE:高级与教育中的低水平

引用:
如果您可以向我提供一种方法来解释如何从文本编辑器中编写程序,并从比“基本上IDE更容易的命令行”就像Microsoft Word进行编程,那么编译。


圭尔夫U的第1年Compsci学生必须远程登录服务器,以在Pico中编辑其代码并在GCC中编译。由Compsci学生,我的意思是Compsci学生和每个学生因某种原因或其他需要第一年的编程课程,从未在他的生命中编程。我的一个朋友是这样的学生,他做得很好。

引用:
他们提供了一件事,即解释如何做,调试是非常困难的。


我从未在IDE中使用调试器。我之前使用过GDB,但主要是我只是将状态数据输出到屏幕。我宁愿让学生发手用手调试(他们不会做任何复杂的事情,无论如何都需要调试器),以便他们真的明白他们所做的错。在教他们使用螺丝刀之前,请勿给某人进行动力钻。
Mirhagk.




邮政发布: 2011年10月22日星期六晚上7:03  发表主题:RE:高级与教育中的低水平

好的托尼,证明我错了。编写如何从命令行编写,编译和调试如何编写,编译和调试。请记住,在课堂上的IDE中最多可以在5分钟内解释,而导航他们可能需要一段时间,但很少有孩子在输入和运行他们的第一个程序时遇到麻烦,特别是如果IDE完全被教导任何技能(即包括图片,或仅通过示范)。

是的托尼,使用1%的工具来学习1%的语言可能不是惊人的,但没有时间学习超过1%的人。对于他们所教导的任何东西来说,没有办法学习任何语言的1%以上,也没有办法学习超过任何工具的1%。

如果使用,您很少使用的工具也没有错。例如说我正在使用螺丝刀,我应该得到一个特定的大小/形型,因为这是我通常会使用的,或者我应该得到一个可拆卸的头部(假设它们是相同的价格)。

学生更熟悉一个IDE,因为它类似于他们使用的其他程序(Word,Internet等),他们知道工具栏是什么,可以弄清楚如何做日常的东西,并且可以在2中讲述单击解决方案资源管理器中的文件的秒数将打开它。另一方面的命令行完全是外国。请记住,90%的人口宁愿转到他们的主页(谷歌)并在Facebook中输入然后使用地址栏。人们不得不输入要做的事情,这就是鼠标首先发明的原因。
从上一个显示帖子:   
   指数 -> 一般讨论;一般交流
查看上一个主题 告诉一个朋友可打印的版本下载主题订阅本主题私人信息刷新页面 查看下一个主题

14  [ 51 Posts ]
转到页面 1, 2, 3, 4  下一页
跳到:   


Style:  
搜索: