Sunday, December 31, 2017

ECE MS 課程

過了一學期,

記錄一下在美國MS跟BS就讀的差別

美國碩士有non thesis 學程 修完課就可以畢業

這是我以ECE, Computer System Software. CS 的角度去看



先從碩士課程開始好了

我覺得主要分四類


一種是通識類型的

這種類型的課跟大學部的課沒有太大區別

目的通常是把碩博士的知識水平拉到及格線

也是大家所說的涼課/水課

這種類型的課程大部分的資料都可以在網路上找到

很適合有基礎但是有觀念不熟的人去聽



一種是Project 為主

用Projects 帶概念並且實現

通常會要求團隊合作

學習強度的深淺會跟隊友還有自己投入的心力有關

這些Project也可以成為面試的相關經驗

我認為這類課程是最接近我在實習時做的事情

缺點是花了心力的項目也許對未來的工作沒有直接關係



一種是研究導向

這類課程是BS不會接觸到的

上學期修的課要求每周同學輪流上台講解一篇Paper,

用現今技術去帶概念

例如這星期講 Dynamic Analysis

老師會選幾篇相關的paper幫助理解

這種課程比較像是幫助論文型學生找研究方向和題目

也可以當作練習presentation

培養在一大串廢話中找重點的能力


最後一種比較特別

通常是一個教授擅長的領域

例如 Advanced XXX, 或是 XXX Theory

這種課程比較容易跟找工作脫鉤

比較是為了興趣而學的



在大學需要有目的去選課

通識加上大部分專業課程有prerequisite

課表沒有想像中那麼彈性

在Georgia Tech ECE 很容易被迫為了學分畢業門檻去修相關課程

我算是修了很多有趣的課程 沒有特意去挑涼課

我很多同學他們課表都很像因為涼課大家皆知

我在通識方面修了

日文 靜力學 剛體力學 美國歷史 體育 現代物理

在選修上

嵌入式系統 網路 計算機結構 演算法 機率


在BS如果是將來想走研究路線

可能大學就會去做專題去實驗室打雜

修一些比較理論的課

跟教授套關係

同時洗GPA準備申請




反觀碩士課程

我個人是認為碩士沒有所謂的方向

比較像把BS 有興趣但是沒學完的東西學完

選課通常也比較自由

Monday, December 4, 2017

Dash Python API 中文簡介

這學期的雲端計算 project

用了 Dash 當作 front-end

這是 Dash 介紹

Written on top of Flask, Plotly.js, and React.js, Dash is ideal for building data visualization apps with highly custom user interfaces in pure Python. It's particularly suited for anyone who works with data in Python


整個架構需要寫一個 app.py

可以包含 plot graph 還有 html layout.

比較進階的寫法是 live updating components

這個 feature 可以設個 interval


讓網站在一個時間內自動update

這裡是簡單的example, 提供兩種寫 graph 的方法


https://gist.github.com/boalinlai/7da3aac5a73cd45e046c88bdaae016cf

layout 裡面用 id 去指定function

call back function 裡面要有 data, layout

然後設置一個 time interval

最後

指定完 host 還有 port 之後

sudo python app.py

最後一次實習

這個暑假在灣區做軟體工程師實習。 由於先前的兩個軟體實習以及大學研究所所學符合, 幸運地獲得 kernel, platform 相關的實習機會。 經過了三個實習 愛荷華州 8 個月 竹科 2 個月 灣區 3 個月 沒...