CS 4750 - Course Syllabus

Basic Info

2013 Spring Session
Tuesdays and Thursdays, 9:30 - 10:45 am
MEC 339

http://www.cs.virginia.edu/~sherriff/cs4750/
Instructor Information

Instructor: Prof. Mark Sherriff
Office: Rice 401
Office Hours: Mondays, Wednesdays, and Fridays, 2:00 - 3:00 pm; Tuesdays 11:00 am - 12:00 pm
Phone: 982-2688
Email: sherriff@virginia.edu
Twitter: @MarkSherriff

Teaching Assistants: Devika Pisharoty and Chi Xiao
Primary Text

Database System Concepts, Sixth Edition
Abraham Silberschatz, Henry F. Korth, S. Sudarshan
McGraw-Hill / ISBN 978-0-07-352332-3

Supplemental Text Info at http://www.cs.yale.edu/homes/avi/db-book/
Course Description

"Introduces the fundamental concepts for design and development of database systems. Emphasizes relational data model and conceptual schema design using ER model, practical issues in commercial database systems, database design using functional dependencies, and other data models. Develops a working relational database for a realistic application." -UVa Course Description

The course will focus on four main concepts:
  1. Database Design - This will include design philosophies such as E-R and Relational Algebra, along with studies of normal forms for databases;
  2. Query Languages - The main topic will be an in-depth study of SQL, with an overview of other query languages, such as Query By Example;
  3. Physical Implementation - This will cover the basics of how the information in a database is stored and accessed on various systems; and
  4. Database Interfacing - The final project will deal with topics such as JSP, PHP, JQuery, AJAX, and MySQL.
Course Highlights

During this course, you will learn:
  1. different database design techniques and what makes a "good" database design;
  2. how to use SQL;
  3. how a database actually works; and
  4. different technologies for interfacing with and presenting information in a database in a semester-long project.
Course Requirements

You should meet the following requirements to take this class:
  1. Have taken CS 2150 with a C- or better;
  2. Good programming skills;
  3. Ability to pace yourself on a semester-long project during the course of the class; and
  4. Can attend class regularly.
The biggest problem that we have had in this class is students who take the class but really do not have good programming skills or time management skills to complete the project. If you do not feel like you can handle these things, talk to the instructor.
Course Schedule