General Information


Professor: Brad Vander Zanden

NameOfficeemailOffice Hours
Elvis OfforMK 313eoffor@vols.utk.eduTR 11:00-12:30
JiaJia (Grace) ZhaoMK 338jzhao29@vols.utk.eduTR 2:30-5:00

Required Textbook

Database Systems: A Practical Approach to Design, Implementation, and Management, 6th Ed. by Thomas Connolly and Carolyn Begg.

Reference Books

There are no required textbooks for the scripting portion of the course. Most of the assigned readings will be from or my own personal notes. However, here is a list of good introductory books for the languages that we will be covering in the course:

  1. Beginning Perl by Simon Cozens. Free online reference.
  2. Perl in 24 Hours. Clinton Pierce. Sams Publishing.
  3. Learning Perl. Randal Schwartz, Tom Phoenix, and Brian D Foy. O'Reilly.
  1. PhP6 and MySQL, Steve Suehring, Tim Converse, and Joyce Park. Wiley.
  2. PhP6 and MySQL5 for Dynamic Web Sites: Visual QuickPro Guide, Larry Ullman. Peachpit Press.
  3. PhP in 10 minutes. Chris Newman. Sams Publishing.
  1. JavaScript: The Definitive Guide. David Flanagan. O'Reilly.
  2. JavaScript DeMystified. Jim Keogh. McGraw Hill.

Please note that these scripting languages are constantly evolving and that the reference texts are published in new editions fairly often. Hence you should always make sure that you are getting the latest edition of the reference text.

Course Description

This course provides a practical introduction to databases and scripting languages. Databases are widely used to structure and retrieve data. This course will focus on the most common type of database, called a relational database. We will explore the use and design of relational databases using the public domain database language mySQL and we will also explore some of the theory that supports the relational database model. While we will start the course by showing you how to use a database, the bulk of the database portion of the course will cover how to design a database.

The second half of the course will be devoted to scripting languages, with the focus primarily being on Perl, PHP, and Javascript. We will first examine their language design and how they differ from traditional, compiled languages. We will then examine different applications areas for scripting languages, including data extraction and report generation, which is what Perl is useful for, and web programming/database management, which PHP and Javascript are useful for.

Because of the limited time available during the semester the intent of the course is to give students a basic understanding of databases and scripting languages. This foundation should give students a good working familiarity with each of the languages and allow them to accomplish many of the tasks for which the languages are designed.

Course Prerequisites

CS311: Relational databases are based on the notion of relations and sets, so it is important to have the mathematical background from CS311 in order to understand relational algebra and relational calculus, which forms the theoretical basis for relational databases.


For Undergraduates

For Graduate Students (CS565)

Grading scale is same as for undergraduates.

Missed Exams

Should you miss an exam without a valid excuse, you will receive an average for the remaining exams and a one letter grade reduction in your final grade. For example if you would have received a B+, you will now receive a C+.


Quizzes will be given on Blackboard and will be due at 12:30pm before the next scheduled class. That means that quizzes for Tuesday lectures will be due on Thursday before class and quizzes for Thursday lectures will be due on Tuesday before class. Please note that there are also video lectures and quizzes for a number of days, 9/12, 9/14, 10/26, and 11/21, when class will not physically meet.

Quizzes will appear just after class ends. I will not be giving any extensions/makeups on the quizzes. If you miss a quiz, you will not be able to see it. Please make arrangements with another student to get the quiz questions and answers in this case. I understand that there will be extenuating circumstances throughout the semester that may cause you to miss a quiz and for that reason I will be dropping your 3 lowest quiz scores at the end of the semester.