one-of-k 编码算法_我们如何教K-12学生如何编码

one-of-k 编码算法

by Christopher George

克里斯托弗·乔治(Christopher George)

我们如何教K-12学生如何编码 (How we’re teaching K-12 students how to code)

Hello World! (Sorry, I couldn’t resist.) My name is Christopher George and I am currently a Junior at Carnegie Mellon University studying Intelligent Computer Systems for Visualization.

你好,世界! (对不起,我无法抗拒。)我的名字叫克里斯托弗·乔治,我现在是卡内基·梅隆大学的一名大三学生,研究可视化智能计算机系统

Since starting university, I have gained an appreciation for quality computer science education.

自从上大学以来,我已经对高质量的计算机科学教育产生了赞赏。

I work for a project on campus called CMU CS Academy (Carnegie Mellon University Computer Science Academy), the purpose of which is to bring a free, world-class computer science curriculum to the high school level.

我在一个名为CMU CS学院 (卡内基梅隆大学计算机科学学院)的校园项目中工作,目的是将免费的 世界一流的 计算机科学课程引入高中。

CMU CS Academy is the topic of this article. Throughout this post, I will have gifs and pictures to show the capabilities of the curriculum and platform as a whole.

CMU CS学院是本文的主题。 在整个这篇文章中,我将提供gif和图片来显示课程和平台的整体功能。

All media used in this article was created using the CMU CS Academy graphics package.

本文使用的所有媒体都是使用CMU CS Academy图形包创建的。

什么 (The What)

CMU CS Academy is an entirely free online 9th grade computer science curriculum.

CMU CS学院是完全免费的在线9年级计算机科学课程。

“Think, Khan Academy on steroids.”

“想想,汗学院研究类固醇。”

“This isn’t ‘drag and drop’ programming. We’re teaching [kids] to use Python, a text-based programming language that is the most widely taught language at the university level.” Professor David Kosbie

“这不是'拖放'编程。 我们正在教孩子们使用Python,这是一种基于文本的编程语言,是大学水平上使用最广泛的语言。” David Kosbie教授

Currently, CMU’s CS Academy is running its second pilot program of its initial course offering, a 9th grade CS1, Intro to Programming and Computer Science. The course uses a custom graphics package written in Python to introduce students to the programming and problem solving skills required in Computer Science. It requires no prerequisite other than algebra readiness. The Program has 40 participating high schools across the United States and in Rwanda with over 1000 students using the curriculum.
目前,CMU的CS学院正在运行其初始课程产品的第二个试点计划,即9年级CS1,即编程和计算机科学入门。 该课程使用以Python编写的自定义图形包向学生介绍计算机科学所需的编程和解决问题的技能。 除了代数准备就绪,它不需要任何先决条件。 该计划在全美和卢旺达有40所参与的中学,有1000多名学生在使用该课程。

Students learn how to code by creating drawings, animations and games all in Python. The best way to explain to you how awesome this is, and what this offers 9th graders, is to show you what can be done with CMU CS Academy. Here is a small showcase of exercises that students complete as part of the curriculum. (The entire curriculum has over 255 auto-graded exercises.)

学生通过全部使用Python创建绘图,动画和游戏来学习编码。 向您解释这真是太棒了,这为9年级学生提供了什么,最好的方法是向您展示CMU CS学院可以做什么。 这是学生作为课程一部分完成的小练习展示。 (整个课程包含超过255个自动评分练习。)

The curriculum is intended to be taught in a high school setting for students ready to take algebra.

该课程旨在在高中环境中为准备学习代数的学生讲授。

Students, if you visit the website, and find it interesting, fun, or worthwhile, I would heavily advise you to talk to your schools.

学生们,如果您访问该网站 ,发现它有趣,有趣或有价值,我会极力建议您与您的学校谈谈。

Teachers, if you don’t already have a 9th grade computer programming course, start one! It’s here. Just take it. We are trying to give it to you! Teach your kids how to code!

老师,如果您还没有9年级计算机编程课程,那就开始吧! 它在这里。 拿着吧。 我们正在努力把它给你! 教您的孩子如何编码!

我们提供什么 (What we offer)
  • CMU CS Academy isn’t just a free curriculum, but an entire online textbook that is student paced. Again — Think, Khan Academy on steroids.

    CMU CS学院不仅是免费课程,而且是由学生调整的整个在线教科书。 再说一遍- 想想,汗学院关于类固醇。

  • The teacher is the guide, the leader, the debugger, through the twisted and treacherous journey that is code.

    老师是向导,领导者,调试器,这是代码的曲折而险恶的旅程。
  • At the publication of this article, CMU CS Academy has over 255 exercises, that are entirely auto-graded. Meaning, a teacher will not have to sit for hours grading exercise after exercise until the wee hours of the night.

    在本文发表时,CMU CS学院有255多个练习,这些练习是完全自动评分的。 意思是,直到晚上凌晨,老师不必在运动后的几个小时内进行分级锻炼。
  • Visit our website to see what else there is

    访问我们的网站,看看还有什么

为什么 (The Why)

Software developers, computer engineers, designers, architects, school teachers, writers, dancers, everyone benefits when they know how to code.

软件开发人员,计算机工程师,设计师,建筑师,学校教师,作家,舞蹈家,每个人都可以在知道如何编码的同时受益。

There’s been a push recently across the US (and the world) to better prepare kids for this technological revolution. This project, and this opportunity, is where that preparation will start.

最近,美国(乃至全世界)都在努力为孩子们更好地为这场技术革命做准备。 这个项目和这个机会是准备工作的起点。

CMU CS Academy is meant to bridge the gap between Scratch’s block-based code and the AP Computer Science classes later in high school.
CMU CS学院旨在弥合Scratch基于块的代码与高中以后的AP计算机科学课程之间的差距。

如何 (The How)

‘So, Chris? How exactly do I go about getting this curriculum into my 9th grade class? How do I get my kid to learn this stuff?’
“那么,克里斯? 我应该如何将这门课程纳入我的9年级课程? 我如何让我的孩子学习这些东西?
老师/学校管理员 (Teacher/ School Administrator)
  • If you are a teacher or administrator, you can make a demo account on our website now!

    如果您是老师或管理员,您可以现在在我们的网站上注册一个模拟账户!

  • That will give you a preview of the notes and exercises that are available with the course.

    这将为您提供该课程提供的笔记和练习的预览。
  • From there, you can get in contact with our program manager to set up a full teacher account (through the website).

    您可以从那里与我们的计划经理联系,以建立完整的教师帐户(通过网站)。
学生/家长/其他任何人 (Student/ Parent/ Anyone else)

If you aren’t directly affiliated with a school, but still want this in your district, you can and should reach out to your school administration and ask them to look into us. Badger them about it! Send them to our website!

如果您不是学校的直接下属,但仍希望在您所在的地区,则可以并且应该与您的学校行政部门联系,请他们调查我们。 them一下吧! 将它们发送到我们的网站!

You could also find a teacher that is already teaching a programming course, (probably created in the 1980's) show them the website, and watch as their eyes become glossy and they squeal with excitement.

您还可以找到一位已经在教授编程课程的老师(可能是1980年代创建的),向他们展示网站,并看着他们的眼睛变得光亮,激动地尖叫着。

结语 (Wrap Up)

Finally, you can go and explore the website, and all of it’s glory now. There is a Sandbox mode where you can write whatever program you like. The Docs are also helpful for anyone just looking to play around with the graphics package.

最后,您可以浏览该网站 ,现在所有的荣耀。 在沙盒模式下,您可以编写所需的任何程序。 Docs对于那些只希望使用图形包的人也很有帮助。

Below, I will have a few sample exercises that I made real fast, but know the possibilities of this platform are endless, as you are writing pure Python in browser.

下面,我将提供一些示例练习,这些练习很快就实现了,但是您知道在使用浏览器编写纯Python时该平台的可能性是无限的

笔记 (Notes)

Anyone experienced with graphics packages in Python might notice a distinct lack of MVC. This and all other aspects of the graphics package were settled on after an immense amount of debate about the pedagogical purposes of the platform. They were decided, in part, based on what we thought would be the easiest way for a 9th grader to learn to code.

任何使用过Python图形包的人都可能会注意到MVC的明显不足。 在对该平台的教学目的进行了大量辩论之后,解决了图形包的所有方面。 他们的决定部分是根据我们认为的九年级学生学习编码的最简单方法而定的。

As promised, here are some code samples to have fun with! As well as all of the links :)

如所承诺的,这里有一些有趣的代码示例! 以及所有链接:)

Here’s the CMU CS Academy Website. If you are a teacher/administrator, you can make a demo account. If you are anyone else, you can play around in the Sandbox and make something awesome.

这是CMU CS学院网站 。 如果您是老师/管理员,则可以创建一个模拟帐户。 如果您是其他人,则可以在“沙箱”中玩转,并做出令人敬畏的东西。

Another resource through CMU is Teknowledge. A CMU student organization which has a number of free curricula for teaching coding in an after school setting. We have a middle school curriculum (open sourced through Google), high school machine learning curriculum, and a high school android app development curriculum.

通过CMU的另一个资源是Teknowledge 。 一个拥有大量免费课程的CMU学生组织 用于在放学后教授编码。 我们有中学课程 (通过Google开放源代码), 高中机器学习课程高中android应用开发课程

Here is a CMU Press release about CMU CS Academy.

是有关CMU CS学院的CMU新闻稿。

代码样例 (Code Samples)
backRects = Group()def drawRects():    for i in range(20):        backRects.add(Rect(200, 200, 100, 100,                            fill=rgb(randrange(0, 255), 255, 255), align='center'))    Rect(200, 200, 100, 100, fill='white', align='center')    drawRects()
def onMouseMove(mouseX, mouseY):    currentDistance = distance(200, 200, mouseX, mouseY)    angle = angleTo(200, 200, mouseX, mouseY)    for r in backRects.children:        newX, newY = getPointInDir(200, 200, angle, currentDistance)        r.centerX = newX        r.centerY = newY        currentDistance /= 2
app.background = 'black'dots = Group()
def onMousePress(mouseX, mouseY):    for i in range(10):        c = Circle(mouseX, mouseY, randrange(1, 20), fill='white')        c.dx = randrange(-30, 30, 5)        c.dy = randrange(-30, 30, 5)        c.line = Line(mouseX, mouseY, mouseX, mouseY, fill='white')        dots.add(c)
def onStep():    for d in dots.children:        d.centerX += d.dx        d.centerY += d.dy        if (d.centerX < 0 or d.centerX > 400 or d.centerY < 0 or d.centerY > 400):            dots.remove(d)        d.line.x2 = d.centerX        d.line.y2 = d.centerY

To finish, this is an opportunity that you as a teacher, student, or citizen of the world should be excited about. I know I am!

最后,这是您作为老师,学生或世界公民应该感到兴奋的机会。 我知道我是!

So please… reach out to your schools and show them the possibilities!

因此,请……与您的学校联系,向他们展示各种可能性!

Happy Coding :)

快乐编码:)

翻译自: https://www.freecodecamp.org/news/how-were-teaching-k-12-students-how-to-code-e0dcc31192db/

one-of-k 编码算法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值