News

Sept 23 Welcome to EECS 394!

When

TTh 11am - 12:20am

Where

Tech M164

Resources

This is a class about learning to develop HTML5 mobile and web app products using modern sustainable practices that deliver value as quickly as possible to users, clients, developers, and the development organization. These practices usually go under the name of "agile" or "lean agile."

This course is not recommended for first and second year undergraduates. It assumes significant prior programming experience, in multiple languages, and, even better, some industry experience.

This course is about much more than programming. It's about software development. It's about delivering high quality code early and often. It's about being efficient, using modern lean agile practices. It's about constant reflective analysis and improvement.

What you'll be doing a lot of in the next 10 weeks:

Required Meetings

This class involves a great deal of work with your team, your client and me. That means frequent face to face meetings. These are a requirement of the course. If you have trouble committing to the meetings below, contact me now. You may need to drop the course.

All meetings should lead directly to deliverables, designs for deliverables, or specific steps to take to improve your development process. If a meeting doesn't do this, it was a waste of time.

Programming Requirements

Substantial prior programming experience is required. I assume you already know or can quickly get up to speed with

The class discussions and assignments focus on development processes, not programming technology. Work is done in teams but all team members are responsible for all parts of the application.

Prior mobile development experience is not required. The ability to pick it up on your own is.

Development computer:

You need to have either a Mac, PC, or Linux machine suitable for software development, with plenty of memory and gigabytes of disk space. Laptops are best because they can be brought to the meetings to do demos and development.

Textbook

Required

The text for agile software development is The Agile Samurai by Jonathan Rasmusson. Don't be fooled by the casual style. This is a sound introduction, by a developer for developers, to agile software development.

Recommended

The web will be a primary resource for technical details on HTML5, CSS and Javascript, but if this is new to you, I recommend getting a good book, such as Build Mobile: websites and apps for smart devices

Mobile Web Apps

The recommended target architecture, at least initially, is what are called mobile web apps:

The advantages are

The disadvantages are

Once you have a good prototype, and need these or other features, you can either

Caution: As soon as you go beyond mobile web: