image

Elgin Community College
CIS 210, Database Programming

Syllabus, Internet section

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, Spring 2012:
Monday 10-11am, 12:15-3:15pm
Wednesday 10-11am, 12:15-3:15pm
Thursday 8:30-9:30am on D2L
Friday 8:30-9:30am on D2L

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 Workbench or MySQL GUI Tools, and a text editor (Notepad++ is strongly recommended). 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. Designing and creating your own database
10. Creating and Dropping Tables. Insert, Update, Delete
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 Sunday night at midnight at the end of the week of class specified below.

AssignmentsWeek dueDates for Spring 2012
13February 5
24February 12
35February 19
46February 26
57March 4
68March 11
79March 18
810April 1
912April 15
1013April 22
1115May 6
1216May 13

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.