CPSC 462/662-001, Database and Web Applications
Fall 2009
Warning: This page is updated frequently. Check it often!
Text references refer to material in:
-
Paul Hudson, PHP in a Nutshell, O'Reilly, 2006,
Amazon
-
Russell J.T. Dyer, MySQL in a Nutshell, 2nd Edition, O'Reilly, 2009,
Amazon
- Thursday, August 20, 2009
- Tuesday, August 25, 2009
- Ch. 1: Introduction to PHP
- PHP History; Advantages of PHP
- Ch. 4; The PHP Language
- The Basics of PHP; Variables; Whitespace; Heredoc; Brief Introduction to Variable Types; Code Blocks;
Opening and Closing of Code Islands; Comments; Conditional Statements; Case Switching; Loops; Infinite Loops;
Special Loop Keywords; Loops Within Loops; Mixed Mode Processing; Including Other Files; Functions;
- Ch. 5: Variables and Constants
- Types of Data; True or False; Strings; Integers; Floats; Automatic Type Conversion; Checking Whether a Variable is SET: isset*();
Variable Scope; Variable Variables; Superglobals; Using $...ENV and $...SERVER; References; Constants; Arrays
- Ch. 6: Operators
- Arithmetic Operators; Assignment Operators; String Operators; Bitwise Operators; Comparison Operators; Incrementing and
Decrementing Operators; LOgical Operators; Some Operator Examples; The Ternary Operator; The Execution Operator; Operator
Precedence and Associativity;
- Thursday, August 27, 2009
- Ch. 7: Function Reference
- Ch. 8: Object Oriented PHP
- Tuesday, September 1, 2009
- Assignment #2 Best Program Awards
- Spence Avinger
- Ryan White
- Karthik Ravindranath
- Ch. 9: HTML Forms
- Ch. 10: Cookies and Sessions
- Ch. 11: Output Buffering
- Output Buffering; Why Use Output Buffering; Getting Started; Reusing Buffers; Stacking Buffers; Flassing Stackes Buffers;
Reading Buffers; Other OB Functions; Flushing Output; Compressing Output; URL Rewriting
- Thursday September 3, 2009
- Assignment #4: Due 11:59 pm, Wednesday, September 9, 2009
- Ch. 12: Security
- Ch. 13: Files
- Reading Files
- readfile()
- file_get_contents()
- file()
- fopen()
- fread()
- fgets()
- Creating and Changing Files
- file_put_contents()
- fwrite()
- Moving, Copying and Deleting Files
- Other File Functions
- rewind()
- fseek()
- fwrite()
- Ch. 14: Databases
- Tuesday, September 8, 2009
- Ch. 15: Regular Expressions
- Thursday, September 10, 2009
- Tuesday, September 15, 2009
- Thursday, September 17, 2009
- Ch. 19: XML and XSLT
- SimpleXML: Starting with PHP 5, the most popular way to parse XML is to use the Simple XML extension. SimpleXML works by reading the entire XML file at once and converting it into a PHP object containing all of the elements of that XML file organized in the same way.
- Transforming XML using XSLT: XSLT is an XML-based language that allows you to manipulate XML documents before outputting them
- Ch. 20: Network Programming
- Sockets
- HTTP
- Mime types
- Mail
- cURL extension: lets you use several Internet protocols using one uniform interface, most notably FTP, FTPS, HTTP, HTTPS, and LDAP
- Ch. 22: Debugging Good quiz material!
- Making assertions: assert()
- php_check_syntax()
- trigger_error()
- End PHP
- Tuesday, September 22, 2009
- Begin MySQL
- CREATE
- INSERT
- UPDATE
- DELETE
- source statement (executing MySQL scripts)
- MySQL Tutorial
- Thursday, September 24, 2009
- Assignment #6: Due Sunday, September 27, 11:59 pm. See MessageGrid "CPSC 462/662 090924"for details
- At least three tables (e.g., clients, products, orders). Each table should be prefixed with your userid (e.g., "youruserid.clients", "youruserid.products", "youruserid.orders")
- At least four fields in each table
- Fields should be varied: strings, integers, booleans, floats, dates, datetimes
- Populate your tables with at least 5 records
- Do a mysqldump to create a script file
- Annotate your script file with clear and helpful comments (Important!)
- Append select statements to your script file to demonstrate different views of your data
- Submit your script file to MessageGrid 090924.
- Tuesday, September 29, 2009
- String Functions Good quiz material!
- Date and Time Functions Good quiz material!
- Mathematical Functions
- Database and Table Schema Statements
- create database, alter database, drop database, rename database, show create database, show databases,
- create table, alter table, drop table, rename table, show create table, show table status, show tables,
- create schema, alter schema, drop schema, show schemas,
- create server, alter server, drop server,
- describe table,
- create view, alter view, show create view, drop view, show views,
- create index, drop index, show indexes,
- show character set, show collation, show columns
- Thursday, October 1, 2009
- Assignment #7: Due Sunday, October 4, 11:59 pm. Submit PHP scripts on MessageGrid "CPSC 462/662 091001".
- You may reuse the tables you develped in Assignment #6
- Using PHP develop at least three forms. Examples: Client information form, Order entry form, Product
receipt form, Report generation form.
- At least one form should allow the client to: (a) enter data, (b)delete data, (c) modify data
- At least one form should allow the client to display data at least two different ways
- PHP code to connect to a MySQL database
mysql_connect('localhost','__username__','__password__') or die('Connect Error');
mysql_select_db('__databasename=username__') or die('Database Error');
$result = mysql_query('__Query__') or die(mysql_error()); // This will print the mysql error message to the screen if the query is incorrect.
mysql_close();
- Project Assignment M1: Due Tuesday, October 6, 11:59 pm. Submit a team proposal for your semester project. Your proposal should have the following components.
- Title
- Team Members, one designated as spokesperson
- Project Functional Description
- One paragraph overview/abstract. Describe overall purpose of project. Rationale. Purpose. Goals. Benefits. Maximum: 250 words.
- Specific functional components:
- What specific features does the System provide?
- What capabilities does the Client have?
- What capabilities does the Author (if appropriate) have?
- What information does the System provide?
- Task Assignments: Which team member is assigned to which System component. Include the following tasks:
- Database design including ER diagrams, schema, etc.
- User Manual development
- Technical Reference Manual development
- Software component development (specify each)
- Data Manipulation Statements and Functions
- Stored Routine Statements
- ER Diagrams: Good quiz material!
- Tuesday, October 6, 2009
- Thursday, October 8, 2009
- Project Proposal: Draft, Reviewed and Returned (In class)
- Best 1st Draft Proposal: Karthik, Vikas
-
- Project Assignment M2: Due Thursday, October 15, 11:59 pm. Submit a final team proposal for your semester project. Your proposal should have the following components.
- 12-point font, double-space
- Title
- Team Members, one designated as spokesperson
- Detailed Project Functional Description
- One paragraph overview/abstract. Prose. Describe overall purpose of project. Rationale. Purpose. Goals. Benefits. Minimum: 1 page
- Specific functional components (bullet list, brief explanation). At least one page. Should include:
- What specific features does the System provide?
- What capabilities does the Client have?
- What information does the System provide?
- What capabilities does the Author (if appropriate) have?
- Who moderates site (if appropriate)?
- Should have basic database features (insert, update, delete, search).
- Should have additional database features (SMS alerts, email alerts, wall, friending, rating, keywords, as appropriate)
- Task Assignments: Which team member is assigned to which System component (in detail). At least one page. Include the following tasks:
- Database design including ER diagrams, schema, etc.
- User Manual development
- Technical Reference Manual development
- Software component development (specify each)
- Project Assignment M3: Due Sunday, October 18, 11:59 pm. Submit a (a) list of tables with fields and types, and a (b) database schema/ER-Diagram for your project.
Your tables and schema/ERD should include *all* fields you intend to use in your project. In your list of tables and fields, brief comments for fields whose
purposes are not obvious are required.
- Tuesday, October 13, 2009
- Thursday, October 15, 2009
- Table and Server Administration Statements and Functions
- Command Line Utilities
- Project Proposal: Final (Hardcopy, in class)
- Wednesday, December 9, 2009
Final Examination (15-minute presentations): 5:30 - 9:30 pm, Daniel 415
(pargas@cs.clemson.edu)
Last update:15 September 2009