CS 411: Database Systems

Database Systems

Structured information is the lifeblood of commerce, government, and science today. This course provides an introduction to the broad field, covering a range of topics relating to structured data, ranging from data modeling to logical foundations and popular languages, to system implementations. We will study the theory of relational data design; the basics of query languages; efficient storage of data, execution of queries and query optimization; transactions and updates; and "big data" and NoSQL systems.

About the Course

Structured information is the lifeblood of commerce, government, and science today. This course provides an introduction to the broad field, covering a range of topics relating to structured data, ranging from data modeling to logical foundations and popular languages, to system implementations. We will study the theory of relational data design; the basics of query languages; efficient storage of data, execution of queries and query optimization; transactions and updates; and "big data" and NoSQL systems.

Course Learning Goals

  • Analyze real-world data management scenarios and design appropriate data schemas
  • Formulate SQL queries to access a relational database system
  • Formulate MongoDB queries to access a document-oriented database system (MongoDB)
  • Formulate Cypher queries to access a graph database system (Neo4j)
  • Design and develop data management applications using relational database systems 
  • Analyze and apply data indexing techniques for speeding up query processing 
  • Analyze and apply transaction processing techniques for executing transactions in relational database systems 
  • Analyze and apply query optimization techniques for optimizing query execution

Registration and other generic inquiries

We will not be managing a waitlist for the course and we have no control over registration.

Registration will be on a first-come-first-serve basis. Usually, the CS Department staff will release more spots in-bulk every so often.

Prerequisites

  • Background: CS 225Links to an external site..
  • Programming: For projects, you will do some significant application and web programming, with some host languages of your choice (e.g., C, C++, Java, PHP, Python). We will not cover programming-specific issues in this course.

Textbook

Read the textbook for the required reading before lectures, and study them more carefully after class. Our lectures are intended to provide a roadmap for your reading-- with the limited lecture time, we may not be able to cover everything in the readings.

[Section I: Course Structure and Grading]

Grading Summary:

Class component
Percent
Notes
Pre-lectures5%5% completeness
Group Work10%10% Completion (graded by effort)
Homework25%5 MP/Written assignments (all have the same weight)
Course Project30%Semester-long group project
Exams30%Two midterm exams (15% each). No Final Exam.

We plan to determine the final grades of the course in the following way (for graduate students who work for 4 credits it will be reweighed accordingly, with weights 0.90 for the items above and 0.10 for the literature survey):

Final grading (tentative):

In this course, we will be assigning +/- letter grades.

Total

Grade

90-100

A (A-, A, A+)

80-89

B (B-, B, B+)

70-79

C (C-, C, C+)

60-69

D (D-, D, D+)

We will give you the best grade of the scale above and a regular Gaussian curve using this rule (Links to an external site.), with a mean around B+.
This course may contain both graduate and advanced undergraduate students. We will grade all groups of students on different curves.

A. Pre-lectures on Prairielearn (5%)

Pre-lectures include the lecture videos. Pre-lectures discuss the basic database concepts covered in this class. As you watch these lectures, please keep notes of any questions you may have. You will have a chance to ask questions during office hours and class meetings. Please note that we do not expect you to understand the concepts just by watching the video. Other course activities, such as group work activities, TA recitations, and homework assignments, should strengthen your understanding of the concepts discussed in the lecture videos. Please note the following:

    1. You should watch the pre-lectures before the relevant group assignment.
    2. A pre-lecture is complete if and only if you finish watching the entire video. There will be no grace period for a late submission. 
    3. The grade of a pre-lecture depends on the completeness of the lecture video (i.e., how much content you completed). The completeness metric is computed by metrics collected from media space (our video hosting platform).

B. Group Work on Zoom (10%)

Attendance to group activities is NOT required. Our class meets 4 times a week, Monday-Thursdays 11:00-12:15 pm CDT (and 9 pm-10:15 pm CDT for students in other time zones, see B-1 in this section). Group work happens during class time over Zoom using Prairielearn. This group work is meant to provide you with questions associated with the pre-lectures. It helps you understand the concepts more thoroughly and also identify any misconceptions you had about the pre-lectures. The 75-minute class meeting time consists of three parts: 

    • The first 15 minutes: The professor will review content related to the day's activity, covering useful concepts and preparing you for the group assignment.
  •  
    • The next 30 minutes: A teaching staff will work on a challenging problem in the main room. Throughout this period of time, a teaching staff would present a question similar to the group work and explain the concepts. 
  •  
    • The last 30 minutes: You will work with your teammates on the group assignment. Throughout this period of time, you can use the Queue to ask questions and teaching staff would help clarify any of your misconceptions.

Working on group assignments will provide you with hands-on learning that will allow you to understand the concepts more thoroughly. The discussions will help you learn the material by working on activities, interacting with your classmates, and asking questions to instructors/TAs. Please note the following:

    1. Group assignments and can be done in groups of 2-4.
    2. Students who are attending the session will be assigned to groups randomly. 
    3. Students who are not attending the session must work in groups of at least 2 members. We will not assign students who are not attending the session to groups, they must find their own teammates.
    4. Students in time zones that are 10 hours or more ahead or behind the CDT time zone will have their discussion session managed by the TAs.
    5. Each team will receive one instance of the GROUP assessment and all team members will share the same grade on that instance of the assessment. GROUP assessments will help you dive deeper into the course content and prepare you for the course project. Students that choose not to attend the session are allowed to choose their own times, or work through the GROUP assessments individually.
    6. Group assignments still follow academic honesty guidelines. Your group should not exchange and discuss answers with other groups. All rules listed in Section I - C - (3)~(5) of this syllabus apply to group-based assignments. 
    7. You can finish the week's group assignments by the Friday of the next week in which they were held. No late submissions will be accepted.

Group work grade distribution = Completion (10%)

Teammates will also provide peer reviews periodically during the semester. Included in these peer reviews, your teammates will rate the quality of your participation (Excellent, Very Good, Good, Satisfactory, Unsatisfactory). If your teammates indicate that you are not at least satisfactorily participating in GROUP activities, your grade will be reduced.

      1. Completion (10%): Teams will earn 10% of their final grade based on the points they accumulated during the group assignment over the course of the entire semester. 
      2. For group work, the completion points will be adjusted for each team member based on their teammates' peer evaluation.  

C. Homework (25%)

In this course, assignments compose of MPs, auto-graded coding questions, hand-written questions, and short answer questions.
There are five written/MP assignments spaced out over the semester.

  1. Assignments are individual work.
  2. Collaboration is NOT allowed when working on the assignments.
  3. Discussions are allowed if and only if these discussions regard only high-level concepts and general ideas. Discussion cannot involve answers to the questions on the homework. Checking answers/part of the solutions among peers are not allowed. Sharing answers on any public/private electronic platform, including but not limited to email, messenger, Facebook groups, discord chat, etc., are not allowed. 
  4. If you discussed questions with your classmates, you must include their names and the questions you discussed. Not including students' names will be considered a violation of the course academic integrity policy. This rule applies to all individual homework assignments, including MPs.
  5. You should reference (in your code as comments) any code or concepts copied from StackOverflow or any other online resources. However, 80% of the code you turn in must be your own code. 
  6. You are allowed to submit regrade requests within the time frame listed on Campuswire. Typically we allow up to one week after the HW grades are released if not explicitly mentioned. 
  7. Uploading your assignment questions to public platforms (i.e., shared drive, course hero, etc.) is prohibited. Such violations are copyright infringements and possible violations of academic honesty. We will process these strictly. 

D. Exams (30%)

There a total of two CBTF midterm exams. There will not be a final exam. We will post practice exams on Prairielearn before exams. You should not assume that practice exams reflect the actual exam; however, they cover similar concepts that you should be familiar with.

This course uses the College of Engineering Computer-Based Testing Facility (CBTF) for its quizzes and exams.

    1. Please make sure you can attend all the exams as scheduled. 
    2. Last-minute make-up exams (i.e., overslept, forgot the time, misremember time, etc.) will result in a 50% discount on your original exam grade.
    3. We adhere to the same policies and academic integrity infractions as those of CBTF.
    4. For Disability Resources and Educational Services (DRES) and other accommodations, please refer to Section II-D or Section III of this syllabus.
    5. If you have any issues during the test, please inform the proctor immediately. Work with the proctor to resolve the issue at the time before logging off.

E. Project (30%)

There will be a semester-long project, which involves significant database application programming. The project will be structured with several milestones due in the semester, leading to a demo and write-up near the end of the semester. Details and policies for the project will be documented separately. Please note that projects are group-based assignments, and they still follow academic honesty guidelines. Your group should not exchange and discuss code with other groups. All rules listed in Section I - C - (3)~(5) of this syllabus apply to project assignments.

4-credit project (Option for Graduate Students)

Graduate students MAY take this course for 4 credit units. (Undergraduates take this course for three hours credit.) For the extra unit, you will complete an additional project (a literature review) -- i.e., you will work on both tracks of the projects.

F. Extra Credit

Discussion on Campuswire (up to 1%)

This semester, we will be using Campuswire for office hours, announcements, and discussion. Campuswire is the home base for all of our class communication -- you can use Campuswire to ask questions about concepts and assignments, and the course staff will post announcements there.

The top 25% of students who receive reputation points above the class average for Campuswire participation will receive 1% extra credit. These reputation points come from instructor endorsed (upvoted), correct, and succinct answers.

Homework Assignments and Project:

We will have several opportunities for extra credit in homework assignments and the course project. 

[Section II: General Guidelines]

A. Academic Integrity and Plagiarism

Please remember that the University honor code binds students to academic integrity regarding all work related to this course. Any student found to be violating this code will be subject to disciplinary action. We have seen instances of this in the past via automated detection software so don't think we won't be able to catch you We will follow Articles 1-401 through 1-406 of the student conductLinks to an external site. (beginning at http://studentcode.illinois.edu/article1_part4_1-401.htmlLinks to an external site.). This rule defines infractions of academic integrity, which include but are not limited to cheating, fabrication, and plagiarism. You are responsible for following these guidelines. If you have any questions about whether something would be an infraction, consult with the instructor before proceeding. 

B. Deadlines

All scheduled times are time and dates in IOC time (US Central Time). These deadlines are strictly enforced. If this deadline pertains to assignment submission, you will get zero credit. If this deadline relates to a request or a survey, no accommodations would be made. If you are unable to complete an assignment/submission due to illness or a family emergency, please refer to Section II - D on Other Arrangements.

C. Communication 

Questions/comments/concerns to course staff(including the instructor)

    • Send a private note (to instructors) on Campuswire. 

    • Please don't email the instructor nor TAs nor send direct messages on Campuswire. 
      The best way to reach the teaching staff is by posting a private note to instructors. 

Looking for Help

    • Should you have any questions or need clarification of class material, what should you do?
    1. Try to discuss with your project group-peers. You can get immediate help and also learn to communicate "professionally" with your peers. You will know the material better by discussing it with and explaining it to your peers. Remember, this pertains only to discussing class materials and course content, not assignment answers.
    2. If you do not get satisfactory answers, try checking the textbook; usually, the book provides detailed descriptions and references to help you out.
    3. Post your question to Campuswire. Note that Campuswire is for you and your peers to discuss class-related materials and to help one another. The TAs will monitor the forum and try their best to help. But please be aware that the TAs may not be able to answer all questions on the forum promptly due to the sometimes overwhelming number of questions. Also, there are things that are not appropriate for the forum, such as solutions for assignments and activities. DO NOT POST YOUR SOLUTION PUBLICLY.
    4. For a more thorough discussion, attend our office hours if you can! The TAs and the instructor will have office hours for most weekdays. Don't be shy. Use our office hours to their fullest extent to help your study.
    5. For questions/comments/concerns to course staff (including the instructor), please post a private note (to instructors) on Campuswire. 
    6. Any announcements will be posted on Campuswire. Make sure to check Campuswire frequently enough to stay informed. 

D. Other Accommodations 

1. Sickness (Sick Policy)

This policy applies to illness or injury for less than 3 days. When you are not feeling well, please notify through a private post on CW, that you might need an extension for an assignment, as far in advance as possible. You will need to provide proof that you have seen a doctor, in order to ask for an extension. TAs or instructors might grant extensions with or without deduction based on work that had been completed. For illness or injury of more than 3 days, please follow the policy in Section II - D - 3 of this syllabus.

2. Interviews and paper conference presentations (Interview/Conference Policy) 

If you know you will be out of town for a given discussion section, you must first inform at least one TAs via email of your absence with documented proof. This needs to be done 5 days prior to the assignment deadline or as soon as you receive the event invitation whichever is earlier. A reasonable extension might be given.

Online/remote interviews and conferences do not apply.

3. Family emergencies or other emergencies (Absence Letter Policy) 

If you have an unexpected need to miss an assignment such as an illness or family emergency, you must send at least 1 TA a letter via email from the emergency dean verifying the issue. Absence Letters can be granted from hereLinks to an external site.. They follow the criteria outlined in the Class Attendance Policy in the Student Code of ConductLinks to an external site., such as but not limited to prolonged illness or injury of 3 days or more. You will then be given a 1-week maximum extension (or whatever listed in the student handbook) to complete your work.

[Section III: Accommodations]

Please talk to the instructor or TA if you have any other needs outside of this list. However, do be mindful that this is a course with more than 400 students, and we may not be able to accommodate all requests. 

A. Disabilities

To obtain disability-related academic adjustments and/or auxiliary aids, students with disabilities must contact the course instructor and the Disability Resources and Educational Services (DRES) as soon as possible. To contact DRES, you may visit 1207 S. Oak St., Champaign, call 333-4603, e-mail disability@illinois.edu or go to the DRES websiteLinks to an external site..

For instructions on how to handle accommodations with the computer-based testing facility, please see https://cbtf.engr.illinois.edu/#dresLinks to an external site.

Please also schedule a private meeting with the course professor to discuss your needs and requirements. We will try to accommodate all requirements once you self-identify. Please note accommodations are not retroactive to the beginning of the semester but begin the day you contact your professor with a current letter of accommodation from DRES.

B. Mental Health

As a course staff, we are concerned about advancing the mental health and well-being of our students. Diminished mental health, including significant stress, mood changes, excessive worry, substance/alcohol abuse, or problems with eating and/or sleeping can interfere with optimal academic performance, social development, and emotional wellbeing. The University of Illinois offers a variety of confidential services including individual and group counseling, crisis intervention, psychiatric services, and specialized screenings at no additional cost. If you or someone you know experiences any of the above mental health concerns, it is strongly encouraged to contact or visit any of the University’s resources provided below. Getting help is a smart and courageous thing to do – for yourself and for those who care about you. Also, let’s look out for each other and help others get the help that they need!

Counseling Center: 217-333-3704, 610 East John Street Champaign, IL 61820

McKinley Health Center:217-333-2700, 1109 South Lincoln Avenue, Urbana, Illinois 61801

C. Religious Observances

Illinois law requires the University to reasonably accommodate its students’ religious beliefs, observances, and practices in regard to admissions, class attendance, and the scheduling of examinations and work requirements. You should examine this syllabus at the beginning of the semester for potential conflicts between course deadlines and any of your religious observances. If a conflict exists, you should notify your instructor of the conflict and follow the procedure at https://odos.illinois.edu/community-of-care/resources/students/religious-observances/Links to an external site. to request appropriate accommodations. This should be done in the first two weeks of classes.

D. Statement on Racism and Inclusion

The intent is to raise student and instructor awareness of the ongoing threat of bias and racism and of the need to take personal responsibility in creating an inclusive learning environment.

The Grainger College of Engineering is committed to the creation of an anti-racist, inclusive community that welcomes diversity along a number of dimensions, including, but not limited to, race, ethnicity and national origins, gender, and gender identity, sexuality, disability status, class, age, or religious beliefs. The College recognizes that we are learning together in the midst of the Black Lives Matter movement, that Black, Hispanic, and Indigenous voices and contributions have largely either been excluded from, or not recognized in, science and engineering, and that both overt racism and micro-aggressions threaten the well-being of our students and our university community.

The effectiveness of this course is dependent upon each of us to create a safe and encouraging learning environment that allows for the open exchange of ideas while also ensuring equitable opportunities and respect for all of us. Everyone is expected to help establish and maintain an environment where students, staff, and faculty can contribute without fear of personal ridicule, or intolerant or offensive language. If you witness or experience racism, discrimination, micro-aggressions, or other offensive behavior, you are encouraged to bring this to the attention of the course director if you feel comfortable. You can also report these behaviors to the Bias Assessment and Response Team (BART) https://bart.illinois.edu/Links to an external site.. Based on your report, BART members will follow up and reach out to students to make sure they have the support they need to be healthy and safe. If the reported behavior also violates university policy, staff in the Office for Student Conflict Resolution may respond as well and will take appropriate action.

E. Sexual Misconduct Reporting Obligation

The University of Illinois is committed to combating sexual misconduct. Faculty and staff members are required to report any instances of sexual misconduct to the University’s Title IX Office. In turn, an individual with the Title IX Office will provide information about rights and options, including accommodations, support services, the campus disciplinary process, and law enforcement options.

A list of the designated University employees who, as counselors, confidential advisors, and medical professionals, do not have this reporting responsibility and can maintain confidentiality, can be found here: wecare.illinois.edu/resources/students/#confidential (Links to an external site.).

Other information about resources and reporting is available here: wecare.illinois.edu (Links to an external site.).

F. Family Educational Rights and Privacy Act (FERPA)

Any student who has suppressed their directory information pursuant to Family Educational Rights and Privacy Act (FERPA) should self-identify to the instructor to ensure the protection of the privacy of their attendance in this course. See https://registrar.illinois.edu/academic-records/ferpa/Links to an external site. for more information on FERPA.