育儿论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

[复制链接]

443

主题

763

帖子

0

积分

新手上路

Rank: 1

积分
0
注册时间
2022-7-25
发表于 2024-1-9 22:05 | 显示全部楼层 |阅读模式
  我是一个程序员,也是一个父亲。工作之余我会经常和儿子聊他们小学信息技术课学习的 Scratch 和 Kitten 这两款图形化的少儿编程工具。3 o. e1 C, a, _: z1 A9 f  t

5 O9 l6 F* S9 u" ?  我儿子有一次指着书房里显示器上显示的 Visual Studio Code 问我,“为什么我们上课用的开发界面,和爸爸你每天工作用的样子不一样?”
$ R+ h3 T1 V$ @1 a6 G5 M; [8 j% Z* }  x' ^8 T2 h' i
  所以我也在想一个问题,什么时候可以让我儿子,从 Scratch,Kitten 这种少儿图形化编程工具,过渡到 Visual Studio Code 这种更专业的编程工具去?
- E% ^0 {, z7 B) R, r2 Y7 O2 n, Q4 u# @+ V% X
  最近火出圈的 ChatGPT,被很多程序员用来作为自己工作中的代码生成辅助工具。我也在思考如何将 ChatGPT 用到少儿编程领域。由于众所周知的原因,ChatGPT 在国内使用有一定的门槛。但我最近了解到另一款基于人工智能的代码生成器,叫做 Amazon CodeWhisperer, 我已经将它用来辅导我儿子学习编程了。
) ~0 {; j# ?/ y; K2 |
$ R# G' X5 y* P% H* L1 W' |: R( m  我和儿子用的开发工具是 Visual Studio Code,我教他在里面写一些最基础的 Python 和 Node.js 代码。, Z* `! V5 h9 g& E$ e  W9 Y
! D# I- P" {1 T5 n2 u# K0 K4 N  M
  Amazon CodeWhisperer, 属于 AWS Toolkit 的一部分,在 Visual Studio Code 打开 Extension Marketplace 面板,通过搜索关键字 AWS tool 即可安装。) y( m% P% I! t$ d+ O0 M. L* k

5 D2 r1 ]' }7 [6 x  安装完毕后,在 Visual Studio Code 左侧多出一个 Developer Tools 的面板,展开 CodeWhisperer 下拉列表,点击 Start,然后选择 Use a personal email to sign up and sign in with AWS Builder ID 即可在 AWS 网站上注册一个帐号并登录:
4 V8 {/ ?/ e( m: _' S9 K3 k# O7 n( p% h& n9 O: ^1 D
  等到我们看到 Developer Tools 面板里,CodeWhisperer 下面显示出 Pause Auto-Suggestions 显示,说明这个基于 AI 的代码生成器已经成功启用了。& u: l/ H0 z4 f
' h* w* j- ^) z
  https://www.infoq.cn/article/tE4JARIoKzaSVav57McG
! C! ?5 z( ~0 `& Q9 \) q; x8 ]( w( H! p, G8 f2 j
  https://www.infoq.cn/article/TprcKvXyB5fsKgC4SaLx
: Y+ ]) x& I) G+ K+ X. N. n
/ \' w4 ?: J+ M- T  https://www.infoq.cn/article/B0JNSlJPFxY5eebdIOZE2 n" I8 Q& f8 ~! ^& j4 D
: G# \) @  _# z2 d0 V0 F& L! {# x! d
  https://www.infoq.cn/article/uPxOOxgMPdhVsFGsgUwD
1 s8 ^; a7 a# s6 @& ^5 E5 W+ j
6 b' k2 d: H) {. n& s- v* S$ E- f  https://www.infoq.cn/article/sEM2KRuq2BAaiPtIGNHx6 P+ V' `0 I# d0 Q+ `& ~# I; W
8 S8 o1 I4 ?7 _& `' r( w
  https://www.infoq.cn/article/jE2rzViqAgM8MJYAYWHV- w6 Y  O1 }/ s  {, b* g% r7 j/ g1 U* E
. }! V9 L1 U. k( c9 Y" O% B
  https://www.infoq.cn/article/W5RzCzfZ6imJQrCk2lW9# A  Q2 ~6 F( f- t4 ~

8 n! N( J# [( @* K  https://www.infoq.cn/article/QHhWqeXmAQYQahEFMN9j
+ y/ _6 H; l/ G, ?3 T/ q1 W  [) ^/ R# V" ^- X. F/ S6 f3 @& [
  https://www.infoq.cn/article/Z5kqO0J3Yq7bt3IiUsCE+ N2 L. o$ z) E! U, M4 y; v& H

# l+ ^8 r5 x& k* _  https://www.infoq.cn/article/8mTxLzES8Hrx7gHH1x3t
( |8 C* h! j; O  c/ A. A6 s0 d
' y- L7 {) {% `# E) p+ w  https://www.infoq.cn/article/O6qHtFBMoJUubbIz4MQw- n) Z$ B+ I% D6 g" e9 b

: L3 Q' i+ {8 @' Q8 u8 a! _: H  https://www.infoq.cn/article/iCUjvWTzGm68ui4WbqFX
% f) j6 B  I) ]9 C$ I" j
& ?" m: c+ k) i. ~  https://www.sohu.com/a/731659594_355140$ v, M/ l. I8 c
: \. O! m5 ^. l  D, J
  https://www.sohu.com/a/733252389_3551409 ]0 T$ e! D, G& [

% F% L  y0 _% D  https://www.sohu.com/a/734898243_355140
3 s  y; g) {) P7 K$ H) j
5 {% t! i- Y, W  https://www.sohu.com/a/736322447_355140
/ x9 z4 c* C8 V- @5 g1 `0 l2 h1 \# L! g( w  Q
  https://www.sohu.com/a/738502918_355140  {1 }* k! O' g; P# ?
& o/ `) n% P. \7 n+ @
  https://www.sohu.com/a/739977693_3551400 E$ g) }; i7 |; d) r

3 x$ C* |1 t2 Y& o, @" X6 Y  https://www.sohu.com/a/740505240_355140
9 [% q' F# J5 v9 h
+ @2 @& e  g2 {0 M! f% C  https://www.sohu.com/a/742114784_355140
5 H" v3 W1 p$ s, I8 D6 s  g3 r# ]! W& j
) S. k9 {4 t* j) J. [  https://www.sohu.com/a/742438806_355140( |+ u7 f3 ]. [5 ]
( [; z/ @* A: X. X0 C) o! S
  https://www.sohu.com/a/743480374_355140; k% r' p) r$ V% ^, N' {

5 M1 }" v' b  ]+ }" {; J  https://www.sohu.com/a/744302752_355140
) g1 X, ^# q* v
7 V9 T. h2 V6 r' g9 W  https://baijiahao.baidu.com/s?id=1780877864244787727- d! b  P! w/ u; g

  S# e& B( i7 w: o1 _+ @8 T  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D
. U2 ^, t2 X: {7 q) ?: @+ C
$ r' x% o3 U. ~% j  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D
: w* H0 R6 q9 }( e2 n6 B6 c
0 l6 c+ K, d# ~* m3 L  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D' d( `3 N: o$ [7 R, w3 c
7 l2 C- v, Q; Y; o1 _
  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D
8 x- H* q* D4 B8 }9 o4 v" ~. k+ y8 \5 s8 X- C, C
  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D% y8 K. r. _. g$ X3 g% M6 @( z, `
- R; l. k& @) p, M! [
  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D
$ H$ O. E8 A2 \" q' R0 X. w- X0 u7 d0 J" D4 u) R
  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D- ^5 r7 z* t$ b* t

6 q' c1 X# s$ x+ V4 f  https://mbd.baidu.com/newspage/d ... m%22%3A%22bjh%22%7D
. t) c6 K8 [, J- o7 t4 N7 ?) _, B' @4 b8 {
  https://baijiahao.baidu.com/buil ... 1785327415605564374- p4 ^' x2 n" u6 [
; b& G" ~: U7 I! q
  下面就是孩子们发挥自己的想象,随意向 CodeWhisperer 发出指令进行编程学习了。
5 M8 {7 U/ W! V, B2 O/ t9 Y, j9 y8 t
# D! r7 W4 G& r) h( y* Q( j4 f  为什么 CodeWhisperer 可以用来辅助孩子学习编程?职业程序员都清楚,包括 ChatGPT,CodeWhisperer 这些 AI 工具,生成的代码仅仅用来作为参考,绝对不能直接用在生产系统里,因此这些 AI 自动生成的代码,可能存在安全风险,缺乏足够的出错处理等等。而相对来说,孩子通过工具自学编程,不需要考虑这些软件产品开发需要注意的产品标准,只需要把注意力放在工具生成代码的语法,编程逻辑和 API 的调用上就行了。' P& q2 O; _1 a4 s' x! Z  @2 e) K

( g+ T, b+ ?. i; s& L/ G8 S  S0 l# l  另一方面,CodeWhisperer 的安装和配置非常方便,也不需要像 ChatGPT 那样科学上网。+ ]; S! m6 X9 R) a
  B- e' ?0 {: G# O+ g; \+ d3 o
  下面是一些具体的使用例子。
# o9 a) z, }5 p  F
7 i6 x7 N# o) w  ?' P2 e  假设小朋友想用 Python 编程,打印出当前目录下所有文件的列表。
$ N* W6 _& h( B" P  h1 ]$ R# c4 `5 X8 R; ]- _' A& k9 M
  在 Visual Studio Code 里新建一个 1.py 文件,然后录入如下注释,可以类比成是 ChatGPT 里的 Prompt:
# ]" p& f, ]; G! e9 c+ k) F3 V- f
  list all files in current folder
7 s% |: K* t9 [0 T6 q9 t+ z, [+ E: S# U& G: r/ f. M
  我孩子的英语学习我是全程陪伴的,我觉得现在少儿英语的教育比我上学的时候卷多了。现在小学五年级就已经开始学很多我以前初中才学到的复杂语法,什么定语从句,被动语态,各种完成时等等。这种内卷倒也有一个好处:小朋友用英语编写简单的 Prompt 没有什么障碍:这些 Prompt 都是简单的命令式短句,无非是动词+名词即谓语+宾语的搭配结构。
$ q' o1 ]9 Y/ H' Y2 K- E3 e8 a; U7 w" J
  我们在 1.py 里输入 # 开头的 Prompt,回车之后,稍等片刻,CodeWhisperer 就会以灰色的字体颜色,显示出完成这个 Prompt 所需的第一行代码:import os& v1 A8 ]' j$ H
+ ]9 z  h4 R: A# D- V* D( ^
  如果我们觉得这行代码能够接受,敲击键盘 Tab 键,就能将其正式书写在 1.py 文件里。! |# v; j0 D; |5 Z
5 M/ J! ~2 d2 I7 }5 i* n3 ?9 P' W
  这种一行一行交互式的代码生成方式,适合家长和小朋友坐在一起,出来一行,给孩子讲解一行,也就是逐行理解。
; _. X8 \# b& |6 W* U) ^& q
9 r9 K8 j6 f6 Y; ?  我们在 import os 之后点击回车,稍后片刻,会看到 CodeWhisperer 给我们生成的下一行代码:for file in os.listdir("."):
( f, \* @8 I' w7 ~4 b
% {& E' E4 _. q$ o  X7 n( @2 y  同理,点击 tab 按钮之后,for file in os.listdir(".") 这行代码也被我们选定。继续按回车,就会出现下一行代码提示:print(file)$ b% i: |' k/ q2 [  z
' i7 ^) n7 L6 z; G' N* ?- `
  就这样,三次回车和三次 Tab 键,就完成了这个需求的编码工作。直接使用 python 命令执行这个编辑好的文件,能得到期望的正确输出。
  v+ Y7 j: R+ M2 f
2 u2 ?5 D2 Q$ z( u# T5 x  我又继续做了测试,针对 Node.js,使用同样的 Prompt,也能得到令人满意的代码和执行结果:( j% H' S7 |, L( C+ \( d
  k+ h! @! D7 ]6 A
  总结
1 U% d+ S+ ?6 J' K7 D% w
6 _* g# @$ J/ D  Amazon CodeWhisperer 作为一款免费使用的基于 AI 的代码生成工具,不仅能够帮助专业的程序员减少机械的代码编写时间,同时也能作为少儿图形化编程的一个补充,给那些学有余力又对编程感兴趣的小朋友,打开一扇新的通往编程世界的大门。
  o$ H7 r( f% ~( j/ v
. K6 V/ h* C, }" e/ i
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT-5, 2024-9-22 15:21

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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