Web Application Architectures is a free online course conducted by the University of New Mexico. This course helps you to learn how to build and deploy modern web application architectures - applications that run over the Internet, in the "cloud," using a browser as the user interface.
About the course
This course explores the development of web application architectures from an engineering perspective. They shall consider the fundamental design patterns and philosophies associated with modern web application architectures, along with their major components.
By the end of this course, students shall be able to:
- Design, develop and deploy a modern web application
- Understand the major architectural components in web apps, and how they fit together
- Use Ruby on Rails
- Better understand modern software engineering practice
Course Syllabus
Week One - Module 1: Introduction and Background
- Lecture 1: Historical Perspective
- Lecture 2: What is a Web Application?
- Lecture 3: Web 1.0, 2.0, 3.0 Application Architectures
- Lecture 4: Design Patterns
- Lecture 5: Setting up Your Development Environment
Week Two - Module 2: Ruby on Rails
- Lecture 1: Rails Overview
- Lecture 2: Your First Rails App
- Lecture 3: The Blog App - Iteration 1
- Lecture 4: Rails Philosophy
- Lecture 5: Version Control
- Lecture 6: Git and Rails
Week Three - Module 3: Database Interactions
- Lecture 1: Relational Databases
- Lecture 2: Databases in Rails
- Lecture 3: The Active Record Design Pattern
- Lecture 4: The Blog App - Iteration 2 (Associations)
- Lecture 5: The Blog App - Iteration 3 (Validations)
Week Four - Module 4: The Ruby Programming Language
- Lecture 1: Ruby Background
- Lecture 2: Classes and Inheritance
- Lecture 3: Objects and Variables
- Lecture 4: Strings, Regular Expressions and Symbols
- Lecture 5: Expressions and Control Structures
- Lecture 6: Collections, Blocks and Iterators
Week Five - Module 5: Middleware
- Lecture 1: What is Middleware?
- Lecture 2: The Hypertext Transfer Protocol (HTTP) - Introduction
- Lecture 3: HTTP - Request
- Lecture 4: HTTP - Response
- Lecture 5: The Model-View-Controller (MVC) Design Pattern
- Lecture 6: Rails Controllers - Request Handling
- Lecture 7: Rails Controllers - Response
- Lecture 8: MVC Implementation in Rails
- Lecture 9: The Blog App - Iteration 4
Week Six - Module 6: Presentation/User Interface
- Lecture 1: Introduction and Background
- Lecture 2: HTML - Basic Syntax
- Lecture 3: HTML - Document Structure
- Lecture 4: HTML - Forms
- Lecture 5: Dynamic Content
- Lecture 6: Cascading Style Sheets (CSS)
- Lecture 7: JavaScript and jQuery
- Lecture 8: Ajax
- Lecture 9: The Blog App - Iteration 5
Prerequisites
This is a rigorous course that will involve a significant amount of programming and additional reading on your own in order to get the most out of the class. I expect you to be proficient in some object-oriented programming language, e.g. C++, C#, Python, Java, or Ruby.
Course Sessions
March 16, 2015 - April 27, 2015
For further information and to register, click here.