티스토리 뷰
방학중에 들었던 과목중에 인상깊었던 과목이 있어서 한번 소개해보고자 한다.
지금이야 컴퓨터를 전공하고 있긴 하지만 내 원래 전공은 전자공학이다. 사실 어렸을때는 막연하게 cpu를 설계하는게 꿈이었고, cpu는 수많은 transistor로 구성되어 있으니까 그걸 하려면 전자공학을 전공해야 되겠구나 싶어서 진학했고, 원하는걸 배우지 못했다(...) 아무튼 그래도 cpu를 구성하는 gate transistor가 어떻게 동작하고, 이 게 어떤 원리를 가지고 입출력을 내보내는지를 전자회로 시간에 수도없이 배웠던거 같다. 이제 와서 느끼는 거지만, 그래도 그런 배움의 과정이 어떻게 보면 지금 배우는 컴퓨터 과학과 관련도 상당히 있고, 잘 선택한거 같다. 덕분에 전자쪽 내용을 바탕으로 컴퓨터가 어떻게 동작할까에 대해서 그나마 알 수 있는 과정이 아닐까 싶다.
그런 와중에 Stanford University에서 MOOC과정으로 소자 관련 수업을 제공한다길래 방학동안 수강했다. 전에도 블로그를 소개한 적이 있지만 stanford는 openEdx라는 플랫폼을 통해서 MOOC를 모든 사람에게 제공하고 있다. 그래서 나도 올해 초에 DB수업이랑 Network 수업을 여기서 들었던 적이 있다. 지금은 Coursera를 통해서도 강의가 제공되는데 아마 예상으로는 cs계열을 제외하고는 모두 여기를 통해서 제공되지 않을까 싶다. 아무래도 Andrew Eg 교수가 Coursera 창업자니까 그런 예상이 든다.
electrical element라고 하면 얼핏 듣기에는 cs와 전혀 연관이 없어보인다. 누구던지 cs라고 하면 제일 먼저 프로그래밍을 떠올리고, 데이터 베이스, 웹 같은 기술이 소자랑은 전혀 상관이 없어보인다. 그런데 어떻게 보면 cs내에서도 기초과학에서 원인을 찾고, 해결책을 제시하는 분야도 존재한다. 우선 내가 공부하는 분야로 따지면 Manycore가 그런 맥락에 속하겠다. 일반적으로 생각하기에는 cpu에 중추적인 역할을 하는 core의 갯수가 많으면 많을수록 좋고, core의 clock speed가 빠르면 빠를수면 좋다. 그리고 이런 바램은 1950년대 제창된 Moore`s law에 따라서 잘 이끌어졌다. 그런데 점차적으로 공정도 미세화되면서 최근에 이르러서는 Moore`s law가 깨지는 현상이 발생하고, 이에 따라서 한 칩위에 core를 여러개 올리면서 성능을 향상시키는 방안이 2000년대초에 제시되었다. 그런데 이것도 역시 dark silicon이라는 문제를 통해서 막연하게 증가시킬 수 없다는 결론까지 나오고, 그걸 해결하기 위한 방법들이 운영체제 차원에서 제공되고 있다. 대표적인 게 GreenDroid라는 건데.. 아무튼 지금 언급한 dark silicon problem도 원인은 electrical element에서 나왔다. 참 ee와 cs는 땔레야 땔 수 없는 관계다.
아무튼 이 수업은 그런 소자들을 설명하는 수업이다. 그런데 단순히 복잡한 소자 원리만 가르치는게 아니라 우리가 일상적으로 쓰고 전자기기들, 예를 들어 아이폰이나 맥북을 분해하면서 이 안에 사용되어 있는 소자들을 설명하면서 원리를 설명해주는 방식이다. 관심이 없는 사람이라면 내가 쓰고 있는 전자기기에 뭐가 들어있고, 어떤 원리로 동작하는지를 알 필요가 있냐는 생각을 할 수 도 있겠지만, 그래도 적어도 공학을 전공하는 사람들이라면 그런게 제일 궁금하지 않을까? 그런게 궁금한 사람들을 위한 강의다.
크게 다루는 소자로는 OLED, FinFET, Flash Memory가 있고, 이밖에도 Lithography나 patterning같은 공정 기술에 대해서도 다뤘다. 그리고 무엇보다 이 강의가 의미있었던 건 자기가 공부하는 영역이나 관심있는 영역에 대한 동영상을 15분 정도 준비해서 발표하는 것도 이 강의의 과제로 제공되었다는 것이다. 사실 나도 MOOC를 여러곳에서 들어봤었지만, 이렇게 직접 동영상을 촬영해서 올리고, 수강자들한테서 평가를 받는 시스템은 인상깊었다. 참고로 아래 영상은 내가 앞에서 언급한 dark silicon problem에 대해서 만든 영상이다.
내가 설명한 내용이 맞는건지는 모르겠지만 아무튼 이런식으로 영상을 제출하고 평가받는 방식이었다. 다 영어로 만들어야 하는데서 조금 두려운 점도 있었는데 그래도 막상 해보니까 이렇게 해보는 것도 경험이겠구나 싶었다.
그리고 주마다 교수가 직접 참여하는 virtual class도 google hangout 을 통해서 이뤄졌다. 여기서 교수한테 궁금한 내용이나, 제안 사항같은 걸 이야기 해주면 답변해주는 형식으로 진행되었는데, 생각보다 다양한 국가에 다양한 사람들이 듣는 걸 보고 참 사람들이 열심히 사는구나 싶기도 했다.
아무튼 2달에 걸친 수업도 끝났고, 이렇게 인증서도 나왔다. 뭔가 학부때 다뤘던 내용을 3년이 지나서야 다시 복습했는데, 그래도 옛날기억도 나고, 내가 하고 있는 프로젝트에 대해서도 아이디어가 떠오르기도 했다. 여러모로 재미도 있고, 남는 것도 많았던 수업이었던 것 같다.
이제 방학도 끝나가는데 혹시 이런쪽에 관심이 있거나, 수업을 들을 예정이라면 이 강의를 꼭 들어봤으면 좋겠다. 참고로 이 강의는 앞에서 말한 openEdx를 통해서도 제공되고, 교수가 개별적으로 만든 사이트에서도 제공되니까 궁금한 사람은 한번 들어가보면 된다.
nanoLearning in Stanford : https://class.stanford.edu/courses/Engineering/Nano/Summer2014/about
nanoLearning.org : http://nano-learning.org/
'Study > MOOC' 카테고리의 다른 글
- Total
- Today
- Yesterday
- Off-policy
- RL
- Policy Gradient
- Distribution
- DepthStream
- TensorFlow Lite
- PowerPoint
- windows 8
- Gan
- Variance
- Kinect
- Pipeline
- 강화학습
- ai
- Expression Blend 4
- 한빛미디어
- dynamic programming
- Windows Phone 7
- Kinect SDK
- Offline RL
- processing
- 파이썬
- End-To-End
- reward
- arduino
- bias
- Kinect for windows
- ColorStream
- SketchFlow
- 딥러닝
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |