将非专业人员引入HTML /编程的最佳方式是什么? [英] What's the best way to introduce non-majors to HTML / programming?

查看:125
本文介绍了将非专业人员引入HTML /编程的最佳方式是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在过去的几个月中,以下问题一直困扰着我。在看到答复质量之后,我希望我能在这里得到一些很好的答复。



我正在ECE部门开设一门名为 探索数字信息技术,旨在让非专业人士获得他们的双脚与整个电脑如何工作的东西。作为一名计算机体系结构的研究生,不仅我的学科背景与学生截然不同(他们中的很多人都是没有超越Word和YouTube的计算机经验的新生),但我的整个思维模式似乎有着根本性的不同。我已经取得了很大程度的成功在之前学习过更多的技术课程,学生们并不一定具备任何背景知识,但他们是面向细节的,技术敏感的人,他们喜欢变量,数组,索引,间接性,函数等。我在课程的第一单元中遇到了一些困难时期,主要涵盖HTML,JavaScript和Internet(网络拓扑,IP地址等)



我对SO社区的问题很多,但我会从几个开始:


  • 在最高层次上,如果您试图教某人如何像程序员一样思考(将人类级别算法分解为可以转换为函数的简单步骤,程序语句,if-then- else语句和循环),HTML和JavaScript会成为你的方法吗?与其他方法相比,这样做的结果是可以相互关联的(例如,一个有用的网页),但是HTML和JavaScript的分离和整合,以及整个声明式HTML与程序化JavaScript对话的东西似乎都陷入了太多抽象的概念太快了。

  • 如果你确实想把HTML和JS教给一个初学者(有些人在算法上思考困难),你会使用什么资源,你会分配什么项目等等?我发现即使在我认为可以的情况下,为循环分解了这样的概念,它仍然有点多。是否有一个地方在那里从第一原则开始,并且真的可以帮助真正的初学者讨论为什么括号和分号是必要的,函数的参数是什么等等?




老实说我还有很多问题,但我认为这是一个很好的开始。我期待着将你的结果编成一些东西,不仅可以用于本课程未来的迭代,还可以用于我个人的技术传播追求。我在这里已经阅读了另一个如何教X初学者做X的问题,但他们似乎针对的是一个完全不同的'初学者'类:那些对数学有所认识并对编程有兴趣的人,但是不知道从哪里开始。我觉得这个群体的答案与那些思维不同的人会有很大的不同,并且也许内在的学习动机更少。

解决方案

HTML和JavaScript肯定不是我的方法。标记和编程是两个完全不同的东西。将JavaScript引入组合可以解决这个问题,但它也使事情变得复杂。您正在处理两种不同的语法,使用两种不同的概念模型,而它们之间的桥梁并不透明。您需要处理事件模型以获取输入等基本内容。分心的开销不可避免地妨碍了学习基础知识。

你对HTML / JavaScript的附加程度如何?因为完全放弃HTML,并使用更传统的编程模型似乎是一种更好的方法。在这方面,Python已经做了大量的工作,所以你应该检查教育中的Python

The following question has been eating at me for the last couple months. After witnessing the quality of the replies here, I'm hopeful that I'll get some great responses here.

I'm TAing a course in the ECE department entitled "Exploring Digital Information Technology", intended for non-majors to get their feet wet with the whole "how computers work" thing. Being a grad student in computer architecture, not only is my background in the subject matter much different from the students (many of them are freshmen with no computer experience beyond Word and YouTube), but my entire mode of thinking seems to be fundamentally different. I've had a large degree of success TAing more technical courses before, where the students didnt necessarily have any background in the exact material, but they were detail-oriented, technical-minded folks that grok'ed things like variables, arrays, indexing, indirection, functions, etc. I've had an extroardinarily difficult time with the first unit of the course, which essentially covers HTML, JavaScript, and the Internet (network topologies, IP addresses, etc.)

My questions to the SO community are many, but I'll start with a few:

  • At the highest level, if you were trying to teach someone how to think like a programmer (break down human-level algorithms into simple steps that can be translated into functions, procedural statements, if-then-else statements, and loops), would HTML and JavaScript be your approach? This gives results that are relatable (e.g. a webpage that does useful things) more quickly than other approaches, but the separation and integration of HTML and JavaScript, and the whole "declarative HTML talking to procedural JavaScript" thing seems to be cramming in too many abstract concepts too soon.

  • If you did want to teach HTML and JS to a total beginner (somebody who has difficulty thinking algorithmically), what resources would you use, what projects would you assign, etc.? I'm finding that even when I break down concepts like a for loop as far as I think I can, it's still a little much. Is there someplace out there that starts from first principles and can really help a true beginner grok why parentheses and semicolons are necessary, what arguments to a function are, etc?

I honestly have many more questions, but I think this is a good place to start. I'm looking forward to compiling your results into something that can be used not only for future iterations of this course, but also in my personal "tech evangelism" pursuits. I did read through the other "How to Teach a Beginner to Do X" questions on here, but they seem to be targeting an entirely different class of 'beginner': folks who are mathematically-minded and very interested in learning about programming, but don't know where to start. I feel like the answers for that group will be substantially different than for those with a different mindset, and perhaps less intrinsic motivation to learn.

解决方案

HTML and JavaScript would definitely not be my approach. Markup and programming are two very different things. Throwing JavaScript into the mix goes some way to deal with that, but it also complicates things immensely. You're dealing with two different syntaxes, working with two different conceptual models, and the bridge between them is not transparent. You need to deal with the event model for such basic things as input. The distraction overhead inevitably gets in the way of learning the basics.

How attached are you to HTML/JavaScript? Because dropping HTML altogether, and working with a more traditional programming model seems like a far better approach. There has been a significant amount of work with Python in this area, so you should check out Python in Education.

这篇关于将非专业人员引入HTML /编程的最佳方式是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆