image

Elgin Community College
CIS 210, Database Programming

Syllabus, Fall 2010

Course Web page: http://faculty.elgin.edu/mpelczarski

Instructor Information

Name: Mark Pelczarski
Phone: (847) 214-7498
Office: ICT-124
Campus E-mail: mpelczarski@elgin.edu

Office/Lab hours, Fall 2010:
Monday 4:00-6:00pm
Tuesday 12:45-2:00pm
Wednesday 12:45-6:00pm
Thursday 12:45-2:15pm

Class Hours:
Self-paced, online. See the section below about Schedule and Due Dates.

Course Materials

Required books:
Database Design, Stephens and Plew, SAMS publishing, 0-672-31758-3
A Guide to SQL, Pratt, Course Technology, 0-324-59768-1

Note: 5th, 6th, and 7th editions of "A Guide to SQL" are acceptable and can be purchased used for less than $10. The ISBN numbers for those editions are 0619033827, 061915957X, and 0-619-21674-3, and they were published in 2000, 2003, and 2005 respectively.

Try these links:
AbeBooks.com CollegeSwapShop.com
Search for author "Pratt" and title "Guide to SQL"

See the "Books" link on the course home page for details and other recommendations.

Software:
You will need a web browser (such as Internet Explorer, Firefox, Chrome, Safari, or Opera), an FTP client program (such as Filezilla), MySQL client programs (MySQL Query Browser and MySQL Administrator, and a text editor (such as Notepad or Notepad++). These are all free for download on the Internet and links are given on the course home page.

Description

This course will introduce you to the various ways information can be stored in databases, and then concentrate on the structure and manipulation of relational databases. You will learn and have lots of practice with SQL, Structured Query Language. We will use SQL for creating our databases, adding information, updating data, and for querying the database for subsets of matches and for summary information.

In addition to thorough coverage of SQL, in this section we will also learn how to use web pages as the user interface for our database programming. We will create web pages using the PHP authoring language, and embed our SQL commands right in the code of the web pages themselves.

You will be able to do all programming with a simple text editor, such as Notepad or Notepad++.

Assignments

There will be a series of SQL exercises, database design problems, and programming assignments throughout the course that will give you an opportunity to practice what you are learning. In a final, multipart project over the last 5 lessons, each student will create a website for a small online store, with a database to handle all the information to make the shop function. We'll create public web pages that will let people "purchase" items, and private web pages that allow us to manage our store. And, of course, we'll have to design and implement a database to make it all work.

Your grade will be based on successful completion of each of the assignments. Although the course is self-paced and you can work ahead and complete the course as quickly as you want, you are expected to keep to a minimum timetable. See the schedule below for minimum due dates.

Originality

Each assignment should be primarily your own work. As with any written assignment, any excerpts of code from ANY source should be attributed by using comments in your code that clearly show which block of code is from another source along with complete links that would let anyone find that source. Failure to give proper attribution for any code, which therefore implies that you created it yourself, is plagiarism and will be handled accordingly. Refer to the ECC policy on plagiarism.

Topic Outline

1. Relational Databases and SQL
2. HTML and PHP
3. HTML forms, PHP, and MySQL
4. Handling User Input on the Web
5. Table Design, Relationships, and Normalization
6. Inner Joins: SQL with Multiple Tables
7. More Subqueries and Joins
8. Constructing complex SQL queries in a program
9. Creating and Dropping Tables. Insert, Update, Delete
10. Designing and creating your own database
11. Using PHP arrays and cookies for your shopping cart
12. MySQL functions, using dates and times
13. Database Administration Issues
14. SQL Optimization Tips

Schedule and Due Dates

This is a "self-paced" course, with conditions. You must keep a minimum pace as described below to pass the course and avoid being dropped. But you may also work through the course as quickly as you are able.

Assignments are due by Thursday at noon of the week of class specified below.

AssignmentsWeek dueDate for Fall 2010
13September 9
24September 16
35September 23
46September 30
57October 7
68October 14
79October 21
810October 28
911November 4
1012November 11
1113November 18
1215December 2
1316December 9

You may complete the assignments as early as you are able. Just send me an e-mail each time you complete an assignment and I will usually check it within a day or two. You do not have to wait for me before starting (and perhaps completing) the next assignment.

The only variance for the due dates is if you register for the course after the beginning of the semester. You will be allowed a proportional amount of time to catch up to the schedule, but you will still be expected to finish the final assignment by the date listed.

To allow adequate time for grading and corrections, late assignments will not be accepted in the last three weeks of the semester.

Grades

Your grade will be based on satisfactory completion of each of the assignments in a timely manner, and the quality of work represented by those assignments. A checklist is provided for each assignment. On-time completion of all checklist items for all assignments is the minimum requirement for a grade of B or better. A's are earned with exemplary work.