酷玛Play - 2021年10月
type: channel
link: https://www.culmart.com/play/2021/10/
description: 信息技术、开源硬件、编程语言、创意技术和网站开发。
items: Arduino 进化史
items: CC2020规范简介

Arduino 进化史
type: item
date: 2021-10-25T12:00:00+08:00
description: Arduino是一家制作开源硬件和开源软件的公司，同时兼有项目和用户社区，该公司负责设计和制造单板微控制器和微控制器包，用于构建数字设备和交互式对象，以便在物理和数字世界中感知和控制对象，适用于初学者爱好者的常见示例包括简单机器人、恒温器和运动检测器。Arduino是第一个广泛使用的开源硬件项目，它以Processing项目为基础。Arduino业已成为世界领先的开源硬件和软件生态系统，物联网产品开发的流行工具，也是用于STEM / STEAM教育的最成功的工具之一。Arduino 进化史最初几个版本的Arduino采用单面PCB制作，全部元件均采用直插式封装，甚至第一版的设计根本没有被生产。最早以商品形式售卖的版本名字叫Arduino Serial，产品如下图：这就是是最早的Arduino，用了很多简单市面常见的元器件来组成，可以看到接口是RS232，下部电源也没有3.3V。黑色开关按键被移到了尾部，那个时候的reset按键与现在的不同，每次上传程序，都需要提前按一下这个按键，进入接收程序阶段。芯片是ATmega8，所以只有3个PWM的IO口，时钟频率16MHz。后来，随时UBS接口的普及，RS232接口渐渐的退出了PC的后背板接口，Arduino也从Arduino Serial变成了Arduino USB，如下图：这个版本最大的特点就是把RS232接口改成了USB接口，当然内部是转为串口的。比之前Arduino Serial时代多了USB供电，顺其自然的就出现是用USB供电还是DC供电的选择，所以就出现了红色圈的电路跳线。（当时还不是智能电路，需要手动）再随时时间的推移，功能上都改的差不多了，下面就开始整容了。把那些常规焊接的电阻LED之类全部换成了贴片样式，这个时代叫Arduino Extreme，如下图：是不是发现简洁很多，整容成功后，下面就开始进一步的功能优化了，不断完用户体验。这几年代是一年一个样，三年大变样的年代，也是Arduino发展最快的时代。下面开始，就是硬件的升级。Arduino NG，是第一个使用ATmega168的版本，存储从8KB增长到16KB，如下图：Arduino NG版本将USB转串口的模块从FT232BM升级到FT232RL，从而减少了一部分元器件的使用。同时加了一个贴片的LED灯（对，就是pin 13那个灯，请看看version1，是多么丑）Arduino NG卖了一段时间之后，按照中国人习俗，逢整数必须大庆（当然这次跟我们没啥关系），在卖出第10000个Arduino之后，版本更新为Arduino Diecimila。Diecimila在意大利语里面就是1W的意思，本次版本的更新把传程序时候需要按一下reset这个功能变成了自动重启，同时增加了自恢复保险丝（简要说下作用，之前的时代，只要短路，Arduino就烧了，运气差点就连电脑主板一起烧了，增加了自恢复保险丝之后，你可以试下你手里的Arduino，在插着电脑的时候，把GND和5V接起来，你会看到设备被断掉，你断掉GND和5V最后，设备又被载入。）和3.3V接口。这个因为是为了纪念1W块而推出的，所以并不是一个full test版本，当然依然可以叫做限量版，只是活不了多久就会被正式版替代，也就是Arduino Duemilanove出场。Duemilanove在意大利是2009的意思，所以显而易见的这个出生的年代是2009年。Duemilanove是最接近UNO的一个版本，主控芯片也从ATmega168升级到了328，存储从16KB升级到了32KB。手动的USB供电还是DC供电选择也改成了智能判断。最终的Arduino USB版本，如下图。我们开始迎来Arduino UNO时代。UNO时代进行了一些版本的小改动，形成了我们现在用的Arduino UNO R3。从Arduino进化史看如何打造革命性硬件产品其实，打造一款革命性硬件产品，诀窍非常简单，只有一句话“优化使用体验，丰富应用功能“。使用体验更简单，才能扩大使用群体，享受流量红利。功能更丰富，才能保重用户粘性和产品纵深，扩展盈利能力。凭借着这一规律，视窗系统开创了个人电脑时代，IOS系统开创了移动智能时代。而arduino则掀起了硬件创新的热潮。心得一、革命性产品来自于具体需求Arduino的诞生，就是针对大学生面临的具体问题。创始人Massimo Banzi是意大利的大学教师，他的学生常常抱怨，没有一块价格既便宜、功能又强大、使用又简单的控制主板，来实现他们的电子创意设计（如机器人等）。2005年的冬天，Banzi和另外一名创始人David Cuartielles（西班牙的CPU硬件工程师）研究了这个问题，David Cuartielles当时在这所大学做访问研究。他们找来了Ba…

CC2020规范简介
type: item
date: 2021-10-11T10:19:00+08:00
description: 国际ACM/IEEE计算课程体系规范（Computing Curricula，简称CC规范）是美国计算机学会（ACM）和电气与电子工程师协会计算机学会（IEEE-CS）联合组织全球计算机教育专家共同制定的计算机类专业课程体系规范，该规范已历经CC1991、CC2001、CC2005三个重要版本，2020年12月31日更新为CC2020（Computing Curricula 2020，pdf），2021年3月25日正式发布。CC2020包括计算机工程（Computer Engineering，CE）、计算机科学（Computer Science，CS）、信息系统（Information Systems，IS）、信息技术（Information Technology，IT）和软件工程（Software Engineering，SE），以及网络安全（Cybersecurity，CSEC）和数据科学（Data Science，DS）等新学科。计算机课程系列的结构计算学科之间的差异胜任力模型CC2020采用“计算”（Computing）一词作为计算机工程、计算机科学和信息技术等所有计算机领域的统一术语，CC2020强调元学科规范（Meta Curricula），采用“胜任力”（Competency），融合知识（Knowledge）、技能（Skills）和品行（Dispositions）三个方面的综合能力培养，加强了对职业素养、团队精神等方面的要求。胜任力模型IT的胜任力模型技能能力水平使用七个级别来衡量技能熟练度水平。第1级到4级标准根据技术/方法/相关知识的内容而不同,技能熟练度等级4是完成任务的技能的最高掌握水平。第5至7级的标准是跨类别定义的，并根据作为一个专业人员的社会贡献程度进行评估。依据布鲁姆的认知技能分类法（Bloom’s Taxonomy of Cognitive Skills）列出表示技能水平的动词CC规范的应用多年前，ACM 计算课程使用术语“CS1”和“CS2”来指定计算机科学专业介绍序列中的前两门课程。虽然从那时起计算机科学教育发生了很大变化，但我们仍然将编程课程的介绍称为 CS1，将基础数据结构课程称为 CS2。Dive into Systems 是计算机系统、计算机组织、操作系统和并行计算的免费在线教科书（许可证：CC BY-NC-ND 4.0），还包含 C 语言和汇编语言，介绍计算机系统的底层知识，作者是美国西点军校和斯沃斯莫尔学院的教授，为只有 CS1 背景并熟悉 Python（作者推荐像计算机科学家一样思考Python）的读者准备，已被西点军校等超过 25 所大学用作课堂教科书。