• 9

有人對 Swift/SwiftUI 程式設計有興趣嗎?

期待您的大作,我蠻有興趣的。
我也有興趣....幫我女兒卡個位,恭候大作
雪白西丘斯 wrote:
我是一個退休的資訊工(恕刪)


晚輩有個小建議, 希望能把寫程式的環境建置納入課程
這樣對初學者比較有明確的指引去建置環境
雪白西丘斯

感謝建議,我設定的對象是零基礎的初學者沒錯,您提到「寫程式的環境建置」是指如何下載或操作 Swift Playgrounds 嗎?

2021-07-05 10:46
其實現在線上課程滿普遍的,說真的那些專業講師非常可能比你還會教,
很多也是待在業界的第一線工程師
Udemy 很多便宜評價又高的課程,英文也不難,
不想要英文的話中文課程也很多的,
不太建議自己編,況且你也說你20年沒寫程師,你教的可能不是最實用的內容

我覺得最好的方法就是你先去找幾個線上課程實際走一遍,挑出一個最棒的課
再帶你的女兒跟著現有課程做一次。
課程編排交給專業的,你可以負責最重要的手把手教學的部份。

不管怎樣,你都是很用心的爸爸,
希望妳的女兒也會因此對程式設計有興趣。

不太懂為何命名要用中文,業界上是沒人在用中文的,
如果是不熟悉英文的話也應讓女兒儘早熟悉而不是用中文命名
雪白西丘斯

感謝您的意見,我的確看了很多線上課程與網路文章,其實這也是我的學習筆記,希望能教學相長。

2021-07-05 11:46
葛屁皮哥 wrote:
其實現在線上課程滿普...(恕刪)


現職程式工程師路過,一個小小建議 變數、參數、函式名稱命名真的不建議中文,更何況各語言都還有各自的命名規則(第一個英文小寫,後每個單字的第一個字大寫之類的),如果是怕初學者會忘記或看不懂的話就在上方用中文註解的方式可能會好一些,也養成未來程式註解的好習慣,未來令千金真的有興趣想走這條路的話還是及早習慣業界做法比較好。
雪白西丘斯

感謝您的建議,我了解業界做法,但這課程目標並非專業訓練,也不為高中生考APCS,而是想培養軟體素養,未來能跨不同學科溝通與合作。當然,您說得對,用中文命名不見得是好主意,但的確是一條不同的路。

2021-07-05 13:21
#3 第1課 自我介紹:字串

程式設計是一門自己動手的學科,就像騎腳踏車或游泳一樣,光看書或看別人做,是不可能學好的,只有自己動手操作過,然後去發現一些問題、試著去解決或改善問題,才能真正變成自己的技能。

對程式設計初學者來說,「打字」是第一個要熟練的技能,真正的程式設計需要大量打字(不要被Scratch誤導),所以除了依據範例程式自己打字進去之外,平常也可以多練習打一些文章,中英文均可。

以下我們先將第一課的範例程式打入Swift Playgrounds(或是網頁版Swift編譯器)裡面。在 Swift Playgrounds 中取得「空白」,打開後是一個空白畫面,將下面範例程式打上去。

// 1-1. 自我介紹:字串
// 使用 Apple Swift Playgrounds

let sayHello = "Hello World!"
let 我的名字 = "Angela"
var 我的學校 = "松山高中"

print(sayHello)
print("My name is", 我的名字)
print("大家好,我是\(我的名字),就讀於\(我的學校)。")




這個範例程式只有6行程式碼,看起來非常簡單,但其實對初學者來說,卻留了一些陷阱和問題,我兩個女兒第一次打的時候,都出現好幾個錯誤,但是從錯誤中學習是值得的。想從零開始學的人,請自己打字試試看,如果出現錯誤,可將執行結果的畫面(Mac用Shift-Cmd-5 剪下)私訊給我。做對的人,可以進一步想想看,這個程式這樣寫有什麼問題。
dada_88

期待樓主大作+1 , 不過如前幾樓大大所言變數名還是依照命名規則比較好

2021-07-05 13:49
Ian0901

為什麼我的學校不適用let定義 我在下面看到了

2021-07-14 12:10
前輩您好
這套教材您的目標是什麼呢?激發孩子的興趣走入這一行,
又只是希望能訓練孩子的邏輯能力走理工科或相關行業,
目標的不同對於教材的深淺也不同,
如果是走入這一行,
對於基本的環境建置就可能有需要納入教材中,
變數等相關命名還是要以英文為主,
但就只是單純的訓練孩子的邏輯能力則這教材也許就夠了
個人淺見,謝謝前輩您的教材
雪白西丘斯

不敢妄稱前輩。此教材出發點是希望培養中學生的軟體素養,不限文法理工。感謝您的留言。

2021-07-05 13:49
卡位卡位
#4. 1-1 範例程式解說

以上初學者最容易犯錯的地方,就是程式裡面的空白與標點符號都必須是「半形符號」(英文模式),如果不小心打了中文的空白或標點符號(看起來跟英文符號非常像),這時候Swift Playgrounds 會提示錯誤,我們必須小心地一一挑出來改正。

上面這個程式可分成三部分

第一、連續兩個斜槓(//) 開頭的整行內容,是給人看的註解,與空白行一樣,電腦在執行時會忽略掉。在程式中寫註解是個好習慣,可以提醒自己或幫助別人理解程式的邏輯,在程式碼中適當加入空格或空行也是為了增加可讀性。

第二、let 或 var 開頭的用來定義資料,給每份資料一個名稱,方便後面的程式引用,名稱可以用國際語言,中英日韓全世界各國語言都行,甚至表情符號(Emoji)也可以,但是名稱不可含標點符號或空格。

let 定義的資料是固定的值,稱為常數,第一次給定資料值之後,就不能再更改。
例句
 let pi = 3.1415926535
let x = 1.0, y = -5.2, r = 8.0
// 令 pi 等於實數 3.1415926535
// 令圓心 (x, y) 等於實數 (1.0, -5.2), 半徑 r 等於實數 8.0


var 定義的稱為變數(variable),變數的內容值在後面的程式中是可以更動的。let 或 var 可以一次設定多個常數或變數,以(半形)逗號分開。
例句
 var start = 1
var next = start + 1, last = start - 1
// 設變數 start,初始值為整數 1
// 設變數 next 與 last,初始值分別為整數 start+1, start-1


第三部分,print() 是指令,告訴電腦要執行某些任務,print() 的任務是輸出資料到主控台或其他輸出設備,帶括號()的指令稱為「函式(function)」,print 是函式名稱,這是 Swift 預先設計好的函式,我們稱為「內建函式」(built-in function),內建函式是初學者學習的重點之一。
這個我一定要來留個記錄一下,期待您的大作。

上個月趁閒暇時間大該摸了20個小時的swift,但是本身對於程式的素養還是非常低,距離上一次摸程式是5年前而且是c++,應付課堂作業用的。
在尋找資料上發現swift的中文教學資源確實是比較少,希望台灣這方面可以更活絡!
雪白西丘斯

太好了,你正是我期盼的目標對象,請多多留言提供意見,唯有初學者回饋才能補足我的盲點,對改善教材非常重要。

2021-07-06 7:39
  • 9
內文搜尋
X
評分
評分
複製連結
請輸入您要前往的頁數(1 ~ 9)
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?