好的STEM编程语言有哪些?

news2024/9/21 18:54:50

STEM是科学(Science),技术(Technology),工程(Engineering),数学(Mathematics)四门学科英文首字母的缩写,STEM教育简单来说就是在通过在解决真实的工程问题中学习和掌握相关能力。在高度信息化的AI时代,编程语言更是成了STEM教育中最为核心的一环,那么目前最好的STEM编程语言有哪些呢?

作为一个有着20多年编程经验的老码农,也因为要给家里小朋友编程启蒙开始关注这个话题。我觉得好的STEM编程语言需要满足几个基本条件:首先是简单有趣让小朋友可以快速上手玩起来;其次是在语言启蒙后可以用于解决复杂问题;第三是要有本土友好的社区和支持。当然如果觉得自己有能力解决其中问题的家长可以根据自己的理解选择。我们先看看有哪些面相小朋友的语言。

1. 谷歌:Blockly积木编程

Blockly是谷歌赞助研究的基于可视化积木的编程基础组件,正是它打开了近10多年儿童编程单热潮。目前市面上全部分的积木编程启蒙语言都是基于谷歌的Blockly构建,比如大家熟知的Scratch就是拿Blocky再来组装为产品售卖。

https://developers.google.cn/blockly

7bc8bd81cdc06a3f2c8c14a2bf3b57c0.jpeg

Blockly的研究确实是开启了可视化编程领域的新探索。但作为STEM编程语言也有其限制,可视化编程在描述复杂问题时面临调整,或者说拿Blockly语言来解决复杂的问题理论上可行但实际操作太难。最终的结果就是启蒙后就要抛弃Blockly的知识了。

2. 微软:MakeCode

Microsoft MakeCode 是一个免费开源平台,旨在打造有吸引力的计算机科学学习体验,为实际编程奠定基础。作为平台,MakeCode提供了将编程语言和真实的电子积木结合的能力。比如通过程序控制虚拟开发板的LED灯:

51650b798d2f81c397fe2c28c7c545e4.png

作为平台MakeCode提供了Blockly、静态TypeScript、静态Python等多种编程语言(https://makecode.com/language)。但有时候选择太多并非是好事情,特别是这些语言可能让家长更难选择。

3. 苹果:Swift Playground

苹果公司从2012年发布了自己的Swift编程语言,目前iPhone和iPad上新的App大部分是Swift开发,因此这其实是一个绝对的工业级语言。后来苹果公司针对iPad出品了Swift playground应用,用于辅助青少年、儿童编程启蒙,同时也可以开发真实的App。

5ab6c3056b42674da13ddd935fc3e5c3.png

从这里可以看出,Swift playground不仅仅是针对儿童,还包括了青少年甚至是成人。Swift playground是一个非常出色的启蒙编程应用,但是目前甚至未来它只能支持苹果的平台。作为全场景的工业语言,Swift语言有一定的复杂度,如果有一定的编程基础可以体验下。

4. 社区:Processing & JavaScript & Arduino

Processing主要是一种面相创意编程的理念,最初是以Python语言给出示例。但是最流行的其实是 JavaScript 和 Arduino 这些不语言和平台的实现。其中JavaScript的实现是p5.js,提供了在浏览器画画的编程体验。

8bc77f742d846ace1a46da03eeb31796.jpeg

p5js是面相设计背景的爱好者,主要是在画布上交互式画画和创作。而Arduino则是针对电子积木的版本:

de3843a468e6a5021e13ae532a6323c3.png

通过类似的编程结构,通过程序控制LED闪烁或LCD显示字母。总体而言,Processing理念结合不同语言的思路是可以借鉴吃。特别是p5js是一个非常优秀的作品,其背后的javascript目前是前端理由最流行语言,特别适合于启蒙。

5. 社区:Processing & 凹语言

凹语言(凹读音wa第一声,主页 https://wa-lang.org/ )是国内爱好者设计的面相WebAssembly设计的通用编程语言。据说凹语言发起人也是因为自己面临STEM编程教育的问题,所以语言设计时就考虑了内置对儿童编程的支持。凹语言目前提供了p5js风格但更为静态化的友好界面。

9a63e16c344165c0506888e208edb224.png

虽然是新的编程语言,但是凹语言的表达力也很强。开发团队提供了一个FC红白机模拟器实现:

19a887b111201bfb6cca43ce916ed427.png

凹语言是一个非常有潜力的STEM语言。

6. 总结

STEM只是一种理念,适合的编程语言不止一个。其中背靠JavaScript的p5js、向苹果生态的Swift Playground、和国产的凹语言都是非常不错的候选。也欢迎大家提供更多的参考。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1951101.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

django_创建菜单(实现整个项目的框架,调包)

文章目录 前言代码仓库地址在线演示网址启动网站的时候出现错误渲染路径的一些说明文件结构网页显示一条错误路由顺序js打包出现问题的代码函数没有起作用关于进度开发细节显示不了图片梳理一下函数调用的流程修改一些宽度参数classjs 里面的一些细节让三个按钮可以点击设置按钮…

前端JS特效第56集:基于canvas的粒子文字动画特效

基于canvas的粒子文字动画特效&#xff0c;先来看看效果&#xff1a; 部分核心的代码如下(全部代码在文章末尾)&#xff1a; <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compat…

GPT-4O 的实时语音对话功能在处理多语言客户时有哪些优势?

最强AI视频生成&#xff1a;小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频百万播放量 我瞄了一眼OpenAI春季发布会&#xff0c;这个发布会只有26分钟&#xff0c;你可以说它是一部科幻短片&#xff0c;也可以说它过于“夸夸其谈”&#xff01;关于…

5个工具帮助你轻松将PDF转换成WORD

有时候编辑PDF文件确实不如编辑word文档方便&#xff0c;很多人便会选择先转换再编辑。但是如果还有人不知道要怎么将PDF文件转换成word文档的话&#xff0c;可以看一下这5款工具&#xff0c;各种类型的都有&#xff0c;总有一款可以帮助到你。 &#xff11;、福昕PDF转换软件 …

socket实现全双工通信,多个客户端接入服务器端

socket实现全双工通信 客户端&#xff1a; #define IP "192.168.127.80" //服务器IP地址 #define PORT 7266 // 服务器端口号int main(int argc, const char *argv[]) {//1.创建套接字&#xff1a;用于接收客户端链接请求int sockf…

MSQP Mysql数据库权限提升工具,UDF自动检测+快速反向SHELL

项目地址:https://github.com/MartinxMax/MSQP MSQP 这是一个关于Mysql的权限提升工具 安装依赖 $ python3 -m pip install mysql-connector-python 使用方法 $ python3 msqp.py -h 权限提升:建立反向Shell 在建立反向连接前,该工具会自动检测是否具有提权条件&#xff0…

4-4 数值稳定性 + 模型初始化和激活函数

数值稳定性 这里的 t t t表示层&#xff0c;假设 h t − 1 h^{t-1} ht−1是第 t − 1 t-1 t−1层隐藏层的输出&#xff0c;经过一个 f t f_{t} ft​得到第 t t t层隐藏层的输出 h t h^{t} ht。 y y y表示 x x x进来&#xff0c;第一层一直到第 d d d层&#xff0c;最后到一个损…

2024最新网络安全自学路线,内容涵盖3-5年技能提升

01 什么是网络安全 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、Web、移动、桌面、云等哪个领域&#xff0c;都有攻与防两面…

NC 二叉树的最大深度

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了就去分享给你的码吧。 描述 求给定二叉树…

图像数据增强方法概述

图像数据增强方法概述 1. 什么是图像数据增强技术?2. 图像数据增强技术分类2.1 几何变换Python 示例代码 2.2 颜色变换2.3 噪声添加 3. 参考文献 1. 什么是图像数据增强技术? 基础概念&#xff1a;图像增强技术是计算机视觉和图像处理领域中的一个关键技术&#xff0c;主要用…

数据库安全综合治理方案(可编辑54页PPT)

引言&#xff1a;数据库安全综合治理方案是一个系统性的工作&#xff0c;需要从多个方面入手&#xff0c;综合运用各种技术和管理手段&#xff0c;确保数据库系统的安全稳定运行。 方案介绍&#xff1a; 数据库安全综合治理方案是一个综合性的策略&#xff0c;旨在确保数据库系…

C++文件系统操作6 - 跨平台实现查找指定文件夹下的特定文件

1. 关键词 C 文件系统操作 查找指定文件夹下的特定文件 跨平台 2. fileutil.h #pragma once#include <string> #include <cstdio> #include <cstdint> #include "filetype.h" #include "filepath.h"namespace cutl {/*** brief The fi…

前端练习<HtmlCSS>——照片墙(附完整代码及实现效果)

这个小练习也来源于b站up小K师兄&#xff0c;大家可以通过下面的链接学习哦~up讲的非常详细。 纯CSS写一个简单酷炫的照片墙效果&#xff5e; 先看一下这个照片墙的效果&#xff1a; 1.鼠标没有放到图片上时&#xff0c;照片同比例&#xff0c;每张照片都有倒影的效果。 2.然…

linux怎么创建python

第一步&#xff0c;创建一个test文件夹。 第二步&#xff0c;打开终端进入该文件。 第三步&#xff0c;vim test.py。 第四步&#xff0c;编写代码。 第五步&#xff0c;编辑好之后&#xff0c;按Esc键切换到命令模式&#xff0c;然后输入:wq&#xff0c;再按回车键即可自动保存…

聊一聊知识图谱结合RAG

因为最近在做一些关于提高公司内部使用的聊天机器人的回答准确率&#xff0c;并且最近微软官方也是开源了一下graphrag的源码&#xff0c;所以想聊一聊这个知识图谱结合rag。 rag在利用私有数据增强大模型回答的领域是一种比较典型的技术&#xff0c;也就是我们提出问题的时候&…

MATLAB基础:数组及其数学运算

今天我们继续学习MATLAB中的数组 我们在学习MATLAB时了解到&#xff0c;MATLAB作者秉持着“万物皆可矩阵”的思想企图将数学甚至世间万物使用矩阵表示出来&#xff0c;而矩阵的处理&#xff0c;自然成了这门语言的重中之重。 数组基础 在MATLAB中&#xff0c;数组是一个基本…

LCD 横屏切换为竖屏-I.MX6U嵌入式Linux C应用编程学习笔记基于正点原子阿尔法开发板

LCD 横屏切换为竖屏 横屏显示如何切换为竖屏显示 LCD 屏默认横屏显示 开发板配套的 LCD 屏默认都是横屏显示&#xff0c;如 4.3 寸、7 寸和 10.1 寸的不同分辨率的 RGB LCD 屏 固定坐标体系 &#xff08;以 800*480 分辨率为例&#xff09;横屏模式下的固定坐标&#xff1a;…

【JavaScript】深入理解 `let`、`var` 和 `const`

文章目录 一、var 的声明与特点二、let 的声明与特点三、const 的声明与特点四、let、var 和 const 的对比五、实战示例六、最佳实践 在 JavaScript 中&#xff0c;变量声明是编程的基础&#xff0c;而 let、var 和 const 是三种常用的变量声明方式。本文将详细介绍这三种变量声…

Blackbox AI-跨时代AI产物,你的私人编程助手

1. 引言 随着人工智能技术的飞速发展&#xff0c;我们的生活方式正在经历前所未有的变革。从智能家居到自动驾驶&#xff0c;AI已经渗透到我们生活的方方面面。而在这场科技革命中&#xff0c;Blackbox 网站凭借其先进的技术和全面的功能&#xff0c;成为了众多AI产品中的佼佼者…

基于单片机控制的锂电池组电路的设计

摘 要: 提 出 一 种 基 于 单 片 机 控 制 的 锂 电 池 组 电 路 设计 方 案 . 采 用 8 位 CMOS 闪 存 单 片 机 PIC16F886 作 为主控芯 片 , 电 路 设计 中 含 有 S-8254 芯 片 的 一 次 保 护 电 路 、 S-8244 芯 片 的 二 次 保 护 电 路 和 MCU 的 辅 助 保 护 功…