Recent Changes - Search:

Welcome to CAVI, the Cisco Academy for the Vision Impaired.

Course Fees Linux Wiki HTML Wiki Documentation Index PmWiki FAQ

Edit SideBar

IntroductionToProgrammingWithPHP

Course Overview

Students looking for the resources for students please visit the following link: PHP Student Resources

Hello. I'm Amanda Rush, and I'm excited about teaching students how to program using the PHP scripting language. Working with PHP can be a lot of fun, and it is a powerful language as well. I'll be teaching students how to create web applications that work in a wide range of settings, from business to online games.

You need to know HTML and CSS to take this course. We strongly encourage students to complete the Intro to HTML and CSS course before taking this class. However, if you have comparable knowledge gained elsewhere, we will review your application.

Here's a description of what we're going to learn this term.

Unit One

The first unit of the course will cover theoretical groundwork, including topics such as:

  • what is PHP? What does "PHP" mean and what is it used for?
  • how it differs from and can be used inside of HTML, how it works outside of a web page, and how it can be used to generate alternate media (such as audio, images and XML).
  • The dialogue between browser, web server and PHP, and what it means to execute code on the client or server.
  • The need for a local web server and how one can be obtained and configured with relative ease for local development, with emphasis on security implications.

Practically, at the end of the first part of the course, a student should:

  • Have a basic understanding of PHP and the items mentioned above.
  • Have a working web server installed on their local machine or network, and the ability to get information into it (from a file manager and text editor), and out of it, with a web browser.

Unit Two

The second unit of the course introduces programming in PHP, where we will:

  • Start with a hello world program to test that PHP is properly installed and configured.
  • Examine a few small scripts, to learn about variables, decision making and iteration, data input and output and program flow.
  • Pseudocode a small PHP application; perhaps a "higher or lower guess the number" game or similar, something taking input from a form in a small way and processing it.

All this will be written out and designed in a Human readable form, rather than written directly in PHP to start.

Practically, at the end of the second part of the course, the student should:

  • Understand when we are working in or out of PHP.
  • Recognise variables, be able to identify their type, and be able to read if statements and various types of loop so as to understand what a program is doing.
  • Understand the benefit of designing a program on paper before you begin to code and have brainstormed and designed their first prototype application.

Unit Three

The third unit of the course will cover the implementation, debugging, testing and analysis of the design from Unit two. In this part of the course I aim to let the student's drive the progress, acting as a reference they can call on, writing code under their direction, debugging and analysing code they write themselves and providing best practice guidelines as issues arise (on matters such as minimising branching code, variable names, input validation etc. - all issues which will inevitably arise due to the nature of the software design).

Practically, at the end of the third part of the course, the student should:

  • Have designed and written, or helped to write, a fully-functional PHP application.
  • Found and fixed bugs in the program so that it runs and performs as expected.
  • Have learned about input validation, the implications of not using it and how to implement it themselves.
  • Critiqued the initial design, finding strengths and weaknesses, and taking lessons away to make future design and development more effective.

Unit Four

The fourth and final unit of the course will encourage the creation or examination of a number of scripts to add functionality to existing websites. Students will be given a shortlist of such snippets and encouraged to think of their own as well. These might include:

  • A Countdown to a specific date or time
  • adding a webmaster's Skype status to a contact page
  • Producing random or rotating data, i.e. a random quote, fortune cookie, word of wisdom etc.
  • A poll or voting system
  • Charting visitor statistics (by country, browser, operating system etc).
  • A visitor's guestbook
  • a contact form
  • a podcast generator

Please feel free to suggest more!

as a class, we will design and implement several of these suggestions, or examine some already created and published online. Using our local development environment as a sandbox away from the public web and learning to read code written by others we will also gain an understanding of script security essential for publishing our scripts to the world and using code by others.

This sort of work will cement our understanding of PHP structure and methodology, providing students with an excellent level of knowledge to take their study further and use PHP themselves. at this stage, I will also be spending time on individual student projects, as many students by this time will want to design their own ideas.

Practically, at the end of the forth unit, a student should:

  • Have designed and implemented several of the shortlisted projects.
  • Have examined code written by others to learn how it works, but more importantly to be able to see exactly what it does to be sure it's safe to run.
  • Complete the course by creating something of their own; which can be from the short list (i.e. a contact form, a guestbook etc), or be well on their way to doing something else they want to create.

How To Enroll

Does this course sound like fun to you? Enrolling is quick and easy. Have you completed our Intro to HTML and CSS course, or do you have comparable knowledge? If you're a new student, your next step is to grab a copy of our enrollment application. Fill out the application and email it to us at the address given on the application. The enrollment deadline for the Spring semester is February 7,2014. If you are a returning CAVI student, please just send us an email at caviinfo at ciscovision dot org letting us know you want to enroll. I'm looking forward to seeing you in class this term.

Pricing

For pricing on this and our other courses, please see the Pricing and Fees page.

Edit - History - Print - Recent Changes - Search
Page last modified on August 19, 2016, at 05:32 AM