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, and not explored to the same depth as in COMP 430.
- 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 parts: 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 parts: Class time will be lecture-oriented, plus some ungraded hands-on exercises.
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. For many in-class exercises, you should work in small groups of 2-3.
Class notes will be posted, but these will not contain all of the information in class. Solutions for in-class exercises will typically be posted after class.
The posted schedule may be changed, if needed.
Assessment
Assessment | Number | When | Groups | Outside materials | Grading |
Class attendance | 40 | During class | Expected, but not graded | ||
In-class activities | During class | Typically 2-3 | Yes | Expected, but not graded | |
Quizzes | 14 | Before class | No | Limited | 5% total, varying weight |
Assignments | 9 | Outside class |
Most: No #6,#7: 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.
Code requirements and grading:
-
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 duplicates). Column names should either be the original table column name, or something clear when computed.
General Query Grading Guidelines 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.
- Discuss it with the original grader.
- 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 not use any solutions from prior semesters of this course, whether those be from you, other students, or the course staff. You may discuss approaches with other students, and lookup ideas from websites or books, but 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 take photos of modeling diagrams with your phone. 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.
Course Summary:
Date | Details | Due |
---|---|---|