Teaching
PHP/PostgreSQL WorkshopSummer 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.
S517 – Web ProgrammingSchool 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 | |
RSS