우선 이 글을 읽기전에 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