Web

Web Applications

John Ousterhout

Course Description

Although the World-Wide Web was initially conceived as a vehicle for delivering documents, it is now being used as a platform for sophisticated interactive applications, displacing the traditional mechanism of installable binaries. Web-based applications offer numerous advantages, such as instant access, automatic upgrades, and opportunities for collaboration on a massive scale. However, creating Web applications requires different approaches than traditional applications and involves the integration of numerous technologies. This class will introduce you to the Web technologies and give you experience creating Web applications. In the process you will learn about markup languages, scripting languages, network protocols, interactive graphics, event-driven programming, and databases, and see how they all work together to deliver exciting applications.


I. INTRODUCTION



II. HTML and CSS



III. URLs and Links



IV. The Ruby Language



V. Rails Introduction



VI. Introduction to SQL



VII. Active Record



VIII. HTTP and HTTPS



IX. Cookies and Sessions



X. Forms



XI. Javascript



XII. The Document Object Model (DOM)



XIII. Events



IX. AJAX



X. Security: Network Attacks



XI. Security: Session Attacks



XII. Security: Isolation



XIII. Security: Code Injection



XIV. Security: Phishing Attacks



XV. Large-Scale Applications



XVI. Datacenters



XVII. Deploying Web Applications



XVIII. Course Wrap-Up