# Course Syllabus

## Goals

At the end of the course, students should be able to

• Create well-designed relational databases
• Write database code to update data in and make efficient complex queries from relational databases.
• Write application code that securely interacts with relational databases.
• Use some non-relational databases.

## Course Selection

• COMP 330:  Data analysis for data in databases.  Designing and creating databases is a component, but not the focus.
• COMP 430:  Creating and using databases.  Given a database management system, how do you design a database for that system?  (Graduate version is COMP 533.)
• COMP 530:  Implementing and optimizing database management systems.

## Course Structure

We have begun a multi-semester process of "flipping" the course.

• Flipped part:  You will be expected to watch video lectures and take a graded online quiz before class.  Class time will emphasize ungraded hands-on exercises.
• Unflipped part:  Class time will be a mixture of lecture and ungraded activities (multiple-choice questions, discussion, hands-on exercises).  To support some activities, students should pick up "clickers" at the beginning of any class in which they are made available.

While the in-class activities are ungraded, participation is expected and part of the learning process.  You should come prepared with your laptop, paper, and pencil or pen.

Class notes will be posted, but these will not contain all of the information in class.  Any notes containing activity solutions will typically be posted after class.

Use laptops during class only for the in-class exercises, viewing class materials, and taking notes.  In your don't bring a laptop to class, please pair with another student for the relevant in-class exercises.

The posted schedule may be changed, if needed.

## Assessment

 Assessment Number When Groups Outside materials Grading Class attendance 41 During class Expected, but not graded In-class activities During class 2-3 people Yes Expected, but not graded Quizzes 7 Before class No Limited 5% total, varying weight Assignments 9 Outside class Most:  No Projects: 1-2 people Limited 65% total, varying weight Exams 2 Midterm evening Final scheduled No No 30% total, 15% each

See below for Honor Code Policy details.

You are expected to read and follow any Piazza posts.  These may include assignment clarifications or corrections that change the assignment expectations or grading.  While we try to minimize any disruptions to the stated expectations, we cannot anticipate every issue that may arise.

• Queries:  Only produce the requested information.  The expected results will usually be described textually, rather than by example.  Columns should be in the order mentioned.  Rows should be in the order mentioned, if specified.  Do not provide extra information (extra columns, extra rows, or duplicate rows).  Column names should either be the original table column name, or something clear when computed.

 Grade Comments 100% Fully correct, follows all requirements 80% Almost correct, but with small or subtle bug 50% Compiles and runs, somewhat correct, but with major bug 0% Doesn't compile or run or significantly incorrect
• All code, including queries:  Do not use SQL concepts not yet covered.  However, you may and may need to use specific features not mentioned.  For example, once we cover simple functions and operations like round() and *, you can use any similar built-in.  However, don't use aggregate functions or window functions until we've covered those ideas.

You must follow the small number of firm style rules that are given.  Using other style guidelines is recommended.  Efficiency and code syntactic complexity will not lead to grade deductions except  when your code is considered egregious.

Any of these rules can be trumped by explicit problem requirements.

Regrades:  If you believe your grade is incorrect, you have 7 days from when the assessment was returned to bring this to the attention of the staff.

1. Discuss it with the original grader.
2. You can appeal to the TA in charge of grading (see the Course Staff in the navigation) or the instructor.

Due date:  The Canvas system has the notion of a "due date" and a "available until date". The "due date" is the expected deadline by which you should turn in your work. The "available until date" is the time after which the system will stop accepting submissions.  Assignments can be turned in up to 3 days late.

Late penalty:  We will apply a late penalty of 10 points per 24 hours for assignments turned in after the due date.

Late days:  Up to 3 late penalties per student will be automatically removed at the end of the semester.  Effectively, each student is allowed 3 late days of penalty-free 24-hour extensions of assignment deadlines for whatever reason.

Extensions:  You can request an extension from the instructor prior to the due date.  Extensions allow students to turn in graded work late without a penalty.  Extensions will only be granted under exceptional circumstances (such as medical emergencies or school-related travel).  Having lots of work and deadlines is not an exceptional circumstance; it is part of being a college student.

## Honor Code

We take the Honor Code very seriously. The work you submit for this class is expected to be the result of your own work. Attempting to take credit for someone else’s work by turning it in as your own constitutes plagiarism, as defined by the Rice Honor Code.

You may always use any materials provided by the course, including any videos, notes, provided solutions, and the course staff.  You may always use your own notes and your own solutions.

• Quizzes & assignments:  You may collaborate with anyone else, any website, or book.  However, you may use at most two lines of code from any such source.  Changing variable names or otherwise transforming code does not allow you to exceed that two-line rule.  You should comment your code to cite any such sources.

When groups are allowed, you may collaborate fully with your partner without citation. Only one group member should turn in the assignment.

• Exams:  You may not use any outside source.  You will need to bring a laptop to complete the exam using the course software.  You may also use any text or graphical editor.  You may listen to music with headphones.

## Disabilities

If you have a documented disability that will impact your work in this class, please contact me in the first two weeks of class to discuss your needs. Additionally, you will need to register with the Disability Support Services Office.

Date Details