Web Application Development Transitions Certificate Program

Characteristics Of This Class:


In this accelerated certificate program you will learn how to develop sophisticated web applications using the open-source LAMP (Linux, Apache, MySQL and PHP) technologies as well as the essentials of web security and server management. These skills will enable you to create professional websites with advanced features.

Program Description

The web is evolving quickly and it can be tough to keep up with the latest technologies and techniques in web application development. Nonetheless, certain principles remain relevant over time because every web app has certain problems it has to solve, regardless of the tools used to do so.

Work Load

Some work will be done in-class, however class time will be best used for review of exercises and material that participants spent time on beforehand. Participants should expect a significant amount of homework between classes! The course will move quickly and will build on concepts as it moves along. Please be sure you can devote at least a few hours outside of class per week!

Goals

By the end of the course, you should be able to: 

  • understand and use certain basic programming principles and concepts
  • understand and use fundamental web terminology and technologies
  • be able to implement a simple, secure web application using a framework or platform

Read more about what makes our Transitions Certificate Programs unique.

Prerequisites

Participants should already have a working understanding of HTML and CSS, as this is not a design course, an HTML course, or a Dreamweaver course. In-class coverage of HTML and CSS will be minimal, and we'll be editing all of our code by hand using a text editor. We'll be using HTML5 and CSS3 as implemented in modern browsers. If you can't write HTML and CSS blindfolded with one hand tied behind your back, take our Web Design Transitions Certificate Program first and start practicing!

Equipment

BDA provides an iMac workstation when necessary. However, we strongly encourage you to bring your own computer for this course if you'd like to follow along with the examples and access your own web hosting accounts during class time. You'll need either a web hosting account with PHP 5.x and MySQL 5.x or a laptop with a working local (L)AMP stack (again PHP 5.x and MySQL 5.x) if you wish to code along in class.

You will need the following software:

  • Text Editor: TextMate, BBEdit, or similar (Mac); Notepad, Notepad++, or similar (Windows)
  • Browser: Mozilla Firefox (preferred), Google Chrome, or Safari.
  • Firebug for Firefox or the latest version of Safari or Chrome with web developer tools enabled
  • FTP Program: Interarchy, Filezilla FTP client or a similar FTP program
  • Sequel Pro (Mac), MySQL Workbench (Windows)

The instructor will be using TextMate, Firefox, Firebug, Sequel Pro, and Interarchy.


Schedule

The first five sessions will mostly focus on general programming concepts and skills. The last five will focus on applying those skills to web development, and the course as a whole will culminate in the presentation of a small personal project.

Week 1 Session 1

6pm - 9:30pm: Computers Do What You Tell Them To Do

Our first lesson is surprisingly difficult to accept! They are frustrating, mysterious, and clearly obsessed with foiling all of our plans, but actually computers do only and precisely what you (or rather, you plus the engineers who designed them) tell them to do. To get our feet wet, we start with a little graphical programming and are introduced to our Javascript-based version of the Karel programming environment.

Week 1 Session 2

6pm - 9:30pm: Numbers, Words, Images, Iteration, and Conditions

In the second session we take a look at some of the building blocks of any program: data and instructions. We set up our Javascript and PHP environments and are introduced to those two languages. We continue to try to relate with our apparently hopelessly neurotic computers in both our Karel environment, and via debug logs. It turns out that, as in any relationship, good communication is key.

Week 2 Session 1

6pm - 9:30pm: Decomposition, Persistence, Client and Server

Computers remember things. We'll explore how they do this in a few different ways, and look at what it means for you as a programmer/problem-solver and a web developer. We'll take an introductory look at variables, cookies, files, databases, and the relationship between client and server. Furthermore we'll explore how you can use functions, arguments, and return values to help make hard problems easier to manage.

Week 2 Session 2

6pm - 9:30pm: Input and Output

Mostly, programs take one thing -like your credit card number - and turn it into something else -like a box from Amazon. Ok, it's not quite that simple, but generally a program without input and output isn't going to be very useful. In this session we take a look at input and output in PHP, Javascript, and how HTTP fits into the picture. We will take a look at data formats, communication protocols, and study a couple of the more useful ones to know.

Week 3 Session 1

6pm - 9:30pm: Data Structures

In any relationship, you must make compromises. Having looked at data formats that other folks have designed, we'll investigate what it takes to create our own data structures. The way you design your data is absolutely critical to how your program works. With clear communication and with the willingness to meet your computer half-way, you can find balance and richness in this challenging relationship. In this session, we'll also kick off our personal projects, which we'll present at the end of the course.

Week 3 Session 2

6pm - 9:30pm: Frameworks, WordPress, Themes and Plugins

The first rule of web development is that if you think you need feature X, it's likely that someone else needed that feature too and has already done the work to make it! In this session, we'll take a look at frameworks, APIs, and and specifically investigate WordPress as a platform for content management and web applications. While participants are welcome to use the framework or CMS of their choice for their personal project, WordPress will be the server-side application/CMS platform we spend the most time with from here on out, while jQuery will serve as our framework of choice on the client.

Week 4 Session 1

6pm - 9:30pm: Asynchronous Communication

More Client/Server. Long-distance relationships take extra work to get right, and the client/server relationship is no exception. Mixed signals and confusion can lead to confounded expectations and hurt feelings. In this class we take a look at the magic and challenge of asynchronous HTTP requests, popularly known as AJAX.

Week 4 Session 2

6pm - 9:30pm: The Anatomy of a Web Application

Every application must solve certain problems and address certain needs. What are these problems and what are some solutions? Topics include design patterns, algorithms and data structures, configuration versus convention, and more on datastores.

Week 5 Session 1

6pm - 9:30pm: Best Practices

While the web and the industries it has spawned continue to evolve, a lot of very smart people have spent a lot of time, trial, and error to figure out good ways to get some common things done. There's no one right way to do things, but an ounce of knowledge is worth a sleepless night of coding, or something like that. We'll look at the all-important topic of web security, and what you need to know as a web developer. Also: testing patterns, development iteration cycles, source code management, and collaboration.

Week 5 Session 2

6pm - 9:30pm: Personal Project Presentations

In the final session we get to show off! Each participant will be invited to present their personal project for the course, with Q/A, discussion, and cookies (the round tasty kind, not the ones made of bits and bytes). Additional topics can be covered or reviewed in this final session as requested by participants.

Instructor

Craig KendallEric Miller has a background in software, architecture, and music, and wowed his friends in high school by playing Tetris with his toes. He has been coding something or other since 1995 and has been creating software for the web professionally since 2007. Eric has a BS from Stanford University, an M.Arch from the University of Colorado, and a black belt in Aikido, but has sadly allowed his mad Tetris skillz to wither.

Location

This certificate program will be held in the Boulder Digital Arts Boulder location classroom.

Eric Miller

Eric Miller

Eric Miller has a background in software, architecture, and music, and wowed his friends in high school by playing Tetris with his toes. He has been coding something or other since 1995 and has been creating software for the web professionally since 2007. Eric has a BS from Stanford University, an M.Arch from the University of Colorado, and a black belt in Aikido, but has sadly allowed his mad Tetris skillz to wither.


I just finished this program and was very impressed. My biggest concern with paying to take classes is that I won't get my money's worth and this wasn't the case. The instructor, Eric Miller, works in the field every day and it shows. He was always taking the time to show how the curriculum fit into the real world and made sure everyone had a solid grasp of the material before moving on. As with all programs and classes, the material is given in an accelerated pace so you have to make sure you know what's going on before you accept the next challenge, but the small class size allows for it.

Chris, 4/14/2014

This class moves fast and covers a lot of ground for beginners new to programming but it was very helpful and informative.

Steven, 10/25/2012

I wanted a solid basic understanding of PHP and MySQL and I got it. The instructor was very kind - not intimidating, easily approachable.

Amelia, 2/22/2012

The instructor was great!

Jake, 8/10/2011

Related Classes & Workshops

Below is a list of classes & workshops that are related to the one you are reading about now. We also encourage you to take a look at our "help me choose" page for much more information on choosing which BDA program is right for you.

Optional Payment Plan for Transitions Certificate Programs:

We want to make our training as accessible as possible so we offer a simple payment plan for our Transitions Certificate Programs. Each of the 4 payments is 25% of the total registration fee with no finance charges or other costs. The first payment will be taken when you register and the remaining 3 payments are paid every month for the following 3 months (detailed payment information in the table below). It's easy to take advantage of this option and we encourage you to sign up early since these programs often fill up fast! If you're interested, don't register online. Instead, please contact BDA staff at 303-800-4647 or email us with the name and start date of the program you wish to attend (info@boulderdigitalarts.com) and we'll get you setup, take your first payment, and confirm your registration.

 

Payment Program Details

  BDA Member Non-Member
Payment 1
Paid at time of registration.
$252.25 $277.25
Payment 2
Due one month after registration.
$252.25 $277.25
Payment 3
Due two months after registration.
$252.25 $277.25
Payment 4
Due three months after registration.
$252.25 $277.25
Note: registrants using the payment plan are not eligible for the early registration discount and always pay the standard registration fee ($1,009.00 for BDA members and $1,109.00 for non-members).

Registration Fees

BDA Members: $999.00

Non-Members: $1,099.00
Become a member now and save $100.00

Scheduled Dates

Sorry, this event isn't currently scheduled.
+ Follow this event
+ Email us to request the class

Notifications