Professor: Stan Gunn

email: stan.gunn@utexas.edu

Office Hours: (As requested. I work off-campus during the day but I will meet with students at any time that's convenient with 24 hours notice.

Course Meeting Times

Fall and Spring: Wednesdays 6:30 to 9:30
Summer: Tuesdays and Thursdays 4:00 to 6:00

Course Description

The primary goal of this class is to learn principles and practices of database management and database design. Over the course of the semester we will discuss relational database design, normalization, SQL queries, reports and writing code to interface with databases. Additional lectures will cover ethical and privacy issues associated with database systems, as well as database security. In-class instruction and exercises will focus on the fundamentals for building and normalizing database structures, as well as creating sophisticated, interactive, and secure database applications. For the first four weeks of lecture we will spend part of each evening studying the PHP programming language in order to better understand how data structures are stored and retrieved on computer systems, as well as laying the groundwork for a robust interface to accessing databases via the Web. We will then learn the fundamentals of database design using a variant of MySQL called MariaDB. MySQL and MariaDB are powerful relational database management systems used at companies such as Google and Facebook. We use PHP and MySQL as tools because they are commonly (and freely) available and provide substantially the same set of tools as commercial databases such as Microsoft SQL Server and Oracle. Although there will be a substantial programming (PHP) component to this course, previous programming experience is not required.

 

At the conclusion of this course students should:

 

Grading

Programming assignments (48% of final grade)

A series of short programming and database exercises designed to complement the hands-on work done in class. These exercises must be completed each week before the start of class. They will represent not only a demonstration of the students' grasp of concepts covered in the course, they will also provide a convenient code base from which students can draw when designing their own projects. There will be 6 assignments worth 8 points each that will represent 48% of the final grade.

Group Tutorial (12% of final grade)

As an initial collaboration effort, each group of (3-5) students will develop and present an in-class tutorial on a database subject that will be assigned in class. Grades will be based on both the content of the tutorial and the presentation.

Final Project (40% of final grade)

The final project will also be done in groups of 3-5. For the final project, the groups will select or be presented with a real-world scenario for which a web application must be built. The project will incorporate database and programming concepts covered in class. Up to 20 points will be awarded based on the content and construction of the final project, 5 points will be awarded based on the in-class presentation, and 5 points will be based on group participants' member evaluations.

Lecture Order

The order and amount of time spent on each topic may vary from semester to semester

Books Needed for this Course: