目錄
🖊 本周重點
- 石墨烯硬碟:同樣 Size 十倍容量
- 算法視覺化:一個幫你學算法嘅網站
- 淺談數據開採
🗞 News 1: 石墨烯硬碟:同樣 Size 十倍容量
研究員示範以石墨烯(Graphene)作為硬碟嘅磁盤(Platter)物料。以往嘅磁盤使用碳為基礎嘅物料(Carbon-based Overcoat)製造,但係呢啲物料並唔耐熱,而且有一定嘅厚度,限制咗可以放係同一隻硬碟入面嘅磁盤數量。
石墨烯解決咗耐熱同厚度嘅問題,令到硬碟嘅密度提升,從而使硬碟嘅容量增加 4 至 10 倍。
ICT 重點
講親輔助貯存設備(Secondary Storage Devices),主要都係問快閃記億體(Flash Memory)、硬碟(Hard Disk;HDD)或者固態硬碟(Solid State Drive;SSD)呢三點。尤其係近三年都考得幾多 HDD 同 SSD 之間嘅 Comparison。
既然 SSD 嘅數據傳送速度比 HDD 高咁多,點解 HDD 無被淘汰,仲有咁多桌上電腦使用?主要原因係價錢到:用同樣嘅價錢,買到嘅 HDD 嘅容量比 SSD 大好多。依家嘅 HDD 主要靠住容量嘅優勢,依然保有桌上電腦嘅一席之位。但係如果 SSD 係容量方面有任何突破,SSD 就隨時可以係 Secondary Storage 入面坐大。
但係今次 Propose 嘅石墨烯硬碟,令到 HDD 係容量方面增加 10 倍。如果真係可以推出市面作商用或民用嘅話,睇嚟 SSD 都好難追得上。甚至石墨烯硬碟有機會取代到磁帶(Magnetic Tape)成為備份嘅主要媒介。
相關課題
- 必修部分第 13 課:關於輔助貯存
新聞來源/詳細閱讀
🔖 News 2: 算法視覺化:一個幫你學算法嘅網站
Not a news itself, but 我搵到一個幫選修單元 D 同學仔去學一啲算法嘅網站!(目測 8 成學生會直接飛咗呢 Part 佢 ☹)
同學仔可以去 https://algorithm-visualizer.org 睇,左手邊有一排嘅 Algorithm 俾同學仔揀,然後係右上角有個 Play 嘅制,㩒落去就會睇到啲靚靚嘅 Algorithm 自己 Run 架啦!
ICT 重點
想特別同 Elective D 嘅同學仔講下你哋要識邊啲 Algorithm:
- 線性檢索 Linear Search
(暫時個網站未有對應嘅 visualisation,但係我估唔駛啦?逐個搵姐)同學可以係左下角㩒 Scratch Paper > New,然後將下面嘅 code copy 去右手邊嘅輸入欄:
// import visualization libraries {
const { Tracer, Array1DTracer, ChartTracer, LogTracer, Randomize, Layout, VerticalLayout } = require('algorithm-visualizer');
// }
// define tracer variables {
const chart = new ChartTracer();
const tracer = new Array1DTracer();
const logger = new LogTracer();
Layout.setRoot(new VerticalLayout([chart, tracer, logger]));
const D = Randomize.Array1D({ N: 15, value: () => Randomize.Integer({ min: 0, max: 50 }), sorted: false });
tracer.set(D);
tracer.chart(chart);
Tracer.delay();
// }
function LinearSearch(array, element) {
for (let i = 0; i < array.length; i++) {
// visualise {
tracer.select(i);
Tracer.delay();
tracer.patch(i);
logger.println(`Searching at index: ${i}`);
Tracer.delay();
tracer.depatch(i);
tracer.deselect(i);
// }
if (array[i] == element) {
// logger {
logger.println(`${element} is found at position ${i}!`);
tracer.select(i);
// }
return i;
}
}
// logger {
logger.println(`${element} is not found!`);
// }
return -1;
}
const element = D[Randomize.Integer({ min: 0, max: D.length - 1 })];
// logger {
logger.println(`Using linear search to find ${element}`);
// }
LinearSearch(D, element);
- 對分檢索 Binary Search (同學可以揀 Branch and Bound > Binary Search)
- 冒泡排序 Bubble Sort (同學可以揀 Brute Force > Bubble Sort)
- 插入排序 Insertion Sort (同學可以揀 Brute Force > Insertion Sort)
- 合併排序 Merge Sort(同學可以揀 Divide and Conquer > Merge Sort)
- 快速排序 Quick Sort (同學可以揀 Divide and Conquer > Quick Sort)
相關課題
- 選修單元 D 第 13-14 課:關於檢索/排序算法
新聞來源/詳細閱讀
📱 News 3: 淺談數據開採
係之前嘅文章,Willis 講過下大數據 Big Data 呢個 Term。大數據至所以受企業擁戴,係因為企業可以透過啲數據去學習用戶嘅習慣,從而作出商業決定。從數據入面提取知識,呢項工作稱為「數據開採 Data Mining」,亦都稱為「知識發現 Knowledge Discovery」。負責進行 Data Mining 嘅數據科學家(Data Scientist)被《哈佛商業評論》喻為「21 世紀最性感嘅工作」。
今日,Willis 搵到篇文章,同同學仔一齊睇下 Data Mining 呢項工作實際係做啲咩。
ICT 重點
The Only Constant is Change.
一間公司或者企業必須時刻了解商業環境有乜嘢改變,先至唔會比競爭對手淘汰。 數據開採嘅一個重要目的,就係要幫助公司了解佢自己嘅環境(包括客戶同同行)有乜嘢趨勢,從而作出商業決定。數據開採就係透過數據清洗(Data Cleansing)、建構統計模型、模型評估等方法,提取數據中嘅知識。
通常,如果一間公司想進行數據開採嘅 Project 嘅話,佢哋會進行 6 個步驟:
- 商業理解 Business Understanding:呢個階段主要係確定項目嘅範圍、目的同要求。
- 數據理解 Data Understanding:理解下啲數據代表緊啲乜。例如可能係買咗邊件貨?買咗幾多件?每件幾多錢?乜嘢貨幣單位?
- 數據準備 Data Preparation:通常係最耐嘅部分,負責揀需要嘅 Dataset、做數據清洗(因為收集翻嚟嘅 Data 未必靚靚仔仔齊齊正正)、將啲數據進行轉換(為方便模型去學)
- 模型製作 Modeling:按照項目嘅要求選擇一個模型。
- 模型評估 Evaluation:將數據擺落個模型之後,睇下個模型嘅 Performance 好唔好。如果唔好嘅話,就會翻去 3 或者 4 再做過。
- 投放 Deployment:將 Performance 好嘅模型攞出去用。
相關課題
- 選修單元 A 第 12 課:關於數據開採及其應用
新聞來源/詳細閱讀
- What is data mining? Finding patterns and trends in data
- Data Scientist: The Sexiest Job of the 21st Century
問題回顧
- 點解桌上電腦依然使用 HDD,而不全部改用 SSD?
- 選修單元 D 嘅同學要識邊 6 個檢索/排序算法?
- 數據開採有乜嘢價值?
鐘意篇文嘅話,麻煩係下面個 IG Post 上面俾個 Like ❤️ 感謝感謝