育儿论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 304|回复: 0

Scratch 和 Kitten 这两款图形化的少儿编程工具

[复制链接]

489

主题

849

帖子

0

积分

新手上路

Rank: 1

积分
0
注册时间
2022-7-25
发表于 2024-1-9 22:05 | 显示全部楼层 |阅读模式
  我是一个程序员,也是一个父亲。工作之余我会经常和儿子聊他们小学信息技术课学习的 Scratch 和 Kitten 这两款图形化的少儿编程工具。
6 q0 i) w- A0 T( U, t  C5 J1 J1 D8 O9 L+ s- u) w5 w1 x
  我儿子有一次指着书房里显示器上显示的 Visual Studio Code 问我,“为什么我们上课用的开发界面,和爸爸你每天工作用的样子不一样?”7 X2 h  ?( ?/ n; |. u- N: C8 U

2 l& L9 `' s" o1 j6 W9 z* `  所以我也在想一个问题,什么时候可以让我儿子,从 Scratch,Kitten 这种少儿图形化编程工具,过渡到 Visual Studio Code 这种更专业的编程工具去?
( h9 x7 ~- T' b& a4 y, D: d; F) S5 H1 K
  最近火出圈的 ChatGPT,被很多程序员用来作为自己工作中的代码生成辅助工具。我也在思考如何将 ChatGPT 用到少儿编程领域。由于众所周知的原因,ChatGPT 在国内使用有一定的门槛。但我最近了解到另一款基于人工智能的代码生成器,叫做 Amazon CodeWhisperer, 我已经将它用来辅导我儿子学习编程了。
+ Z; _2 X8 f# y4 F8 d- w* f& ~1 }0 ]
) g2 e4 S8 _" r0 K: T9 D3 i7 l1 e& |) s  我和儿子用的开发工具是 Visual Studio Code,我教他在里面写一些最基础的 Python 和 Node.js 代码。6 q" f1 M- w8 r. I/ V  A
$ |- g5 Z  M# g0 @/ ?
  Amazon CodeWhisperer, 属于 AWS Toolkit 的一部分,在 Visual Studio Code 打开 Extension Marketplace 面板,通过搜索关键字 AWS tool 即可安装。( `& P7 k* P2 L3 {0 {. q6 e0 N& S
, V4 v$ x" I) F6 i
  安装完毕后,在 Visual Studio Code 左侧多出一个 Developer Tools 的面板,展开 CodeWhisperer 下拉列表,点击 Start,然后选择 Use a personal email to sign up and sign in with AWS Builder ID 即可在 AWS 网站上注册一个帐号并登录:% i; y; i  W1 |' C

  @2 f- |( s1 ^, {8 K) y0 {8 O& e  等到我们看到 Developer Tools 面板里,CodeWhisperer 下面显示出 Pause Auto-Suggestions 显示,说明这个基于 AI 的代码生成器已经成功启用了。
6 G* M$ R, C- C. L8 a7 W9 e/ p- V2 t4 E
  https://www.infoq.cn/article/tE4JARIoKzaSVav57McG. m3 ^& m, k9 F! J8 X- w5 J

8 b( E) ]5 z& Y7 c9 W# l7 V  https://www.infoq.cn/article/TprcKvXyB5fsKgC4SaLx
" l1 M- Y2 d1 W3 C  L* b
' I1 \: ~" P8 y) J3 K( m7 i  https://www.infoq.cn/article/B0JNSlJPFxY5eebdIOZE
( d) M- Y7 E& q, m
4 h8 ^7 B% o( R7 j; E  U8 B  Y$ M  https://www.infoq.cn/article/uPxOOxgMPdhVsFGsgUwD( q4 U& o0 P! e' m6 |
$ e6 q5 W) w; m/ [' O, v) R
  https://www.infoq.cn/article/sEM2KRuq2BAaiPtIGNHx' X! w$ |( h; g& h% q0 m4 k

* o, r7 j& c$ [, r! K" y( ]8 z2 g# V  https://www.infoq.cn/article/jE2rzViqAgM8MJYAYWHV
( J1 G# Q& a! }0 W2 f
2 a( q6 x% `6 C6 S6 g  N' K" f  https://www.infoq.cn/article/W5RzCzfZ6imJQrCk2lW96 j1 y% t# _; W" s& P" ?2 {
6 \3 M1 }0 `6 i% F; c
  https://www.infoq.cn/article/QHhWqeXmAQYQahEFMN9j
$ Z7 [6 z: M0 j$ f  [! ~  b' ?$ c/ U  o. ^! V4 b" A% h1 r& K
  https://www.infoq.cn/article/Z5kqO0J3Yq7bt3IiUsCE
; B7 l6 l$ A9 y( i# k' a. v+ V2 Z7 G+ z) e
  https://www.infoq.cn/article/8mTxLzES8Hrx7gHH1x3t6 v5 g1 i7 _5 E3 ]! m
" I! {8 V; I5 z* f
  https://www.infoq.cn/article/O6qHtFBMoJUubbIz4MQw
1 |) w+ W9 W. z; k& x
0 ~; Y& N" Z; f9 I2 V& ?7 q: r  https://www.infoq.cn/article/iCUjvWTzGm68ui4WbqFX2 ?" A* x7 {1 Z$ t7 e

- @1 {& b7 V0 k3 Q" |+ q) Z  https://www.sohu.com/a/731659594_355140. o7 m; ]  F/ Z5 m; R# O* _

4 f9 O1 ^7 W$ m% V. Y+ r* Q  https://www.sohu.com/a/733252389_355140
7 I6 I0 y. t7 \& X! U3 G
. Q" B. `2 G1 D5 y  https://www.sohu.com/a/734898243_355140* D8 w! g/ ~5 B8 U0 `

% u6 b  @9 o$ n$ n4 Q. W  https://www.sohu.com/a/736322447_355140- i$ a$ k. W, j7 g  z
; {3 r- `+ T* J5 T- Z$ z
  https://www.sohu.com/a/738502918_355140
+ ?5 j; `6 }9 X4 d! S) D% V/ B& w- x& [- A- V
  https://www.sohu.com/a/739977693_355140
8 i2 h7 o3 E& r
& d# }: C. x3 k# z' A1 s& L  https://www.sohu.com/a/740505240_355140
; D* ~; ]) ]9 l! D& r9 V  f
' w5 t. w. y- X' |9 }( N  https://www.sohu.com/a/742114784_355140
8 C1 i# t& G2 q1 p" [+ q# V' V0 x- c/ C7 @$ k! B
  https://www.sohu.com/a/742438806_355140- B5 I% ^/ P0 G- W. c, e

3 X1 J5 Y" ~( C9 _7 n; A3 x8 ^4 N  https://www.sohu.com/a/743480374_355140( ~3 n+ d, [" U' B  E" f

* U8 x+ t1 \" i+ G$ `* k  https://www.sohu.com/a/744302752_3551403 O. V- J5 }) Z

1 {9 P$ W0 E$ ]9 x  https://baijiahao.baidu.com/s?id=1780877864244787727
9 {- U' Y2 X3 e) G# Q) I3 L  ]4 W5 Z8 {9 Y
  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D
8 B# `2 p2 n8 h  v% t4 t, q+ G0 g6 j& u
  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D! R( k: F, @; m3 D$ j

: H! I' W. b7 g* s1 ?0 d0 G  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D* q$ z8 v$ j4 z3 V2 u+ k

9 ]+ d5 _- R3 ]2 l. d  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D9 r1 r; ^3 r; o( k

8 C) D: `7 X2 Y! H' E9 u- o, X/ m  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D- [7 g% D( n- |

. n8 g% A; E$ X4 \& ?& K4 L2 m  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D# H, i! }) K5 Y' ^) S, D

1 Y8 v$ |, `4 \3 S# F$ o5 Z  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D
. B% k! b' T# {3 s4 O! t% L/ j9 N$ p5 e( Q$ T& |
  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D1 Q* k' V" U2 q4 n2 m$ L! v

" V3 P" n* B0 \( R: [  https://baijiahao.baidu.com/buil ... 1785327415605564374
( }. H) T$ L+ q% Y" V+ p% L9 i4 K
: o, w0 i8 @' b5 `9 S1 K. _  下面就是孩子们发挥自己的想象,随意向 CodeWhisperer 发出指令进行编程学习了。
1 h) n( g, F( s5 q# ~: B; H$ D0 [! t4 K/ G
  为什么 CodeWhisperer 可以用来辅助孩子学习编程?职业程序员都清楚,包括 ChatGPT,CodeWhisperer 这些 AI 工具,生成的代码仅仅用来作为参考,绝对不能直接用在生产系统里,因此这些 AI 自动生成的代码,可能存在安全风险,缺乏足够的出错处理等等。而相对来说,孩子通过工具自学编程,不需要考虑这些软件产品开发需要注意的产品标准,只需要把注意力放在工具生成代码的语法,编程逻辑和 API 的调用上就行了。, J5 I) ]4 J' u& `- {# b

3 |' a( A% x9 z+ P- w# l  另一方面,CodeWhisperer 的安装和配置非常方便,也不需要像 ChatGPT 那样科学上网。0 Y) x: |2 {, ~6 x
4 P$ R+ t% q' o0 g
  下面是一些具体的使用例子。
2 C0 q" T1 b, l/ u( ]8 M! l! C; H0 ?9 ~# y9 {: g
  假设小朋友想用 Python 编程,打印出当前目录下所有文件的列表。
  E! ~& ]/ N  K$ Q% _" P$ u# G7 y( D# r1 B+ i- x8 g* M0 s9 I
  在 Visual Studio Code 里新建一个 1.py 文件,然后录入如下注释,可以类比成是 ChatGPT 里的 Prompt:3 c* l/ I5 Y$ F& ^0 F( r* V
: I& x+ f% P( y( d9 G
  list all files in current folder* C( C2 i7 G* P8 f8 s5 m
3 u. m) d* K% [/ n, F* f, U  r
  我孩子的英语学习我是全程陪伴的,我觉得现在少儿英语的教育比我上学的时候卷多了。现在小学五年级就已经开始学很多我以前初中才学到的复杂语法,什么定语从句,被动语态,各种完成时等等。这种内卷倒也有一个好处:小朋友用英语编写简单的 Prompt 没有什么障碍:这些 Prompt 都是简单的命令式短句,无非是动词+名词即谓语+宾语的搭配结构。; p- H) w4 {0 K0 w( @
: }$ d% w% N# X) N: R4 [: b2 l
  我们在 1.py 里输入 # 开头的 Prompt,回车之后,稍等片刻,CodeWhisperer 就会以灰色的字体颜色,显示出完成这个 Prompt 所需的第一行代码:import os
- |: Z9 b4 E' R) G6 d# C+ ]; b
$ r; p6 q1 j. J9 i4 t  如果我们觉得这行代码能够接受,敲击键盘 Tab 键,就能将其正式书写在 1.py 文件里。
. c) ~% r" a6 O
7 \$ w7 l# I+ a  }: q5 v  这种一行一行交互式的代码生成方式,适合家长和小朋友坐在一起,出来一行,给孩子讲解一行,也就是逐行理解。
: W: F  m4 A4 N) W% l* `- f- Y8 ~8 Y: ]3 M
  我们在 import os 之后点击回车,稍后片刻,会看到 CodeWhisperer 给我们生成的下一行代码:for file in os.listdir("."):% f$ c0 z* g* t* F3 C$ H
* |3 u3 F, s* r6 {: S- t* b8 m
  同理,点击 tab 按钮之后,for file in os.listdir(".") 这行代码也被我们选定。继续按回车,就会出现下一行代码提示:print(file)
6 m$ X2 m0 V# R$ [2 ]2 B0 K. K/ r9 |, v/ E3 x
  就这样,三次回车和三次 Tab 键,就完成了这个需求的编码工作。直接使用 python 命令执行这个编辑好的文件,能得到期望的正确输出。$ `0 r* s4 i: V* M
( I1 L2 S0 o9 ]6 _
  我又继续做了测试,针对 Node.js,使用同样的 Prompt,也能得到令人满意的代码和执行结果:
" S9 k% C# o" ~
! l5 B0 f7 n3 j; [  总结! I: w/ w' y: K* X- U: y

: K) [. v- M- A; Y, j  Amazon CodeWhisperer 作为一款免费使用的基于 AI 的代码生成工具,不仅能够帮助专业的程序员减少机械的代码编写时间,同时也能作为少儿图形化编程的一个补充,给那些学有余力又对编程感兴趣的小朋友,打开一扇新的通往编程世界的大门。
5 `- B4 H7 G4 k+ N' Q: U6 V+ C1 |' `( |
您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系我们|小黑屋|手机版|Archiver|育儿网

GMT-5, 2025-1-15 12:04

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表