Course Syllabus

 

INFO 330 – Databases and Data Modeling

Course Description

This course is an introduction to database systems, focused on the relational model and SQL, the intergalactic dataspeak that shows up everywhere from libraries and archives to product teams, analytics, and data science. Databases power modern computing across industries, and learning how they model, store, and retrieve data helps you work more effectively with digital information in real organizations. These skills let you work directly with powerful SQL interfaces instead of canned point-and-click tools, design your own databases, understand databases you did not create, and build data-powered applications.

We move through the database lifecycle using a few big questions: how to think relationally, how to ask questions precisely enough to trust the answers, how to design structures that match the domain and avoid duplication and update bugs, how to build tables and rules that protect data quality as the world changes, and what is happening under the hood when queries run and why some are slow. Students learn entity relationship diagrams, translate conceptual models into relational schemas, and write increasingly powerful SQL using joins, aggregation, and nested queries. We also cover implementation fundamentals like constraints, transactions, and indexes so you can reason about correctness and performance, not just syntax.

Along the way, we connect data modeling decisions to real-world consequences, including privacy, power, and social justice, because “good data design” is not neutral. The course culminates in a small-group project where students design and build a simple database and use SQL to answer meaningful questions from it.

Student Intended Learning Outcomes (ILOs)

Upon successful completion of this course, students will be able to:

  1. Explain why database systems exist; describe the relational model (including relational algebra); and explain how relational databases are structured (entities, attributes, data types, tables, keys, constraints, indexes).
  2. Elicit and document requirements; model domains using entities, relationships, and metadata (e.g., ER diagrams); and translate models into database designs.
  3. Design effective relational schemas, including normalization to reduce redundancy and update anomalies, that enforce domain, entity, and referential integrity, and justify conceptual, logical, and physical design tradeoffs.
  4. Author and execute SQL (queries and updates) using joins and aggregation to answer questions and support analysis.
  5. Use advanced SQL patterns (subqueries, CTEs) to answer complex questions, and reason about query evaluation to debug and improve queries.
  6. Explain ACID properties and use basic transaction control (BEGIN, COMMIT, ROLLBACK).
  7. Implement a relational schema in a DBMS and safely load and update data.
  8. Describe core administration and performance concerns, including security, maintenance, indexing, storage basics, optimization, and how databases support application architectures (e.g., three-tier).
  9. Describe what non-relational (NoSQL) databases are (e.g., document, key–value, column-family, graph), what they are good at, and key tradeoffs relative to relational databases.

Describe legal, ethical, and governance issues in data systems, including privacy, ownership, stewardship, and how modeling choices can reinforce or challenge inequity.

What to expect in this course

This class is hands-on heavy and participants are required to bring their laptops to class fully charged, specially to the Wednesday sessions. While most sessions will be closed-laptop, some sessions will expect it. If you do not have one, please reach out to the TAs to assist you with the Information School loaner program. In this class we’ll focus on skills that require critical and abstract thinking, technical implementation, trial and error, and directed feedback, aspects that are harder to get from books and online tutorials. With the stepping stones from this class you will be fully equipped to learn on your own time about the technicalities of more complex database and data modeling systems, which are at the core of all technologies that work with data.

Each week includes a combination of lectures, labs, readings, and homework/project deliverables.

 

ASSIGNMENT TIMELINE & STUDENT'S ACTION ITEM

This course is designed to aim at the ILOs through the structure below, which outlines the action items set for students. While these might change by a day or two, students should self-organize their times to allocate their homework based on these deadlines.

Course schedule grid showing weekly topics, lectures, labs, and projects for a database-related class over 11 weeks, with color-coded cells.

 

Agenda

See the Home page for an interactive week-to-week agenda.

Logistics

Lectures

The class meets twice a week for in-person lectures and class activities. Lectures are designed to cover all the material that will be used in assessments. You are encouraged to read from the textbooks and follow online tutorials, both in order to get a better understanding of the material covered and to learn about related topics. The lectures will be a combination of white-boarding, slide presentations, live demos, and other activities. Lecture slides and/or notes for each day will be made available online after the lecture is given.

Homework Assignments

The assignments require you to demonstrate your ability to model data and write basic, intermediate, and advanced SQL queries. Assignments are to be completed by each student individually. Complete assignment details and due dates will be posted on the Assignments page on Canvas. For your learning experience, you might make use of any of the resources available in Canvas, but not get assisted directly by Generative AI.

Lab

In addition to lectures, there will be labs led by the TAs. Labs may include discussion on the material taught in class, detailed instructions on the software needed in the assignments, and in-depth Q&A time.

The homework assignments are quicked-off during Lab Sessions. The intent is to provide a synchronous, TA-guided space for you to get started on the assignment, and then have you finish the assignment on your own time.

Labs will also be a time to get extra practice on particular skills; we will provide some additional ungraded examples for certain types of problems, as well as practice midterm questions.

Midterm

During weeks 7 and 8, students will complete a two-part midterm that consolidates the material, activities, and homework from weeks 1–6. Part A is a take-home component that introduces the case context and includes a set of preparatory questions. Part B is an in-class, laptop-closed exam that is more technical and builds directly on the work completed in Part A.

The midterm is individual. Students may not use technology or outside resources except those explicitly permitted in the Midterm instructions. Completing Part A carefully is strongly recommended, since Part B will assess your understanding of the decisions and work you completed in Part A.

Project

The final project gives you a chance to apply the full database lifecycle to a real-world domain. Working in a small group, you will define a clear problem and set of data requirements, design an ER model, translate it into a well-structured relational schema, and implement that schema in a DBMS with appropriate constraints. You will then load data and write SQL queries that answer meaningful questions, demonstrating both correct results and sound design choices. By the end of the project, you should be able to explain and justify your modeling and implementation decisions—including tradeoffs related to data quality, performance, and ethical considerations such as privacy and stewardship.

Students will complete the course project in groups of three, unless otherwise approved by the instructional team. Groups will be assigned randomly by default. If you would like to form your own group, you must notify the instructional team before the project is released in Week 4—and your self-formed group must already include three people.

To do so, email the instructional team in advance with a subject line that includes “INFO 330”, and CC the instructor, your TA, and everyone in the group.

Project deliverable dates are already posted. We strongly encourage each group to schedule and protect a weekly meeting time (a few hours) as soon as groups are announced. Having consistent, synchronized time for coordination and work will be crucial to your team’s success.

Canvas Discussion

This term we will be using Canvas for class discussion.  The system and interface are not ideal for various reasons, but we are limited by FERPA rules and privacy agreements.

Assignments and Grading

Find current assignment details and due dates on the Assignments page.

Grading Breakdown

Students will be assessed through the following components:

    • Lecture Check-offs, Quizzes, and Exercises (10%): After most Monday lectures, students will complete a Canvas check-off by the end of the day. During some Wednesday lectures, students will complete an in-class exercise or quiz, which will be announced that Monday during lecture. We will drop the lowest two scores.
    • Homework Assignments (35%): There are five homework assignments, weighted differently, designed to build both conceptual understanding and practical skills over time.
    • Midterm Exam (20%): Students will complete an individual two-part midterm. Part A is a take-home case preparation and Part B is an in-class, laptop-closed exam (See “Logistics > Midterm” section).
    • Final Project (35%): In groups of three, students will design and build a relational database—from requirements and ER modeling through implementation and SQL analysis—using posted milestone deadlines (See “Logistics > Project” section).

Grading Scheme

This course uses the iSchool Standard Grading Scheme, which converts percentage grades into 4.0 grades.

Extra Credit

Extra credit opportunities will be offered throughout the term and announced as they become available. Completing all available opportunities can add up to 3% to a student’s final grade. For example, students who choose to take quizzes book-closed may be eligible for extra credit.

Late Work

    1. Students have four free late days to use across any of the deadlines. Students must notify the instructor and TA when those days want to be used, and before the assignment deadline by filling up this form.
    2. If students must miss an additional deadline, they should inform the instructor as soon as possible and BEFORE the deadline, indicating when the assigned work will be submitted. The instructor will try to accommodate students’ needs. This clause should be used only for *extraordinary personal reasons*, and only in consideration of fairness to other students. For example, your workload and deadlines in other classes are not a good use of this clause, because many other students may have similar constraints but made it work.  
    3. It is at the instructor's discretion to accept late work or assign late penalties (see 2 above). For any late assignment, 20% will be taken off the resulting assignment’s grade per day. After being late five days, the assigned work will not be accepted. 

Work that is handed in late is penalized for three reasons. First, to be fair, all students should be given the same time limits. Second, if students spend too much time on one assignment, it is quite likely that they will have insufficient time to spend on subsequent assignments.  Third, the logistics of a large class become difficult to manage when many students are frequently late.

Make-up Work

There will be opportunities for extra credit but no make-up work; our goal is to have you practice with and learn the material, not to rank students. It is possible for everyone to do well.

 

Required Course Materials

There is no textbook required for the course. However, the following text are highly recommended to supplement what we cover in class and to help you gain a better understanding of various concepts introduced in the course:

  • Coronel, C. and Morris S. (2018 & 2023). Database Systems: Design, Implementation, and Management. Cengage Learning, Inc. (A pdf of the 2018 edition may be discoverable online).
  • Connolly, T., and Begg, C. (2015). Database Systems: A Practical Approach to Design, Implementation, and Management, 6th Edition, Pearson Education.  (A pdf may be discoverable online).
  • Garcia-Molina, H., Ullman, J., & Widom, J. (2009); DATABASE SYSTEMS The Complete Book (2nd Edition) Upper Saddle River, NJ: Pearson Prentice Hall [ISBN 0-13-606701-8] (A pdf may be discoverable online)

Other resources:

  • Kleppmann, Martin. (2017); Designing Data-Intensive Applications (1st Edition) Sebastopol, California: O'Reilly [ISBN 10: 1-449-37332-1]
  • Elmasri, Ramez and Navathe, Shamkant (2011); Fundamentals of Database Systems (6th Edition) New York: Pearson [ISBN 10: 0-136-08620-9]
  • Prof. Greg Hay's YouTube Channel for OLTP Review: 40+ Lectures ~17 hrs https://www.youtube.com/channel/UC1d80m8TBRxIIVz7Y_MC8vg

    Links to an external site.

Student and Instructor Expectations

This course will be dynamic and responsive. While the learning outcomes are clearly defined—and each week and session is organized around a guiding question—the instructor will actively incorporate student input to (1) develop examples that better match your interests and (2) surface and include additional topics and ideas that the class is curious about.

For this approach to work, students need to be proactive. Your learning is a shared responsibility between you and the instructional team, so please use this course as an opportunity to ask questions, share what you want to explore, and help steer the direction of our discussions and examples.

Among the things students can do:

  1. Treat all with respect – be constructive in all discussions
  2. Come to class prepared – read supplementary materials and be ready for discussion
  3. Be an active listener – be attentive, ask follow-up questions, be eager to learn from your peers
  4. Ask challenging questions, participate in discussion – it is your responsibility to find answers to your questions
  5. Comment, build on, or clarify what others have done or said
  6. Help your classmates use development tools and technologies
  7. Post useful or interesting information to the class discussion list

Instructors will:

  1. Listen to feedback
  2. Offer additional support outside of class
  3. Make reasonable accommodations for external pressure
  4. Make materials available promptly
  5. Prepare challenging yet rewarding assignments
  6. Be responsive to questions and answer them promptly

We are co-experiencing this quarter-long learning course. Making sure the students hit the Intended Learning Outcomes is my priority. Should you have ideas on how to enhance the learning experience for the class, I welcome a conversation and feedback. For class content, whenever you have any questions or anything you'd like to discuss, please come to our office hours.

Communication. If you need to contact the instructor or TAs beyond office hours, you can email them directly. We will respond within 48 hours (excluding the weekends). We will notify you in advance if we are traveling for research, and this may cause a delay in our response to Canvas messages or emails. Requirement: Start the subject line of your messages with "INFO 330 B" so that we do not miss them.

We expect all instructors and students to be respectful in all communication and we’ll hold each other accountable to the iSchool IDEAS values.

 

Resources

Student Resources
A number of challenges from a variety of directions can affect your ability to bring your optimal attention and energy to a course. Student Resources is a set of links to campus resources that UW makes available to students in trying to mitigate and cope with some of these challenges.

iSchool Technology Requirements
The iSchool has a set of technology requirements for both online and residential students. We highly recommend that students adhere to these standards which are updated annually. Students who do not meet these standards may experience technology problems throughout the course.

iSchool Learning Technologies Support Site
Knowledge base for Canvas, VoiceThread, Zoom, and other learning technologies tools.

UW Libraries
In this course you may be required to access a large number of databases through the Internet. Several of these databases are publicly available, but some are proprietary and access requires authentication through the UW Libraries. Information about logging in to use these databases is available on the Connecting to the Libraries page.

 

Academic Conduct

Please review the iSchool Academic Policies which cover:

  • Academic and Behavioral Misconduct
  • Academic Integrity
  • Copyright
  • Privacy
  • Concerns About a Course
  • Evaluation of Student Work

Inclusivity

At the University of Washington, diversity is integral to excellence. We value and honor diverse experiences and perspectives, strive to create welcoming and respectful learning environments, and promote access, opportunity and justice for all.

Following the vision and values articulated by UW’s Office of Minority Affairs & Diversity, diversity—for us—means advancing equity for underrepresented groups in higher education, and building from our legacy of advocacy to promote broad inclusion and enact positive change. In particular, we strive to raise consciousness and advance critical thinking about racial equity, broad inclusion and diversity.

Disability Accommodations

UW Disability Resources for Students (DRS) helps students establish academic accommodations for their disabilities, and provides services to support them throughout the process. Their office is in room 011 of Mary Gates Hall, and they can be reached at 206-543-8924. To start the process, students submit an online accommodation request with medical documentation, then meet with DRS to discuss accommodation needs. DRS will then contact students’ instructors to arrange appropriate accommodations, and will support students in communicating with instructors. The process can take several weeks, so start early!

Last updated: 4 January, 2024

Religious Accommodations

Washington state law requires that UW develop a policy for accommodation of student absences or significant hardship due to reasons of faith or conscience, or for organized religious activities. The UW’s policy, including more information about how to request an accommodation, is available at Religious Accommodations Policy(Links to an external site.). Accommodations must be requested within the first two weeks of this course using the Religious Accommodations Request form (Links to an external site.).

 

Academic Integrity and Generative Artificial Intelligence

Suggested Guidelines for Students

The responsible use of AI tools is an important research skill, and the faculty  encourage critical and informed engagement at different parts of the research and learning lifecycle. It is good to investigate how such tools work, and also to experiment with different tools, so as to better understand limits, effective use, and strengths.

Generative AI-based tools can support and hinder your intellectual, creative, and professional growth in your education. Accordingly, we expect that you will use AI-based tools responsibly, with care, and with an eye toward understanding their systemic harms and benefits. This means among other things: 

  • Develop skills for using AI-based tools to enrich and strengthen your work and support your learning. 
  • Cite the use of AI-based tools and explain the way it was used (i.e., for editing, translation, or researching) and the reasons for their use. 
  • Verify the accuracy of content generated by AI-based tools. 
  • Seek to understand and address the biases inherent in the use of AI-based tools, noting when appropriate their limitations. 
  • Do not copy and paste the output of AI-based tools and represent it as your own work. Clearly distinguish your own work from that of other sources.
  • In all use of AI-based tools, you conform to UW’s policies on academic integrity and conduct (see Student Governance & Policies, chapter 209, section 7 on Prohibited Conduct). 

This Statement on Generative Artificial Intelligence will be updated as we all learn more about the meaning and responsible use of AI-based tools in education, in organizations, and in societies across the globe. 

Last Updated: 17 November, 2023

[Page Navigation]

Course Summary:

Course Summary
Date Details Due