우선 이 글을 읽기전에 Udacity에 대한 자세한 소개는
제가 예전에 쓴 Udacity를 소개합니다 라는 글을 참고하시길 바랍니다.

3주전 개설한 두 과목인 CS101 검색엔진 만들기와 CS373 무인자동차 만들기의 7주차 강의가 끝난 후
새로이 개설될 3개의 강의들이 현재 수강신청을 받고 있습니다.

CS253: Web Application Engineering
CS262: Programming Languages
CS387: Applied Cryptography




CS253의 경우는 reddit을 만든 Steve Huffman이 직접 수업을 합니다.
스케일러블한 웹 어플리케이션을 어떻게 만드는지에 대해 관심이 많은 저로서는, 개인적으로 가장 기대되는 수업입니다.
그래서 이번엔 이 과목만 수강합니다.
(이번에 CS101이랑 CS373이랑 동시에 수강신청을 했는데 요즘 일하느라 너무 바빠서 CS101과 CS373 둘 다 수강하기가 너무 힘들었습니다.
그래서 지금 CS373은 버려진 상태입니다... 그래서 다음부터는 한번에 최대 한 과목만 수강해서 끝을보자고 결심을 했습니다.)

CS253 - WEB APPLICATION ENGINEERING


Description: Web applications have the power to provide useful services to millions of people worldwide. In this class, you will learn how to build your own blog application starting from the basics of how the web works and how to set up a web application and process user input, to how to use databases, manage user accounts, interact with other web services, and make your application scale to support large numbers of users.

WEEK 1:

How the Web Works
Introduction to HTTP and Web Applications


WEEK 2:

How to Have Users
Getting and processing user input


WEEK 3:

How to Manage State
Databases and persistent data


WEEK 4:

Whom to Trust
User authentication and access control


WEEK 5:

How to Connect
Web applications as services, using APIs


WEEK 6:

How to Serve Millions
Scaling, caching, optimizations


WEEK 7:

Changing the World
Building a successful web application, project







CS262는 버지니아대학교의 CS교수인 Westley Weimer가 수업을 합니다.
지루한 프로그래밍 언어이론 수업에만 그치지 않고 나아가,
HTML과 Javascript를 이해하고 동작하는 간단한 웹 브라우저를 만드는 것이 주된 수업 내용입니다.

CS262 - PROGRAMMING LANGUAGES


Description: This class will give you an introduction to fundamentals of programming languages. In seven weeks, you will build your own simple web browser complete with the ability to parse and understand HTML and JavaScript. You will learn key concepts such as how to specify and process valid strings, sentences and program structures. Then, you will design and build an interpreter - a program that simulates other programs.

WEEK 1:

String Patterns
Finding and specifying classes of strings using regular expressions


WEEK 2:

Lexical Analysis
Breaking strings down into important words


WEEK 3:

Grammars
Specifying and deconstructing valid sentences


WEEK 4:

Parsing
Turning sentences into trees


WEEK 5:

Interpreting
Simulating programs


WEEK 6:

Building a Web Browser
Interpreting HTML and JavaScript


WEEK 7:

Wrap-up
Exam testing your knowledge







CS387은 역시나 버지니아대학교의 CS교수인 David Evans가 수업을 합니다. David Evans는 현재 CS101을 가르치고 있습니다.

CS387 - APPLIED CRYPTOGRAPHY

Description: Cryptography is about “secret writing”. In this class, we will introduce the mathematical foundations of cryptography and build programs to perform encryption. We will see how to use cryptography to solve important problem such as how to authenticate users, secure websites, and do computation without exposing up your data. We will also look at the things that can go wrong when cryptography is misused or implemented badly.

WEEK 1:

Symmetric Encryption
Sending messages when two people share a secret


WEEK 2:

Authentication
Using symmetric encryption to manage passwords securely


WEEK 3:

Asymmetric Encryption
Public-key cryptosystems


WEEK 4:

Public-key Protocols
Secure commerce, certificates


WEEK 5:

Digital Cash
How to make money from numbers alone


WEEK 6:

Secure Computation
Computing without exposing data


WEEK 7:

Wrap-up

Problems cryptography can and cannot solve 
  

Udacity를 소개합니다

Posted by epicdev Archive : 2012. 2. 23. 20:06


Udacity란 open course들을 제공하는 많은 사이트들 중에 하나이다.
http://www.udacity.com/

Udacity는 다른 open course 사이트들과는 다르게 Computer Science 과목들만 집중적으로 다루고 있다.
런칭한지는 그다지 오래되지 않았으나 개인적으로는 가장 기대하고 있는곳이다.

이곳을 설립한 Sebastian Thrun은 Stanford의 Computer Science 학과에서 가장 잘 나가는 교수들중 한명이며
현재 내가 대학원에서 연구하고 있는 분야의 현재 세계 1인자인 대단한 사람이다.
내가 Udacity를 가장 기대하는 이유는, Sebastian Thrun의 엄청난 학계 인맥에 있다.
Thrun의 인맥을 이용해서 유명한 교수들을 초빙하여 수업을 한다면
수업의 질이 당연히 좋아질수밖에 없다고 생각한다.

게다가 각 수업을 듣고 숙제를 하고 시험을 치고 과목을 통과하면 수료증도 준다고 한다.
수료증이 실제로 큰 의미는 없겠지만,
나같은 경우는 open course를 듣다보면
초반에 열심히 듣다가 바빠서 나중에는 그냥 때려치우는데
이를 방지하는데 도움이 될것이라고 생각한다.

그리고 open course의 가장 큰 문제인 학생과 교수의 interaction이 없다는 점을
브라우저 기반의 퀴즈나, 브라우저 내에서 동작하는  Python interpreter를 통한 프로그래밍 퀴즈를 통해서
문제를 해결하고 있다.
특히나 퀴즈의 경우는 비디오 인식 기술을 사용해서 교수가 화면에 특정 형태의 form을 그려주면
그 form을 기반으로 퀴즈가 저절로 생성되게 된다.
그렇게 생성된 퀴즈가 학생들에게 주어지기 때문에
학생들의 입장에서는 수업의 컨텍스트를 잃지 않으면서 퀴즈를 풀 수 있어 수업에대한 집중도가 더 높아지고
교수의 입장에서는 따로 퀴즈를 만들지 않아도 되기 때문에 편리하다.
이 기술의 데모는 아래의 링크에서 볼 수 있다.
http://www.youtube.com/watch?feature=player_detailpage&v=SkneoNrfadk#t=321s



Stack overflow 프레임워크를 사용한 포럼도 존재해서 학생들간의 discussion도 가능하며
실제로 매우 활발한 discussion이 수업들마다 진행되고 있다.
또한 office hour도 있어서 특정 시간에 포럼을 통해서 교수와 질의응답도 가능하다.



현재 Udacity에는 CS101과 CS373이 있는데
101은 검색엔진 만들기이고
373은 무인자동차 만들기이다



373의 경우는 세계적인 무인자동차 권위자인 Thrun이 직접 수업을 해서 많이 기대가 되는 수업이다.
아직은 101과 373 두개의 수업밖에 없지만
개설예정 과목들을 보면 Computer Science의 전반적인 핵심과목들을 개설할 예정인듯하다.

Udacity가 Computer Science를 접해보지 못한 일반인들에게도 많은 도움을 주겠지만
Computer Science 전공자인 나같은 사람에게도
평소에 관심은 있었지만 수강을 못했던 혹은 개설하지 않아서 수강하지 못했던 과목들을
수강할 수 있기 때문에 전공자 비전공자 모두에게 많은 도움이 될것이라 생각한다.
  
 «이전 1  다음»