Teaching

Toggle PHP/PostgreSQL Workshop

Summer I, 2010: Working Syllabus

School of Library & Information Science, S603 | Summer One, 2010

Prerequisites

No prior knowledge of PHP is assumed, as part of the workshop will be dedicated to this goal. Familiarity with HTML, CSS, PERL, and SQL will be helpful, but not necessary. (Completion of S511 and S517 is recommended, but not required.)

Required Text

There will be no required textbooks. All course materials will be available online or IUCAT via the Books 24×7 website at http://www.libraries.iub.edu/scripts/countResources.php? resourceId=59555. [IU-Bloomington Login Required]

Background

PHP is a programming language written for the web; it is easy to learn, free to download, and provides many powerful features for web developers. PHP allows you to build interactive, dynamic, and secure web applications using code similar to JSP (Java Server Pages), ASP (Active Server Pages), Python, and PERL (CGI Programming), to name just a few. PHP, the most commonly used web programming language, is actually developed from Perl and they share many similarities. PHP is popular because it is open source and because it has a substantial community of online users supporting its further development. There are many resources online from which you can discuss, share, and download PHP code and tutorials. There are countless websites using PHP to serve up information, some of the most popular include Yahoo!, FLICKr, Facebook, Wikipedia, Digg, Drupal, WordPress, and many more.

Any Web professional entering the field today should have a basic understanding of Web 2.0 technology. In the Web 2.0 environment that dominates the Internet today, we often interact with websites using an arsenal of client-side languages such as JavaScript, CSS, HTML, XML, and many others. These client-side languages often need to interact with server-side languages in order to serve up fresh, dynamic content from databases across the web; this is where PHP comes into the picture. PHP is a great foundation from which to build your understanding of Web 2.0.

PHP functions as a web-database integration tool: it generates web-accessible content from information stored in a database. PHP is often used with the MySQL database system; however, it can be configured to work with any database system. SLIS’s web server currently uses PostgreSQL, an open source system similar to MySQL. Because SLIS’s web server is configured to use PHP with PostgreSQL, it makes sense to offer this PHP workshop using PostgreSQL as the database system.

Course Description

This workshop aims to prepare students to develop and implement dynamic web content; it will be taught as a workshop. Following a brief introduction/review of basic concepts, the participants will focus on technical aspects of coding PHP and SQL. The workshop focuses on the basics of creating dynamic HTML using the tools of PHP and SQL with PostgreSQL. After learning the basics of PHP programming and basic SQL commands that are needed to create and access a database, students will prepare example data and use PHP to present this data dynamically in a webpage of their own design. The homework will build on the day’s concepts and will be assigned at the end of each day. A final project will be due the final day of the semester.

Upon completion of the workshop, students should understand: the basics of dynamic web sites, be able to use SQL to connect and retrieve information from a database, and develop coding skills that will allow them to create more advanced websites using AJAX, XML, etc.


ToggleS517 – Web Programming

Fall, 2010: Working Syllabus

School of Library & Information Science, S517 | Fall, 2010

Prerequisites

S401 is required

No prior knowledge of PHP is assumed, as part of the course will be dedicated to this goal. Familiarity with HTML, CSS, PERL, and SQL will be helpful, but not necessary.

Required Text

There will be no required textbooks. All course materials will be available online or IUCAT via the Books 24×7 website at http://www.libraries.iub.edu/scripts/countResources.php? resourceId=59555. [IU-Bloomington Login Required]

Background

PHP is a programming language written for the web; it is easy to learn, free to download, and provides many powerful features for web developers. PHP allows you to build interactive, dynamic, and secure web applications using code similar to JSP (Java Server Pages), ASP (Active Server Pages), Python, and PERL (CGI Programming), to name just a few. PHP, the most commonly used web programming language, is actually developed from Perl and they share many similarities. PHP is popular because it is open source and because it has a substantial community of online users supporting its further development. There are many resources online from which you can discuss, share, and download PHP code and tutorials. There are countless websites using PHP to serve up information, some of the most popular include Yahoo!, FLICKr, Facebook, Wikipedia, Dig0g, Drupal, WordPress, and many more.

Any Web professional entering the field today should have a basic understanding of Web 2.0 technology. In the Web 2.0 environment that dominates the Internet today, we often interact with websites using an arsenal of client-side languages such as JavaScript, CSS, HTML, XML, and many others. These client-side languages often need to interact with server-side languages in order to serve up fresh, dynamic content from databases across the web; this is where PHP comes into the picture. PHP is a great foundation from which to build your understanding of Web 2.0.

PHP functions as a web-database integration tool: it generates web-accessible content from information stored in a database. PHP is often used with the MySQL database system; however, it can be configured to work with any database system. SLIS’s web server currently uses PostgreSQL, an open source system similar to MySQL. Because SLIS’s web server is configured to use PHP with PostgreSQL, it makes sense to offer this web programming course using PostgreSQL as the database system.

Course Description

The main focus of this course is to instruct students to develop and implement dynamic and interactive web applications. In order to do so, students will learn the basics of PHP programming both through lectures and hands-on exercises in the lab. The semester will begin with a brief introduction to the basic concepts in web programming languages such as variables, proper code syntax, and logical statements, just to name a few. Students will be asked to focus on the technical aspects of coding in PHP.

The course focuses on the basics of creating dynamic HTML using the tools of PHP (and later in the semester basic SQL). After learning the basics of PHP programming, basic HTML, basic CSS, and basic SQL commands that are needed to create and access a database, students will be asked to prepare example data and use PHP to present this data dynamically in a webpage of their own design. Homework assignments will build on previous lectures and will be assigned at various intervals during the semester. A final group project will be due the final week of the semester.

Upon completion of the course, students should understand: the basics of dynamic web sites, be able to utilize PHP and basic SQL to connect and retrieve information from a database, and develop coding skills that will allow them to create more advanced websites using AJAX, XML, etc.
Office Hours

Course Schedule (TENTATIVE)

NOTE: Students are encouraged to read the first day’s readings before the course begins.

8/31 Programming Basics Mercer: Introduction,
PHP Manual: Introduction
Lab Exercise,
Group Formation
9/7 Basic Variables and Operators Lengstorf: Ch. 2,
Mercer: Ch. 2
Homework 1
9/14 Control Structures Mercer: Ch. 4 Lab Exercise
Group Description
9/21 Arrays Gilmore & Treat: Ch. 5,
PHP Manual: Arrays
Homework 2
9/28 PHP Form Processing Lengstorf: Ch. 3,
Mercer: Ch. 3,
Gilmore & Treat: Ch. 13
Lab Exercise
10/5 Program Design Nuseibeh & Eastbrook,
Parner Articles
Homework 3
10/12 Regular Expressions Goyvaerts Website,
PHP F1 Website
Lab Exercise
Group Specs
10/19 Functions Gilmore & Treat: Ch. 4,
Mercer: Ch. 6
Lab Exercise
10/26 Read/Write Files Gilmore & Treat: Ch. 10,
Mercer: Ch. 7
Homework 4
11/2 Database/SQL Basics Gilmore & Treat: Ch. 30,
Mercer: Ch. 9,
Taylor: Ch. 1-3,
Drake Article
Lab Exercise
11/9 Database Tables, Records, and Datatypes Gilmore & Treat: Ch. 28
Mercer: Ch. 7
Taylor: Ch. 5
Homework 5
11/16 Testing/Debuggin Mercer: Ch. 5-6
Vaswani Articles
Lab Exercise
11/23 THANKSGIVING BREAK
11/30 (open) Lab Q/A
12/6 Group Presentations Group Presentations
12/13 FINAL Projects Due Final Projects

Comments are closed.