CS 130B
Advanced PHP
Spring 2012
1 Course Information
| CS 130B | Advanced PHP Programming |
| Instructor | Douglas Putnam |
| CRN | Spring: 39300 ; Fall: 78722 |
| Section | 501 |
| Room | 451 Batmale |
| Time | 6 to 9PM Tues |
| dputnam@ccsf.edu | |
| Class Site | http://insight.ccsf.edu |
2 Course Description
CS 130B (Advanced PHP Programming) extends CS 130A (Introduction to PHP) with emphasis on using PHP 5 together with a both relational and NoSQL databases. Students who complete the course will learn about PHP 5's object-oriented interface, how to handle errors with exceptions, how to manipulate XML data with PHP 5's SimpleXML interface, and how to employ object-oriented design patterns to construct a functional MVC (Model View Controller) web site.
The course will emphasize using existing libraries and applications. Students will learn how to install several popular PHP applications, including Drupal and Wordpress.
3 Course Objectives
- Explore PHP 5's object model.
- Learn to use PHP 5's exceptions to handle errors.
- Understand PHP 5's SimpleXML libraries.
- Use PHP 5's built-in Sqlite3, and the MySQli database extensions. Install and employ a NoSQL database such as CouchDB or Redis.
- Learn to install 3rd-party modules with PEAR and PECL
- Learn how to configure PHP via the php.ini configuration file.
- Learn how object-oriented MVC applications such as cakePHP and Rails work.
- Build a functioning resume-worthy web site using what we learn in the course of the semester.
- Use PHP with Javascript (JQuery) to build AJAX-enabled features.
4 Prerequisites
CS 130A or equivalent experience is required for success in CS 130B. As you already know, PHP goes hand in hand with HTML, CSS, JavaScript, and SQL; I expect you to be familiar with those technologies. Whenever we delve into subjects outside the domain of the course, such as SQL and JavaScript, I will provide ample working code so that you may complete the PHP portion of the assignments.
5 Textbook and Class Material
|
Beginning PHP and MySQL
W. Jason Gilmore
The class textbook is available at the CCSF bookstore and at the usual online book vendors. |
|
PHP 5 Power Programming Andi Gutmans, Stig Saether Bakken, and Derick Rethans Free Download |
6 Course Material
All course materials, including handouts, PDFs, code examples, lab assignments, and other material, will be available on the class web site. The lecture material will be included in the bi-weekly quizzes, midterm and final exams, so I encourage you to attend class regularly. I don't post my lecture notes online.
7 Course Topics
- PHP 5's object-oriented model
- OOP Design Patterns
- Error Handling and Exceptions
- PHP with Relational and NoSQL Databases (MySQL, SQLite, and Redis)
- Configuring PHP (php.ini)
- PHP and XML
- Debugging techniques
- Model-View-Controller framework
- Content Management Systems (CMS), such as Drupal and Wordpress.
- Stand-alone PHP scripts (command-line interface)
- Add-on Libraries (PEAR and PECL)
8 Weekly Effort
Programming is not a spectator sport. Besides attending the weekly lectures, plan on spending time each week doing coding. How much time you spend will depend on your web development background and your programming skills. As a rough estimate, figure on spending 3 to 4 hours studying for each hour spent in class (9 to 12 hrs).
9 Assignments and Exams
All class lab assignments will be posted on the class web site. Class lectures are not transcribed and put online.
The midterms and final exam will cover all class material, including labs, lectures, and reading. The quizzes will open book and open notes. The midterm exam will be an online exam.
Sanity Checks (weekly quizzes) cover the weekly reading assignments, labs, and lectures.
Late Assignments
- Quizzes and lab assignments have due dates.
- Work turned in late is penalized 10pts for each day late.
- If your work is more than a week late, it will receive a score of zero.
- If you fail to take a quiz, you will receive a score of zero for the quiz.
- There are no "do-overs", "make-up quizzes", extra-credit assignments, etc. for missed quizzes or late lab assignments
- There is no "drop-the-lowest-score" policy in this course.
10 Grades
Course work will be weighted as follows:
| Forum participation | 4% |
| Homework | 38% |
| Quizzes | 33% |
| Midterm | 10% |
| Final Exam | 15% |
Letter Grades
| >= 90 A- to A |
| >= 80 B- to B |
| >= 70 C- to C+ |
| >= 60 D- to D+ |
| < 60 F |
11 Course Policies
- If you decide to drop the course, it is your responsibility to take the necessary actions and to be aware of the Drop and Withdrawal deadlines. You may drop all CCSF classes online --- no drop code number is needed.
12 CCSF Unix Account
Each student is assigned a Unix shell account on hills.ccsf.edu (HILLS). All of your class work will be run on that server. Student conduct on this server must adhere to the CCSF Student Code of Conduct.
--Douglas Putnam
[This syllabus is subject to change.]
