Learn to build a web application using modern design principles and tools, including HTML5, Git, Twitter Bootstrap, Postgresql, PHP5, Vagrant and JQuery. We'll go through the entire web development process from start to finish, and learn how to build a modern, stable, secure web application. No prior programming experience is required.
How to use Atom, our text editor, to manage project files
Building a very simple web page
Using an Atom package to automatically format our HTML
Displaying lists of information, either with bullets, or as a numbered list
How to add images, tables, and forms to your web page
A brief introduction to cascading style sheets
Making the login form more useful
How to install and use Twitter Bootstrap, a great CSS framework
How to position things on the page with Bootstrap
Creating a simple form which uses Bootstrap's CSS
Creating a user registration form using Twitter Bootstrap's classes
Simple (primitive, really) validation with hand-written functions
A more elegant form of validation using JQuery and JQuery-Validate
Selecting by class, id, or html tag with jQuery
Starting and using Terminal program on Macs, and the Command Prompt on Windows
Installing the necessary software to get our VM up and running
Get a copy of the virtual machine we'll be using for the remainder of the course.
Putty, an ssh client for Windows users
A brief introduction to some useful Unix/Linux commands
Using vagrant share to make our website available to others for review
Everyone makes mistakes, so I'm not going to hide mine
Some resources that you will find helpful as we proceed
Writing our very first PHP script
A simple way (which we'll improve upon) to handle posting form information
Another useful data structure
How to persist data across web pages
Force all web page requests to go through our index file
Respect/Validate -- an excellent validation package
Using an existing validation package in our app
A simple assignment on validation
Improving our autoloader, and implementing namespacing
Ensuring emails are actually valid emails
Making sure that passwords and emails are entered correctly
Improving our code style, and a helper app to automate the process
Password hashing made simple
Finishing off our validation class and logic
I have twenty years of experience in professional software development, and twenty years of experience as a University level educator and researcher.
As an entrepreneur, I have worked with a broad range of clients, including Thomson Nelson, Hewlett Packard, the Royal Bank of Canada, Keybank, Sprint, and many, many others. I also have extensive management and project management experience. I have led teams of fifty developers and artists on multi-million dollar projects, and much smaller teams on much smaller projects.
As a professor, I have taught in a wide variety of course areas, including Computer Science, English, Irish, and American literature, and a number of "crossover" courses that bridge the liberal arts and technologies.
I have won regional, national, and international awards for my work in the IT field, and have also won awards for my teaching and research efforts as a University professor.