CSCI 446: Web Application Development

Winter/Spring 2011

Lectures

May 2: Other Frameworks and Architectures

You should have completed Unit 7d and have started Project 7.5.

What are some other Web application frameworks?

What is the current state of Web application architecture?

What are some questions that may shed some light on the future of Web application architectures?

Assignment: Watch the Unit 8 Video and try to complete Project 7.5.

Apr 25: RESTful Service-Oriented Applications & Integration

You should have completed Project 7.4. You should have used other teams' applications and your application should be in production!

What is a Web Service really?

What is REST?

How might a framework reduce the burden of interacting with service endpoints?

How do you get two Web applications talking to one another (integration) with REST?

Assignment: Complete Unit 7d and Project 7.5.

Apr 18: "Beta" Testing, "Monkey Testing"

You should have completed Unit 7c and Project 7.3 Your application should be in production!

Despite a test suite with high coverage, why is "monkey-testing" (actually using your application) still critical to QA / user acceptance?

No new unit this week -- use each other's apps according to Project 7.4

Assignment: Complete Project 7.4.

Apr 11: Unit 7c, RESTful-ness, JavaScript, DHTML, AJAX and Scriptaculous

You should have completed Unit 7b and be working on Project 7.

What is REST?

What does it mean for an application to be RESTful?

What is the difference between DHTML and AJAX?

What is the relationship between JavaScript and Scriptaculous?

What is the DOM?

(If you don't know the answers to these questions, be sure to ask on the forum.)

Assignment: Complete Unit 7c and Project 7.3.

Apr 4: Project Sprint

You should have completed Unit 7b and be working on Project 7.

(No new material this week -- focus on the project)

Assignment: Complete Project 7.2 (and begin Project 7.3.

Mar 28: Unit 7b, Basic Exploits, Collaborative Development, Continuous Deployment, Cloud-Based Environments

You should have completed Unit 7a and be working on Project 7.1.

What are some common Webapp attacks and how should a framework help protect your application?

What is the cloud?

What does it mean to "deploy to staging" or "deploy to production"?

What are some additional facilities a good framework should provide you?

Assignment: Complete Unit 7b, finish Project 7.1 and begin Project 7.2.

Mar 22: Unit 7, Preliminaries

You should have had a nice spring break.

What are some common tools every webapp development teams should rely on?

(Project setup & team coordination)

Assignment: Complete Unit 7a and begin Project 7.

Mar 7: Midterm Exam

You should be finished with Project 6.

Online midterm exam.

Assignment: Finish the so-fun-hold-onto-your-pants midterm exam.

Mar 3: Unit 6, Creating Admin and Member Areas

You should be working on Project 6, read and watched Unit 6 and completed Reading 6.

Screencast: How can we use namespacing to create 'admin' or 'members' areas for an application?

Assignment: Finish Project 6.

Feb 21: Unit 6, Namespacing, Authentication, Authorization, ActiveSupport

You should have finished Project 5.

How can we use namespacing to create 'admin' or 'members' areas for an application?

How might you authenticate users and allow them to "log in" to your application?

How might you control what features are available to different types of users?

Assignment: Read Unit 6 and complete both Reading 6 and Project 6.

Feb 18: Unit 5 Part III, Step 4

You should be working on Project 5.

Project 5 walkthrough, step 4: Pagination with will_paginate.

Assignment: Finish Project 5.

Feb 17: Unit 5 Part III, Step 3

You should be working on Project 5.

Project 5 walkthrough, step 3: File uploads with Paperclip.

Assignment: Finish Project 5.

Feb 16: Unit 5 Part II, Step 2

You should be working on Project 5.

Project 5 walkthrough, step 2: Adding the Author model.

Assignment: Continue Project 5.

Feb 14: Unit 5 Part II, Step 1

You should be working on Project 5.

Project 5 walkthrough, step 1: Add a simple menubar.

Project 5 walkthrough, step 1 err: Remember to use .gitignore.

Assignment: Continue Project 5.

Feb 7: Unit 5, Common Plugins/Gems, HAML, SASS, Active Record Associations

You should have finished Project 4.

Project 4, Articl.es Solution

How can you extend your application with gems?

What are HAML and SASS? Why are they better than ERB and CSS?

How does ActiveRecord help you define model associations?

Assignment: Read Unit 5 and begin Project 5.

Jan 31: Unit 4, Common Application Features and The Rails Way

You should be finishing Project 3 if you haven't already.

Building an application on your own.

What are some typical Web application features?

How should a framework assist you in implementing common features?

Assignment: Read Unit 4 and begin Project 4.

Jan 27: Unit 3.1, Rails

You should be working on Project 3.

What are all those files in a Rails application?

How do the design components of MVC, routing, etc. manifest themselves as code in a Rails app?

Assignment: None (continue Project 3.)

Jan 24: Unit 3, Rails

You should have finished reading/watching Unit 2.1 and finished Project 2.

Building your first Rails application.

Assignment: Project 3.

Jan 20: Unit 2.1, HTTP, Architecture, Intro to Ruby, Rails

You should have watched Unit 2, Rails for Zombies and be working on Project 2.

What is HTTP and how does it work in the context of modern Web applications?

What do we mean when we say that HTTP is stateless?

What is one common architecture used by most Web applications?

What should I know about the Ruby ecosystem?

Assignment: Read Unit 2.1 (screencasts inside).

Jan 17: Unit 2, HTTP, Architecture, Intro to Rails

You should have finished Reading 1 and Project 1.1.

Fundamentals review (UI markup / Project 1.1)

What are some wrong ways to build a Web application?

Assignment: Watch Unit 2, see the Rails Zombies and complete Project 2.0.

Jan 14: Unit 1.1, Web App Basics (Testing Your Knowledge)

You should be reading Reading 1 and finishing Project 1.0.

What is meant by semantic markup?

What do we mean by "declarative interface" language?

What are some of the current best practices for Web app user interface implementations?

Assignment: Project 1.1.

Jan 12: Unit 1.0, Introduction, History, What You Should Know

You should have purchased the textbook and be prepared for class.

What is the Web, really?

What are database-backed Web applications?

How did we get here? Where are we going?

Ideally, what should one know before diving into Rails?

READ UNIT 1

Assignment: Reading 1, Project 1.0.

SYLLABUS | FORUM | CONTACT


Our challenge: This class is designed for the student who has basic Web application development experience. This course will prepare you to qualify for a modern Web development job using the Rails framework and the Adobe FLEX platform. Web application development has come a long way since the early days of CGI scripting with Perl. How has Web application development evolved over the years? What are the benefits to using Web-related tools for creating a multiuser application? What are the attributes of the best Web frameworks? Where is Web application development headed? Holistically, what is wrong with the way we're currently "weaving the Web of application data?"