General Information


Instructor

Professor: Brad Vander Zanden

TAs
NameOfficeemailOffice Hours
Elvis OfforMK 313eoffor@vols.utk.eduT 11:00-12:30
W 1-2:30pm


Required Textbooks

Both of the required textbooks should be available in ebook form via Canvas.

  1. For databases: Database Systems: A Practical Approach to Design, Implementation, and Management, 6th Ed. by Thomas Connolly and Carolyn Begg.
  2. For scripting languages: Web Programming by Zybooks.

Reference Books

I think the assigned textbooks do an excellent job of covering the material in this course. The one exception is the relatively cursory coverage of node.js in the Web Programming book. As a supplement I suggest that you look at the node.js coverage on w3schools.com. In general w3schools.com does an excellent job of explaining the web programming concepts covered in this course and you can use it as a backup to the textbook. I have also published my own notes on javascript and php which you can use as a further reference.


Course Description

This course provides a practical introduction to databases and web programming. 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 web programming and we will cover all of the different common languages used to construct a web-site. We will start with HTML (HyperText Markup Language) and CSS (Cascading Style Sheets), which are used to organize the content of a web-site (html) and format the web-site's visual appearance (css). We will then cover PHP which is the most commonly used server-side scripting language. Finally we will cover Javascript, which is the commonly used client-side scripting language, as well as some of the most commonly used Javascript libraries, such as JQuery and AngularJS (time permitting). We will also cover node.js, which allows server side scripting in Javascript.

Because of the limited time available during the semester the intent of the course is to give students a basic understanding of databases and the scripting languages used in web programming. 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.


Grading

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

Quizzes will be given on Canvas 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 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.