學程式助教

三個你不能錯過的教學資訊

疫情之下,原本實體活動全都改成線上,活動分享全都在網路上很容易錯過,這邊整理了幾個跟數位教學相關的活動資訊給大家參考,分享順序為活動時間⏰ 1. Google Workspace技術整合術 Google Workspace for Education (原 G Suite 教育版) 能透過 Gmail、Google Drive、Google Calender、Google Meet 和 Classroom 等通訊與協作應用程式創造輕鬆與順暢的學習環境,並促進協同合作以提升數位學習與教學成效,而且還會為學校資料提供雲端安全性防護…

3 years ago

線上教學沒有臨場感?Gather來幫你解決

實體的教室變成一格一格的畫面,原本吵雜的下課時間也變成掛斷通話的系統聲。原本在班級中的歸屬感慢慢消失了,久而久之,孩子的對於學習,不再有群體的感覺,只是孤軍一人學習、複習、考試,甚至是畢業典禮都少了一份臨場感。因此,今天要和大家介紹一款現在在教育界還很少被提到的軟體-Gather。 Gather 如果你還不知道Gather,或是直覺的把Gather與虛擬會議室連結在一起,不妨先看看Gather裡的特色: 介面是像素型RPG 每個人自由創建一個角色 上下左右輕易控制角色 走道其他角色旁邊能互相討論 小遊戲battle 光是這五點特色,就足以推派它成為遠距教學的工具,除了打造不同空間的地圖外,最特別的是Gahter打造前所未有的臨場感,人與人之間只有靠近到一定距離,才能聽到彼此說話聲音,而相對應的,離開後聲音就會漸漸聽不到,就連白噪音的設計也是如此,非常的逼真。 不知道老師們會不會因為搭建地圖覺得麻煩,或是看到2D介面怕學生當遊戲在玩而不考慮這款軟體,換個角度思考,藉由不同地區的老師們集思廣益,打造出最適合學生學習的環境,像是不同學科的教室、戶外自然生態區、操場、籃球場等等....都可以更貼近真實校園,而像素的介面正好提高學生的學習意願,老師們擔心學生過於沉迷時,也能用全體廣播放上課鐘聲,或是讓學生們聚集在同一區,鏡頭站起來動一動 (另外推薦Active Arcade -> 趣味運動的APP ),就像早操一樣很真實。 線上教學缺乏臨場感,Gather可以創造了讓大家「一起在一個遊戲世界」的凝聚力。縱使Google Meet、Teams 雖然也可以進行討論,但若要每堂課要穿梭在不同會議間,節奏不流暢,使用Gather可以讓學生更自由地移動,相對應的老師也可以神出鬼沒地到處「旁聽」。 教孩子用科技解決問題,如果老師們也努力著示範給孩子看,創造出獨一無二的學習空間,相信對於孩子學習的歷程中,有莫大收穫。但到底怎麼開始使用?別擔心,這次快樂學程式邀請到Gahter界的大神 阿岳,要來和大家分享Gather的6大應用技巧,限名額唷~…

3 years ago

疫情地圖正名保衛戰,工程師運用專業在 Github 護國!

(上圖來源:美國約翰霍普金斯大學武漢肺炎疫情地圖) 美國約翰霍普金斯大學武漢肺炎疫情圖對台灣的標示近日突改為「台北及周邊地區」,12 日已正名為「台灣」。「美國國會台灣觀測站」臉書指出,這可歸功於美台各界人士的積極運作,甚至工程師在網路世界的角力。 全球疫情地圖中,台灣被改名成「台北及周邊地區」 約翰霍普金斯大學建立的武漢肺炎(2019 冠狀病毒疾病,COVID-19)全球疫情地圖中,台灣在「確診國家和地區」一欄的顯示名稱原先一直是「台灣」,近日突然改成「台北及周邊地區」(Taipei and environs),後來一度改為「其他」(Other),最終在美東時間 3 月 11 日正名為「台灣」,且不再置於「中國」項下。 外交部 12 日指出,第一時間即責成駐美代表處立即向約翰霍普金斯大學表示關切、要求盡速更正;此外,友台的美國聯邦參議員盧比歐(Marco Rubio)、共和黨籍眾議院外交委員會首席議員麥考爾(Michael McCaul),以及台灣在美國行政部門與學術界的友人也對疫情地圖不當標示台灣表達關切,最終促成大學方面修正。 根據民間組織「美國國會台灣觀測站」在臉書專頁整理的事件簿,美東時間 3 月…

4 years ago

怕不小心囤貨太多嗎?讓「衛生紙計算機」幫你計算!

國內疫情嚴重,隨著確診案例數增加,部分民生物資也跟著被掃購一空, 創業家兄弟旗下的生活市集推出「衛生紙計算機」幫助民眾計算自己到底需要多少衛生紙, 再也不用擔心跟著囤貨一下子失心瘋拿太多! (上圖由創業家兄弟提供) 線下通路搶不到,透過電商搶購,4天狂銷200萬包! 創業家兄弟統計: 一週內,抽取式衛生紙搜尋量較上週暴增超過 150 倍, 而熱門即食商品如泡麵,熱搜程度在過去一週飆升逾百倍, 顯示疫情發展推升民眾預期心理效應,再掀新一波民生用品採購需求。 旗下生活市集也說明,為了協助消費者掌握衛生紙的存量而開發衛生紙計算機程式, 上線測試短短3天就吸引將近10萬人使用,自有品牌衛生紙4天已熱銷破 200 萬包 ,消費者的預期心理完全不可小看阿。 生活市集同時強調,希望從數據分析技術協助消費者用科學角度了解是否有添購需求, 也渴望在這波民生品消費熱潮下帶來新客源並提升成長動能。 個人認為衛生紙計算機,能夠算是繼口罩地圖後一強大作品了XD 渴望擁有…

4 years ago

在家視訊會議好煩悶?讓 Google 工程師教你如何「登出」

疫情嚴重,不少公司開始採用 remote working, 對此你感到新鮮嗎?還是認為不過是換個地點,又或是已經有些厭煩了呢? Google 工程師 Jason Mayes 透過 TensorFlow.js 製作外掛,將人物與背景進行分離, 然後從場景中即時刪除任何人,讓人直接在影片中消失! 是不是很真實呢? Jason Mayes 在 Gitnub 上傳這段程式碼後,引來許多網友的讚嘆, 因為它的程式碼只有兩百多行! Jason…

4 years ago

矽谷百萬年薪也比不上貓主子的健康!他發明「AI 智慧貓砂盆」守護萬家主子

在美國矽谷 Cistco 擔任電子工程師的 James,出於自身愛貓離世之痛,投身研究寵物的預防醫學, 他了解到貓咪非常能夠忍痛,非要到極度不適才發出微小的哀號, 因此只能透過飲食與排便去觀察,然而,不少飼主因工作繁忙,未多留心而錯失早期治療愛貓的機會, 導致許多貓咪送往醫院時已需開刀或住院治療。 為此,James 選擇運用自身專長,發明 LuLuPet AI 智慧貓砂盆,不只照顧自己的貓咪,同時也守護更多貓主子! James 發明的 AI 智慧貓砂盆,到底強大在哪呢? 一、智慧辨識排泄物,大小便都替你把關 他看利用 AI 影像辨識+體重感測,能夠觀測出下列幾點:…

4 years ago

[Javascript] Point Free Style 如何幫助提高程式可讀性

前些日子我寫了篇關於 functional programming 的文章 (Functional Programming 一文到底全紀錄),講述了當時對 FP 的學習心得,與在實務中應用後的一些想法。 之後陸陸續續收到了一些反饋,有人詢問:「FP 能做的事情,現在 OOP 都做得很好,什麼情況下需要用到 FP?」 關於這個問題,我的回答總是 FP 準則中的「避免副作用」、「一個 Function 只做一件事情」、「以 Function 為程式的最小單位」能使我們只需要關注…

4 years ago

JS 學資料結構與演算法 (排序篇) — 選擇排序法 & 插入排序法

前言這篇文章將為排序篇章做一個結尾,文章會介紹選擇排序 (Selection Sort) 與插入排序 (Insertion Sort) 兩種排序法,透過上圖的排序法複雜度一覽表可以發現他們的執行效能相比其他排序法來的差一點,因此比較不常被使用,但要強調的是他們仍然有適合使用的情境,本篇文章將會簡單紀錄這兩個演算法的定義與程式碼實作。選擇排序法 (Selection Sort) 選擇排序法示意圖簡單來說選擇排序法一直重複的做兩件事:從尚未經過排序的陣列中找到最小值將當前找到最小值擺到最左邊時間複雜度 O(n²)程式碼範例這邊先設陣列的第一個數字是目前的最小值,然後往後把陣列的數值一個一個讀取,如果讀取的下個數比最小值大,就不作處理。而如果讀取到的數比目前的最小值小,就把目前的最小值換成這個數。重複這個方法把所有陣列裡的數都讀過一遍,就能確保目前的最小值為整個數列的最小值,扣除掉已經確定的最小值,剩下未確定的元素再重複執行以上步驟,直到陣列完成排序。function selectionSort(array) { const length = array.length; for(let i = 0;…

4 years ago

JS 學資料結構與演算法 (排序篇) — 氣泡排序法 Bubble Sort

氣泡排序法 Bubble Sort其實氣泡排序法算是最容易理解的排序法,也常作為初學者入門學習的演算法,相信經過前兩篇較為複雜的快速排序法、合併排序法後,可以快速理解氣泡排序法的內容與實作方法。氣泡排序法定義氣泡排序法的過程會從陣列最左邊開始將元素兩兩比較,每一輪都會把最大的數值移動到陣列末端,這個行為就好像氣泡不斷從底部冒出一樣,因此被稱作氣泡排序法。氣泡排序法的實作步驟如下:比較相鄰的兩個元素,若前面的元素較大就進行交換。重複進行1的動作直到最後面,最後一個元素將會是最大值。重複進行1,2的動作,每次比較到上一輪的最後一個元素。重複進行以上動作直到沒有元素需要比較。 把文章一開始示意圖的第一部份拆過來看,一開始把陣列的第一個元素跟第二個元素比較,如果前面的元素比後者大,就將兩元素交換,如果前者元素比後者小,就不做調整。這邊因為 5 比 1 大,因此將兩元素交換,接著看第二個元素跟第三個元素,依此類推,最後會將陣列中最大的元素放到陣列最後頭,接著重複以上步驟,直到所有元素都經過排列,排序才結束。時間複雜度因為實作會使用到雙重迴圈,因此平均時間複雜度為 O(n²)平均: O(n^2)空間複雜度因為沒有額外建立其他資料結構,因此空間複雜度為:O(1)程式碼範例function bubbleSort(array) { const length = array.length; for (let i = 0;…

4 years ago

跟著 YDKJS 作者 Kyle Simpson 打造全新 JavaScript Mindset : 型別(type)

找不到好圖就亂畫 xDD 型別和值 是一個程式語言很重要的基石, 我們期待 “42” 、42 兩者表現會有不同, 前者我們期望他有字串的特性可以使用, 後者我們常用於數字運算的特性。 這也就是為什麼我們程式撰寫中,很重視基礎的型別和值。 而程式語言中,有兩種常見的特性: 1. 強型別語言 2. 弱型別語言 對於兩者的定義,各種地方都有不同的意見, 在此定義參考 Kyle Simpson , 我們透過使用變數的時機,來決定是強/弱型別語言。 也就是說,如果一個變數,在宣告的時候指定型別, 那麼,我們說他是一個「強型別語言」。…

4 years ago