编程学习
1.37K subscribers
69 photos
17 videos
7 files
169 links
我不是什么编程高手,不是什么优秀教师,但是我就爱与孩子们一起玩。这里记录了我与几十个孩子边玩边学习编程的心得。
Download Telegram
2022.06.07 #Swift小伙伴
//1. print一个年历,样子:
// 1
// 1 2 3 4 5 6 7
// 8 9 10 11 12 13 14
// 15 16 17 18 19 20 21
// 22 23 24 25 26 27 28
// 29 30 31
// 2
// 1 2 3 4 5 6 7
// 8 9 10 11 12 13 14
// 15 16 17 18 19 20 21
// 22 23 24 25 26 27 28
// 3
// 1 2 3 4 5 6 7
// 8 9 10 11 12 13 14
// 15 16 17 18 19 20 21
// 22 23 24 25 26 27 28
// 29 30 31
// .... 12月

// 2.请打印出乘法口诀表
// 1*1=1
// 1*2=2 2*2=4
// 1*3=3 2*3=6 3*3=9
// 1*4=4 2*4=8 3*4=12 4*4=16
// 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
// 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
// 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
// 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
// 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

// 3.
// 写一个函数,输入月/日参数,告诉我这天是这一年的第几天
// func getDays(m: Int,d:Int)-> Int{}
// 2.28是 31+28=59
👍3
2022.06.10 #Swift小伙伴

// 1. 打印倒立的乘法口诀表
// 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
// 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
// 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
// 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
// 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
// 1*4=4 2*4=8 3*4=12 4*4=16
// 1*3=3 2*3=6 3*3=9
// 1*2=2 2*2=4
// 1*1=1
//
// 2. 写一个函数,名字为calc(start:Int,end:Int)->Int
// 比如 start=1 end=10, 1*2*3*4*5*6*7*8*9*10=3,628,800
// 比如 start=15 end=11 15*14*13*12*11=360,360
// 3. 已经有一副牌了

func genCards() -> [String]{
let suits : [String] = ["♦️","♣️","♥️","♠️"]
let numbers : [String] = ["2","3","4","5","6","7","8","9","10","J","Q","K","A"]
var cards : [String] = []

for i in suits{
for j in numbers{
cards.append("\(i)\(j)")
}
}
return cards
}

let card = genCards().randomElement()!
print(genCards())

// 随机抽取54次,告诉我什么牌抽到的次数最多
// randomElement() https://developer.apple.com/documentation/swift/array/randomelement()
// firestIndex() https://developer.apple.com/documentation/swift/array/firstindex(of:)
👍2
编程学习
2022.06.06 #Swift小小班 使用SwiftUI把石头剪刀布变成了一个可以在Mac、iPad和iPhone上运行的App.
今天和Grace小朋友一起尝试了将她的第一个App提交给Apple App Store Connect。开心的等TestFlight的审核邮件。
👍6
编程学习
2022.06.10 #Swift小伙伴 // 1. 打印倒立的乘法口诀表 // 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 // 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 // 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 // 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36…
2022.06.17 #Swift小伙伴

// 1. 抽一百次,将抽出的牌放到 gotCards Array 中去
// 2. 找到数量最多的一张牌,但有一个bug,如果有好几张牌数量相同,只能找到一个,能不能找到全部
// 3. 抽出五张不同的牌到 gotCards
// HomeWork,有四个选手,每人随机从一副牌里抽出五张牌,看谁抽到了最大的一张牌。
👍2
编程学习
今天和Grace小朋友一起尝试了将她的第一个App提交给Apple App Store Connect。开心的等TestFlight的审核邮件。
https://testflight.apple.com/join/V528CnPK Grace小朋友的游戏已经可以使用TestFlight安装到你的iPhone、iPad以及MacOS上了。欢迎大家试着玩玩,有什么喜欢的话,可以通过评论发给Grace小朋友~
4👍3
2022年7月10第五期大朋友学编程开始新的一期了,如果你在每周日上午的美东9点想学习编程,可以告诉我。有两个小组,一组大朋友以入门从零开始学习,另一组则是尝试通过编程来完成一些不同的应用功能。

同时每周一晚Swift小小班现也招收小朋友,如果孩子在10岁上下,想初步接触文字编程,哪么可以每周一晚上和我们一起来玩。暑假期间上课时间为美东晚6点,等开学后会改为晚7点。

有关学习的内容和需要做的准备可以看这里。
https://blog.hdcola.one/swift-before-class
👍2
2022.0703 #大朋友幼儿园

第五期课前作业
1. 显示出 1…100中的偶数
2. 将这些偶数累计计算它们的和
3. 指定 start 和 end的范围(比如 从start 100 到 end 200 中的偶数并计算它们的和)
1👍1
2022.07.05 #Swift小小班

// 我们有一个数组myColumn里面是Bool,tapColumn函数中
// 1. 将它的最后一个改为falseprint
// 2. 将它的最后三个改为falseprint
// 3. 将它的前三个改为falseprint
// 4. 将它的第一个出现的true改为falseprint
// 5. 将它的最后一个出现的true改为falseprint

小朋友想要写一个connect4给自己玩,所以有了这个练习。但是小小班的孩子们显然很吃力,基本上无法自己完成。
👍2
2022.07.24 #大朋友幼儿园
数组以及函数、参数、返回值的使用

1.有一数组里面存有”y”(黄),”r”(红),”n”(没),数组表示一列,向一列中放入一个棋子(可以是r或y),返回放入棋子后的一列。[“n”,”n”,”n”,”y”,”r”],我们向其中放入一个y,返回应是[“n”,”n”,”y”,”y”,”r”]。如果棋子满了,不会发生任何改变。
2.我们使用一个column和一个row生成一个高为hight,宽为width的棋盘。例:hight=3,width=2。生成的棋盘为[[“n”,”n”,”n”],[“n”,”n”,”n”]]
3.使用一个棋盘,向其中的指定的column放入一个”y”或”r”的棋子,返回新的棋盘
👍3
2022.07.26 #Swift小伙伴
数组、二维数组

ClassWork
// 1.生成一个10x9的空格子,每个格子里都放一个King

func genChessBoard()->[[String]]{
var board : [[String]] = []
for i in 0...9{
var row = [String]()
for j in 0...8{
row.append("King\(i)\(j)")
}
board.append(row)
}
return board
}

var chessBoard = genChessBoard()
show("\(chessBoard)")
chessBoard[6][5]="Queen65"
show("\(chessBoard)")


// Homework
// 1. 修改genChessBoard按照中国象棋的初始生成棋盘,没棋子的放"_"
//2.chessBoard格式化成为一个字符串,用showf去显示这个string让它更好的被人类查看
👍1
上课时现在越来越需要同时看老师的share screen,又要操作自己的电脑,如果家里没有第二个显示器,以我所知孩子们都有iPad,可以用这个方法得到你的第二个显示屏: https://support.apple.com/zh-cn/HT210380
UC Berkeley 的 3 门课非常棒,当你或孩子成长到合适年龄,真的对计算机保有足够的兴趣,并且有着强烈的欲望去巩固计算机的知识时,这三门课值得一看。

- CS 61A:编程入门(用的 Python,之前用的是 Scheme)
- CS 61B:算法与数据结构(用的 Java)
- CS 61C:计算机体系结构(用的 C)

CS 61A: Structure and Interpretation of Computer Programs https://cs61a.org/

CS 61B: Data Structures https://sp21.datastructur.es/

CS 61C: Great Ideas in Computer Architecture (Machine Structures) https://cs61c.org/su22/

再次说明,并不适合所有的人,因为这种严禁的学习需要更强的驱动力,不要过早的磨灭自己的兴趣、好奇。放在这里只是为了记录,留有一个线索。
👍3
Audio
https://www.engvid.com/stop-procrastinating-start-learning/ 这是我在学习英语时老师发给我的一个视频,非常非常棒,如何开始学习的说明,深入人性。

为何你会开始拖延:
.太难了
.无聊(没有兴趣)
.太多的工作(学习)
.压力(害怕)

希望想学习的朋友和父母都看看
👍7
这段时间在读一些英文的文章,所以使用微软的引擎将它们转换为音频练习自己的听力。最近发现了这个python写的小工具,命令行非常方便: https://github.com/kxxt/aspeak
👍2
今天看到有人推荐的一个小工具,StemRoller,它可以将歌曲的人声和伴奏分离,生成单独的清唱音轨和伴奏音轨。 https://www.stemroller.com 不过,它只支持Youtube,但是我认为也够了。在Github上有它的源代码 https://github.com/stemrollerapp/stemroller 我认为再配合一个简单的Python代码,哪么就可以快速生成卡拉OK的视频了,真的是唱歌爱好者的福音啊~
👍62