AWD: Alternative Web Development Frameworks
Changes are marked in green text on yellow.
Working in groups of three or four students, present one of the
following topics:
- Web application development using one of the following:
- ASP.NET
- Node.js with Angularjs
- PHP (a.k.a. LAMP)
- Symfony (PHP-based alternative to LAMP)
- Apache Struts 2 (Java-based)
- Django (Python-based)
- Sinatra (Ruby-based alternative to Rails)
- Play! (Java and Scala framework following the MVC paradigm)
- Grails (designed for the Java platform, based on the Groovy language)
- Any other framework which is reasonably popular and contains
distinctive features.
- Deploying a large web application on multiple servers and NoSQL.
This could include a discussion of MongoDB.
- CoffeeScript with Node.js.
- Further discussions of testing Rails apps, possibly based
on The RSpec Book: Behaviour Driven Development with RSpec, Cucumber,
and Friends (The Facets of Ruby Series) (2010),
Continuous Testing: with Ruby, Rails, and JavaScript (2011),
The Cucumber Book: Behaviour-Driven Development for Testers and
Developers (Pragmatic Programmers) (2012), or Rails 4 Test
Prescriptions: Build a Healthy Codebase (2014).
- In-depth discussion of an aspect of Rails, possibly from Rails
Recipes: Rails 3 Edition (2012) or Crafting
Rails 4 Applications: Expert Practices for Everyday Rails Development
(The Facets of Ruby) (2013).
When done with your lecture, other students in the class should be able to
do the following:
- Understand the motivations for the new technology.
- Know the basic steps for applying the technology.
- Have a written demo they can use in the future.
- Have an understanding of what makes the technology unique.
- Know the advantages of this technology, especially
with respect to best practices in software engineering.
- Be aware of the limitations of this technology.
The lecture material will be covered on the final exam.
Alternatives will certainly be considered; just ask. At a minimum, at least
one group must cover ASP.NET. If you have had previous experience with one
of these or another technology and would like to present it, feel free to
make a request.
Notes on the Presentation
- Use powerpoint or a similar technology, but don't spend so much time
on your slides that your demo is too rushed to convey anything
useful. On the other hand, don't spend 30 minutes on a straight demo
because your audience will get lost. Mix it up and highlight key points.
The slides will be published where the class can access them.
- The directions for running each demo will need to be documented but
can be documented in any text-based method. These will also be made
available to the class. If some portion of your demo comes from a
particular source, that source must be credited. Your demo cannot consist
of material from just one source, and it's expected that you will go
beyond that material such as by contrasting against Rails or discussing
additional possibilities.
- Your presentation should not be just a lecture + demo; you must
include somemore interactive component. That could take the form of a
post-lecture quiz, hands-on exercises, small group discussion sessions,
or other techniques that you believe will enhance your presentation.
- One or more of your group members must discuss your
presentation with your instructor at least a week in advance of your
presentation.
- Practice! It is important that you use the time wisely. Plan for your
presentation to take 45 minutes (so there's time to take care of a little
administrative business before or after).
- Each group member must be the primary presenter for a non-trivial
part of the total presentation. How well you present your material will
be a significant part of your grade.
Writeup
In addition to the above, each student will prepare a writeup discussing
what they learned from doing the presentation and how they
contributed. Contributions can include research, exploratory projects that
you developed
(even if it was not used in the final
presentation), or other forms of support in addition to writing
and presenting material. This writeup should be at
most a page in length and can be just one or two paragraphs.