是从Metal Up还是从Glass Back进行教学编码?

是从Metal Up还是从Glass Back进行教学编码?

Maria on my team and I have been pairing (working in code and stuff together) occasionally in order to improve our coding and tech skills. We all have gaps and it's a good idea to go over the "digital fundamentals" every once in a while to make sure you've got things straight. (Follow up post on this topic tomorrow.)

我和我的团队中的Maria偶尔配对(一起工作,一起编写代码和东西),以提高我们的编码和技术技能。 我们每个人之间都有差距,最好每隔一段时间仔细检查一下“数字基础知识”,以确保一切都准备就绪。 (明天跟进有关该主题的文章。)

As we were whiteboarding and learning and alternating teaching each other (the best way to make sure you know a topic is to teach it to another person) I was getting the impression that, well, we weren't feeling each other's style.

当我们进行白板学习和交替学习时(确保您知道一个主题的最佳方法是将它教给另一个人),我的印象是,我们并没有感觉到彼此的风格。

Now, before we get started, yes, this is a "there's two kinds of people in this world" post. But this isn't age, background, or gender related from what I can tell. I just think folks are wired a certain way.  Yes, this a post about generalities.

现在,在我们开始之前,是的,这是“这个世界上有两种人”的帖子。 但是据我所知,这与年龄,背景或性别无关。 我只是认为人们之间有某种联系。 是的,这是有关一般性的帖子。

Here's the idea. Just like there are kinesthetic learners and auditory learners and people who learn by repetition, in the computer world I think that some folks learn from the metal up and some folks learn from the glass back.

这是主意。 就像有动觉学习者和听觉学习者以及通过重复学习的人一样,在计算机世界中,我认为有些人从金属上学习,有些人从玻璃上学习。

向金属学习 (Learning from Metal Up)

Computer Science instruction starts from the metal, most often. The computer's silicon is the metal. You start there and move up. You learn about CPUs, registers, you may learn Assembly or C, then move your way up over the years to a higher level language like Python or Java. Only then will you think about Web APIs and JSON.

大多数情况下,计算机科学教学从金属开始。 电脑的硅是金属。 您从那里开始向上移动。 您了解CPU,寄存器之后,可能会学习汇编语言或C语言,然后逐渐将语言升级到Python或Java之类的高级语言。 只有这样,您才能考虑Web API和JSON。

You don't learn anything about user interaction or user empathy. You don't learn about shipping updates or test driven development. You learn about algorithms and Turing. You build compilers and abstract syntax trees and frankly, you don't build anything useful from a human perspective. I wrote a file system driver in Minix. I created new languages and built parsers and lexers.

您对用户交互或用户同理心一无所知。 您不会了解发布更新或测试驱动的开发。 您将学习算法和图灵。 建立编译器和抽象语法树,坦率地说,从人的角度看,您没有建立任何有用的东西。 我在Minix中编写了文件系统驱动程序。 我创建了新的语言,并构建了解析器和词法分析器。

  • When you type cnn.com and press enter, you can pretty much tell what happens from the address bar all the way down to electrons. AND YOU LOVE IT.

    当您键入cnn.com并按Enter键时,您几乎可以分辨出从地址栏一直到电子。 而且您喜欢它。

  • You feel like you own the whole stack and you understand computers like your mechanic friends understand internal combustion engines.

    您感觉自己拥有整个堆栈,并且像机械朋友一样理解计算机,从而了解内燃机。
  • You'll open the hood of a car and look around before you drive it.

    您将打开汽车的引擎盖,然后在开车前环顾四周。
  • You'll open up a decompiler and start poking around to learn.

    您将打开反编译器,然后开始四处学习。
  • When you learn something new, you want to open it up and see what makes it tick. You want to see how it relates to what you already know.

    当您学习新东西时,您想打开它,看看是什么使它滴答作响。 您想了解它与您已经知道的内容之间的关系。
  • If you need to understand the implementation details then an abstraction is leaking.

    如果您需要了解实现细节,那么抽象就泄漏了。

      • You know you will be successful because you can have a FEEL for the whole system from the computer science perspective.

        您知道自己会成功,因为您可以从计算机科学的角度对整个系统感到满意。

      Are you this person? Were you wired this way or did you learn it? If you teach this way AND it lines up with how your students learn, everyone will be successful.

      你是这个人吗您是用这种方式接线的还是学到了? 如果您采用这种方式进行教学,并且与学生的学习方式保持一致,那么每个人都会成功。

          向玻璃学习 (Learning from the Glass Back)

          Learning to code instruction starts from the monitor, most often. Or even the user's eyeballs. What will they experience? Let's start with a web page and move deeper towards the backend from there.

          学习编码指令通常是从监视器开始的。 甚至是用户的眼球。 他们将体验什么? 让我们从一个网页开始,然后从那里向后端更深入。

          You draw user interfaces and talk about user stories and what it looks like on the screen. You know the CPU is there and how it works but CPU internals don't light you up. If you wanted to learn more you know it's out there on YouTube or Wikipedia. But right now you want to build an application for PEOPLE an the nuts and bolts are less important. 

          您绘制用户界面并讨论用户故事及其在屏幕上的外观。 您知道那里有CPU及其工作原理,但CPU内部并没有点亮您。 如果您想了解更多信息,可以在YouTube或Wikipedia上找到。 但是,现在您要为人们构建一个应用程序,而螺母和螺栓的重要性就不那么重要了。

          • When this person types cnn.com and presses enter they know what to expect and the intermediate steps are an implementation detail.

            当此人键入cnn.com并按Enter键时,他们知道会发生什么,中间步骤是实施细节。
          • You feel like you own the whole experience and you understand people and what they want from the computer.

            您会感觉自己拥有整个体验,并且了解了人们以及他们对计算机的需求。
          • You want to drive a car around a while and get a feel for it before you pop the hood.

            您想在开车兜风之前先开车兜风一下,然后去感受一下。
          • You'll open F12 tools and start poking around to learn.

            您将打开F12工具并开始四处学习。
          • When you learn something new, you want to see examples of how it's used in the real world so you can build upon them.

            当您学习新东西时,您希望看到在现实世界中如何使用它的示例,以便您可以在它们的基础上进行构建。
          • If you need to understand the implementation details then someone in another department didn't do their job.

            如果您需要了解实施细节,那么另一个部门中的某人没有做他们的工作。
          • You know you will be successful because you can have a FEEL for the whole system from the user's perspective.

            您知道自己会成功,因为您可以从用户的角度对整个系统感到满意。

          Are you this person? Were you wired this way or did you learn it? If you teach this way AND it lines up with how your students learn, everyone will be successful.

          你是这个人吗您是用这种方式接线的还是学到了? 如果您采用这种方式进行教学,并且与学生的学习方式保持一致,那么每个人都会成功。

              结论 (Conclusion)

              Everyone is different and everyone learns differently. When teaching folks to code you need to be aware of not only their goals, but also their learning style. Be ware of their classical learning style AND the way they think about computers and technology.

              每个人都是不同的,每个人都学到不同的东西。 在教人们编写代码时,您不仅需要了解他们的目标,而且还要了解他们的学习风格。 提防他们的经典学习风格以及他们对计算机和技术的看法。

              My personal internal bias sometimes has me asking "HOW DO YOU NOT WANT TO KNOW ABOUT THE TOASTER INTERNALS?!?!" But that not only doesn't ship the product, it minimizes the way that others learn and what their educational goals are.

              我个人的内部偏见有时使我问:“您不希望知道TOASTER INTERNALS吗?!?!” 但这不仅不会交付产品,还会最大程度地减少其他人的学习方式以及他们的教育目标。

              I want to take apart the toaster. That's OK. But someone else is more interested in getting the toast to make a BLT. And that's OK.

              我想拆开烤面包机。 没关系。 但是其他人更感兴趣的是举杯做BLT。 没关系。

              * Stock photo by WOCInTech Chat used under CC

              *由CC使用的WOCInTech聊天图片



              Sponsor: Big thanks to Telerik! They recently published a comprehensive whitepaper on The State of C#, discussing the history of C#, what’s new in C# 7 and whether C# is the top tech to know. Check it out!

              赞助商:非常感谢Telerik! 他们最近发布了有关C#状况的全面白皮书,讨论了C#的历史,C#7的新功能以及C#是否是已知的顶级技术。 看看这个!

              关于斯科特 (About Scott)

              Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

              斯科特·汉塞尔曼(Scott Hanselman)是前教授,前金融首席架构师,现在是演讲者,顾问,父亲,糖尿病患者和Microsoft员工。 他是一位失败的单口相声漫画家,一个玉米种植者和一本书的作者。

              是从Metal Up还是从Glass Back进行教学编码?
              是从Metal Up还是从Glass Back进行教学编码?
              是从Metal Up还是从Glass Back进行教学编码?
              About   关于 Newsletter 时事通讯
              Hosting By 主持人
              是从Metal Up还是从Glass Back进行教学编码?

              翻译自: https://www.hanselman.com/blog/teaching-coding-from-the-metal-up-or-from-the-glass-back