亲戚儿子 16 岁,想学编程,实在不知道怎么教 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
annoy1309
V2EX    问与答

亲戚儿子 16 岁,想学编程,实在不知道怎么教

  •  
  •   annoy1309 2019-02-17 12:42:29 +08:00 via Android 8488 次点击
    这是一个创建于 2496 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我自己是做偏硬件的,学的实在是不太适合去教小朋友 。 小朋友的目的,想简单学习(出国前的半年内双休日+假期学习),能写出那种简陋的图形化界面的软件(类似计算器啊万年历之类的小工具)

    我自己技能树:py 爬虫精通,CPP 硬件开发(网络方向)精通,JS,其他挺多语言都了解过,但是没有深学

    想过 CPP 来教学,但是 CPP 要写 gui 实在是感觉半年假期估计不太够

    pyqt 也考虑过,感觉是不是有点歪了

    大家给点主意呗,拜个晚年

    第 1 条附言    2019-02-17 18:33:33 +08:00
    感谢各位,我当然恨不得教点硬件,树莓派什么的,我也轻松,但是学 GUI 是他自己选的方向,他想花这点时间去写点 [能跑起来的工具程序] 所以我才纠结怎么教
    还有个问题是他时间也不多,他 9 月份出国读书,现在一周四天语言类(?我也不知道什么课),也就双休日业余时间写一下,这也是我放弃 Cpp 教 GUI 的原因
    93 条回复    2019-02-18 14:15:05 +08:00
    caomu
        1
    caomu  
       2019-02-17 12:46:05 +08:00 via Android
    小朋友撸 gui 可以试试直接上 electron ?简单粗暴。就怕带歪了。。。
    learnshare
        2
    learnshare  
       2019-02-17 12:47:50 +08:00
    QML + JS
    tomczhen
        3
    tomczhen  
       2019-02-17 12:48:11 +08:00 via Android   3
    弄个树莓派寻路小车就行了。淘宝全套套餐直接买,Python 开发,有硬件交互,最后有实际成品,更有成就感。最重要的,说不定还能在学校 show 一波。
    SuperMild
        4
    SuperMild  
       2019-02-17 12:48:43 +08:00
    PyQt 或者直接在网页里跑 JS,各做一个简单的 demo 出来给小朋友看,让他自己选。
    whi147
        5
    whi147  
       2019-02-17 12:49:05 +08:00 via Android
    pyqt 可以,有界面编辑器。触发和信号槽也很好理解
    xdlucky
        6
    xdlucky  
       2019-02-17 12:49:52 +08:00   1
    给他买个 MacBook, 然后教他用 Swift (逃
    just1
        7
    just1  
       2019-02-17 12:53:24 +08:00 via Android
    让他自学 c#吧
    mason961125
        8
    mason961125  
       2019-02-17 12:54:45 +08:00
    树莓派+1,真心比写 gui 的成就感更大,而且也更简单。
    4ark
        9
    4ark  
       2019-02-17 12:55:59 +08:00 via Android
    学前端吧,相对其他容易出效果,我也是 16 岁开始学的,现在 19 了
    yangzhezjgs
        10
    yangzhezjgs  
       2019-02-17 12:56:59 +08:00
    感觉还是教 js 好一些吧,大前端毕竟是未来趋势
    LxExExl
        11
    LxExExl  
       2019-02-17 12:57:22 +08:00
    跟着 iTunes U 上面的课学 Swift 跟着就能做出计算器了
    Mtianmin
        12
    Mtianmin  
       2019-02-17 12:59:00 +08:00
    易语言啊,哈哈哈哈哈哈
    Mtianmin
        13
    Mtianmin  
       2019-02-17 12:59:20 +08:00
    @Mtianmin 一天就行了
    greyqz
        14
    greyqz  
       2019-02-17 13:00:32 +08:00 via Android   1
    C# 或者 Visual Basic,图形界面比较好实现,所见即所得。不系统地学 python,实现图形界面就只能 Ctrl + C/V 了(不要对小朋友的水平那么自信)。
    realfreesky
        15
    realfreesky  
       2019-02-17 13:03:59 +08:00 via iPhone
    C#吧
    xiaomimei
        16
    xiaomimei  
       2019-02-17 13:15:04 +08:00 via Android
    _(:з」∠)_我的一个弟弟,还在上小学,过年回家想让我讲讲是怎么写代码的。想了半天实在想不出来什么简单的解释,干脆跑了个 sudo apt upgrade,然后给他看了个压缩过的 js 文件。。。收获小迷弟 +1
    akira
        17
    akira  
       2019-02-17 13:17:57 +08:00
    scratch
    Daming
        18
    Daming  
       2019-02-17 13:20:10 +08:00
    winform/wpf
    gamexg
        19
    gamexg  
       2019-02-17 13:26:37 +08:00 via Android
    c#
    图形界面所见即所得,适合小朋友学习。
    loading
        20
    loading  
       2019-02-17 13:30:12 +08:00 via Android
    esp8266 接几个灯泡,继电器,步进电机做小车。
    先 c 语言把循环逻辑跳转玩透。

    编程入门最重要就是好玩。

    黑屏 hello world 只有业内才能感受到浪漫的。
    loading
        21
    loading  
       2019-02-17 13:31:08 +08:00 via Android
    不想硬件就 html css jquery 一把唆
    sdijeenx
        22
    sdijeenx  
       2019-02-17 13:31:36 +08:00
    用黑客比赛的套路呗~
    先问他想要什么?有什么创意?没有创意一切免谈;
    搞清楚他的想法之后,告诉他完成这个需求需要什么工具并教他工具使用方法;
    要求他必须在 72 小时内实现自己的创意(其实就是做 demo 能用就行不要求健壮性),LZ 可以提供技术支持但是不能替他做。
    shylockhg
        23
    shylockhg  
       2019-02-17 13:35:01 +08:00
    为什么不报班?软件工程师教编程不一定有人家老师专业。
    littleMaple
        24
    littleMaple  
       2019-02-17 13:45:36 +08:00 via iPhone
    Swift Playgrounds 来自 Applehttps://itunes.apple.com/cn/app/swift-playgrounds/id908519492?mt=8

    Human Resource Machine 来自 Experimental Gameplay Grouphttps://itunes.apple.com/cn/app/human-resource-machine/id1005098334?mt=8

    7 Billion Humans 来自 Experimental Gameplay Grouphttps://itunes.apple.com/cn/app/7-billion-humans/id1393923918?mt=8

    刚好最近两天在玩 human resource machine,非常好玩,停不下来;一关一关循序渐进,而且很贴合实际代码编写的习惯,很适合入门,已经通关然后剁手买了进阶版的 7 Billion Humans.
    NCry
        25
    NCry  
       2019-02-17 13:45:53 +08:00 via iPhone
    @shylockhg #23 看楼主的描述,时间应该不是很充足。
    AngelCriss
        26
    AngelCriss  
       2019-02-17 13:47:52 +08:00 via Android
    教他刷题啊
    GeruzoniAnsasu
        27
    GeruzoniAnsasu  
       2019-02-17 14:09:56 +08:00 via Android   1
    我 15 岁自学的 C

    神 tm 小朋友,乍一看还以为说 6 岁呢,16 高中了都,你管拯救世界毁灭世界的年龄段叫小朋友,“日本普通高中生”表示心情复杂


    你怎么学就怎么教就行,直接上 c++
    inhzus
        28
    inhzus  
       2019-02-17 14:14:12 +08:00 via Android
    16 都有不少(正常)人上大学了,不能算小朋友了。。。

    用一些例子激发起兴趣,直接从最基础的教就好了
    Raisu
        29
    Raisu  
       2019-02-17 14:15:42 +08:00 via Android
    写小游戏,用 JS 或者 Python 都可以。或者其他项目但是要在项目里面教一些软件工程的东西
    inhzus
        30
    inhzus  
       2019-02-17 14:19:21 +08:00 via Android
    @inhzus # 28 不好意思没注意内容。
    c++上手确实有些慢,不过会最基本的语法,然后上手 qt 其实还是蛮快的。pyqt 当然更好。
    就是教的时候得让他多写一些小项目,只让他写界面最后就不过是复制粘贴
    mazyi
        31
    mazyi  
    PRO
       2019-02-17 14:19:39 +08:00
    同推荐树莓派,能软能硬
    HuLiY
        32
    HuLiY  
       2019-02-17 14:24:07 +08:00 via Android
    WinForm 所见即所得,开发快,IDE 友好,适合入门
    F1024
        33
    F1024  
       2019-02-17 14:25:15 +08:00
    先学插 c# + py
    Yvette
        34
    Yvette  
       2019-02-17 14:34:43 +08:00
    如果非要图形界面的话拿 React 什么的一行一行地讲,估计一个周末就能可以教会写计算器
    ArcherD
        35
    ArcherD  
       2019-02-17 14:40:35 +08:00
    要去留学的话,英文应该不差的,可以学 reasonml/ocaml
    配合 https://github.com/Schmavery/reprocessing,写小游戏,example 里面有很多例子了,可以学习一下。
    配合 https://github.com/revery-ui/revery,写 gui 程序 ,example project 里面就有计算器。
    支持编译到全平台 + web
    ArcherD
        36
    ArcherD  
       2019-02-17 14:45:51 +08:00
    对了 最好不要用 windows 来学,windows 上面坑比较多。
    zkeeper
        37
    zkeeper  
       2019-02-17 14:46:17 +08:00
    都什么年代了还写 GUI. 看看他是不是 CS 的, 如果是, 让他学 hard-core 的编程, Java 或者 Golang 之类做些数据处理或者写算法实现, 网络方面的东西等, 自己捣鼓一个小项目出来. 如果对这些不感兴趣或者非科班. 就学前端.
    niubee1
        38
    niubee1  
       2019-02-17 14:58:49 +08:00
    偏硬件就教 arduino 编程嘛, 做编程智能小车什么的
    vanishcode
        39
    vanishcode  
       2019-02-17 15:04:03 +08:00 via Android
    当然是学 Android 开发
    1a0ma0
        40
    1a0ma0  
       2019-02-17 15:08:31 +08:00 via iPhone
    你搞硬件,可以教他一点 C 语言然后带他玩玩单片机呗。
    dcatfly
        41
    dcatfly  
       2019-02-17 15:15:42 +08:00
    py 和 js 好入门一些吧
    agdhole
        42
    agdhole  
       2019-02-17 15:19:33 +08:00
    简陋 GUI, C# 一把梭
    Android2MCU
        43
    Android2MCU  
       2019-02-17 15:20:12 +08:00 via iPhone
    看成“怎么救”
    bzshow1
        44
    bzshow1  
       2019-02-17 15:23:56 +08:00
    学算法吧。
    br0x
        45
    br0x  
       2019-02-17 15:27:02 +08:00 via Android
    @tomczhen 靠谱
    hoyixi
        46
    hoyixi  
       2019-02-17 15:46:44 +08:00
    提供方向,让其自己学,正好可以检验是不是那块料。

    现在太多人为了糊口,明明自己不爱干,也不是干的那块料,非要混进某个行业做混子。比如 IT 培训流水线,再一个就是美容美发,你看现在理发师的水平,比起 10 年前太差了,小地方没出路是个人就学理发厨师。
    fox0001
        47
    fox0001  
       2019-02-17 15:53:28 +08:00 via Android
    Java 或 python,可以从 Web 项目入手
    zanyzephyr
        48
    zanyzephyr  
       2019-02-17 16:04:30 +08:00 via iPhone
    @LxExExl 去看了一集,很棒
    lixile
        49
    lixile  
       2019-02-17 16:09:42 +08:00 via iPhone
    目前相关从业者 可以先玩玩
    Codecombat 然后再上手 py
    Norie
        50
    Norie  
       2019-02-17 16:55:48 +08:00 via Android
    淘宝教学套件
    siyushin
        51
    siyushin  
       2019-02-17 17:05:21 +08:00
    这种情况适合学思维先吧,语言选个 Java 什么的就好了。
    Kaiyuan
        52
    Kaiyuan  
       2019-02-17 17:09:39 +08:00
    教小孩子编程最好先教 GUI,或者 HTML CSS,先学界面是最易有成就感的,然后再教 JS,配合 Nodejs 就更加容易有成就感。加上 electron 直接可以写软件了。
    zhangyi2099
        53
    zhangyi2099  
       2019-02-17 17:14:39 +08:00 via Android
    买套 Lego
    annoy1309
        54
    annoy1309  
    OP
       2019-02-17 18:29:42 +08:00
    @tomczhen
    @mason961125
    @AngelCriss
    @zkeeper
    @mazyi
    @niubee1
    @bzshow1
    感谢各位,我当然恨不得教点硬件,树莓派什么的,但是学 GUI 是他自己选的方向,他想花这点时间去写点 [能跑起来的工具程序] 所以我才纠结怎么教
    annoy1309
        55
    annoy1309  
    OP
       2019-02-17 18:34:27 +08:00
    @Mtianmin e 语言没接触过,听说逻辑挺混乱的,所谓的中文编程?
    smilingsun
        56
    smilingsun  
       2019-02-17 20:39:37 +08:00   1
    我以前教过 AP Computer Science,对象就是要去美国读本科的高中生。

    我的经验是,高中生逻辑思维已经较成熟了,不同于小学和初中,编程入门应该着重 OOP 和算法初步,领进门就够了,千万不要手把手教,剩下让他 Google 就好了。

    另外小朋友可能不了解 command line 世界,所以想学 gui。但对于会编程的人,明显 command line 更有用,爬虫更是比写计算器什么的更灵活,更有成就感。写爬虫还可以带他初步了解 Web 如何工作,剩下的依然交给 Google。

    突然觉得,直接让他上 MOOC 好了,还能提前接触国外大一课程。强烈推荐 Coursera 的 Python 系列课程,Dr Chuck 讲的。
    jingyulong
        57
    jingyulong  
       2019-02-17 20:40:28 +08:00
    @annoy1309 #54 GUI 也是一种软件应用,很多初学者是想着速成,但是学习是要有一定过程的。建议先从一门语言学起,然后去解决实际生活中发生的问题。可以学习 python 呀,听说初学者很容易学习的,然后做一些简单的爬虫什么的。或者直接从结果出发,选择相应的技术,学习就好了。

    GUI 的有很多种呀,主流的客户端应用,Web 端应用,其他的才疏学浅,暂时没想到。

    兴趣最重要,坚持下来并不容易。
    jingyulong
        58
    jingyulong  
       2019-02-17 20:41:25+08:00
    @smilingsun #56 想到一块去了
    jd186
        59
    jd186  
       2019-02-17 20:48:56 +08:00
    下载个 VB6.0 精简版 就几兆大小,买本 VB6.0 从入门到精通。估计一周就入门了
    sdijeenx
        60
    sdijeenx  
       2019-02-17 21:02:14 +08:00
    @jingyulong
    我一般把 GUI 看成虚拟硬件( LabVIEW 那种),CLI 当成语义解析器。
    chocotan
        61
    chocotan  
       2019-02-17 21:05:39 +08:00
    买本 xxx 从入门到精通
    Rehtt
        62
    Rehtt  
       2019-02-17 21:16:02 +08:00 via Android
    js 啊,网页版
    via
        63
    via  
       2019-02-17 21:37:48 +08:00 via iPhone
    看成了亲儿子抱歉我错了
    jssyxzy
        64
    jssyxzy  
       2019-02-17 22:12:09 +08:00
    要从 C++教的话,真的就是从入门到放弃了。
    js 前端语言,额,在我看来不太算一种语言吧,你可以问问他想不想学,别喷我;
    最简单的做 gui,就是易语言了,但是这个学了基本没什么意义,从长远的角度来说,但是国内很多没受过高等教育的,做一些小工具的,做点黑产的用的到还挺多的;
    其实 python 就挺好,然后找个简单的 gui 的库教呗。

    个人看法,要是有更好的,欢迎 @我,我也涨涨见识。
    grewer
        65
    grewer  
       2019-02-17 22:18:31 +08:00
    c 嘿嘿
    jingyulong
        66
    jingyulong  
       2019-02-17 22:22:23 +08:00 via iPhone
    @sdijeenx 这个角度不错
    zhuangzhuang1988
        67
    zhuangzhuang1988  
       2019-02-17 23:02:53 +08:00
    算法 刷题
    后面补就麻烦了
    nameme
        68
    nameme  
       2019-02-17 23:07:30 +08:00
    pyqt 可以了
    Flasky
        69
    Flasky  
       2019-02-18 01:56:17 +08:00 via Android
    esp8266,可以直接 C,而且还有 Python、Lua 固件,性能更好的还有 esp32,我只用了两三天就基本摸清楚了
    IdontWanToBeBan
        70
    IdontWanToBeBan  
       2019-02-18 08:35:14 +08:00
    用 py 的 easygui 随便搞个?
    woshijidan
        71
    woshijidan  
       2019-02-18 08:36:41 +08:00 via Android
    py 爬虫求教……
    herozhang
        72
    herozhang  
       2019-02-18 08:38:41 +08:00
    不是应该从算法、数据结构入手么
    ctro15547
        73
    ctro15547  
       2019-02-18 09:06:58 +08:00
    ui 用易语言快速上手提高成就感,mysql 套件快速搭个后台顺手学点 sql,c++或者 python,建议用 C++,16 那会我都开始用 C++写鸡兔同笼完全没有问题,打好语法基础,py 给新手用简直是灾难,上手简单不存在的。
    qizhca
        74
    qizhca  
       2019-02-18 09:14:31 +08:00
    为啥没人提议 HTML。。
    ww940521
        75
    ww940521  
       2019-02-18 09:29:13 +08:00
    单片机 从汇编开始
    MonoLogueChi
        76
    MonoLogueChi  
       2019-02-18 09:36:41 +08:00 via Android
    怕不是要进 js 邪教,我跟你说 electron 那东西害人不浅,千万别教。图像界面当然是上 C#啊,还有咱们宇宙最强 IDE 做后盾
    huage2580
        77
    huage2580  
       2019-02-18 09:38:30 +08:00
    既然你是偏硬件,我是觉得 C 或者 basic 起步的,别歪了。就是面向过程思想教一下,然后 GUI 的话,现学 html 都可以教,懒的话,树莓派+py 点点灯,蜂鸣两下(滑稽
    其实高校课程是很合理的,导论入门,C 和数据结构穿插
    ZXCDFGTYU
        78
    ZXCDFGTYU  
       2019-02-18 09:41:45 +08:00
    简单的就从 js 开始,想入行就从 C 开始。我刚上中学的时候就是靠着谭大爷的那本绿皮 C 入行的,现在已经在做 PHP 开发快三年了,很有帮助。
    JamesR
        79
    JamesR  
       2019-02-18 09:48:16 +08:00
    CPP 要写个 gui,用 VC++6.0 拖控件后写就行,Windows 计算器几小时就能开发好,这都不知道还精通 CPP
    CoderGeek
        80
    CoderGeek  
       2019-02-18 09:49:15 +08:00
    py 很简单了 = =
    polo3584
        81
    polo3584  
       2019-02-18 09:51:29 +08:00
    建议先玩几个简单的游戏,比如人力资源中心什么的
    baicheng10
        82
    baicheng10  
       2019-02-18 09:54:41 +08:00
    C# VB 画个界面加 helloworld,一天入门。
    passerbytiny
        83
    passerbytiny  
       2019-02-18 10:13:48 +08:00
    半年周末加假期也就六七十天时间,肯定不能全部用来学习,实际上也就三十来天的学习时间。对于新手来说,只学 C 语言差不多能熟练,Java/PHP/Python 差不多能入门,C++刚好够劝退,Javascript 差不多能刚看完规范和避坑大全。

    给它弄本书自己去搞吧。如果是计划当专业的,那么 C 语言、Java、Python 基本编程的书随便找一本。如果是纯兴趣的话,Visual Studio 入门指南搞一本。
    assiadamo
        84
    assiadamo  
       2019-02-18 10:15:13 +08:00
    java swt 啊,绝对好理解::doge::
    shengchao
        85
    shengchao  
       2019-02-18 10:20:04 +08:00
    这些东西 用网页就好了 让他自己学前端
    augustpluscn
        86
    augustpluscn  
       2019-02-18 10:35:11 +08:00
    16 岁好好上学。。。。
    gzf6
        87
    gzf6  
       2019-02-18 10:42:52 +08:00
    学好数理化
    rocbomb
        88
    rocbomb  
       2019-02-18 10:44:59 +08:00
    当然是 Unity 了
    写写 C#
    UnknownR
        89
    UnknownR  
       2019-02-18 11:47:34 +08:00
    建议 c#
    zxq2233
        90
    zxq2233  
       2019-02-18 12:00:35 +08:00 via Android
    推荐 livecode,一种类似于 English 的编程语言,语法和英语非常像,
    mazyi
        91
    mazyi  
    PRO
       2019-02-18 12:07:54 +08:00
    python 也可以 gui,树莓派也可以接显示器,这两个都是非常好的入门内容了。
    Cheez
        92
    Cheez  
    PRO
       2019-02-18 12:17:43 +08:00 via Android
    c 井号
    respect11
        93
    respect11  
       2019-02-18 14:15:05 +08:00
    当然是 php 了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3746 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 05:10 PVG 13:10 LAX 21:10 JFK 00:10
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86