Course Links

Resources

External

Course Description and Goals

Databases form the foundation of modern commerce, social media, and government. This course will investigate the design and use of database systems from the traditional to the present day.

Learning Goals:

Prerequisite: CSC 212 or permission of the instructor

Student Responsibilities

Successful learning is best motivated from within. We expect students to explore the topic of databases with an open mind and spirit of inquiry and exploration. Students will be responsible for weekly or bi-weekly assignments related to the current topic, either written or electronic depending on the week. There will be written miderm and final exams. As this is a four-credit course meeting for three hours per week, students should expect to spend approximately nine hours outside of class on readings and assignments. There will be two exams and a final project.

Course Materials

The primary textbook for this course is Database Systems: The Complete Book (2nd Edition), by Hector Garcia-Molina, Jeffrey D. Ullman, and Jennifer Widom. It is available in an inexpensive paperback edition from some online sellers.

A Piazza group for this class will be available for questions and discussion related to the assignments. Questions about content and assignments should be publicly posted here for the benefit of the entire class. You may include brief (1-2 line) code excerpts with a question. Do not post large blocks of code; rather, take the time to pose a careful query that strips the issue down to its essentials.

Collaboration

Students are expected to complete the assignments for this course by themselves, and will not benefit from relying too much on others. Therefore, each student will be expected to follow this guideline: on individual assignments, nobody should see your code or written work on an assignment but yourself and the members of the course staff! By extension, you should not see anybody else's work either. With the sole exception of your partner on any assignment specifically designated by the instructor for work in pairs, sharing code or the final write-up of a homework assignment is a violation of course policy and may result in a referral to the Honor Board. Similarly, taking code or answers found from other sources (such as the internet) and representing it as your own is dishonest and uniformly prohibited. Use of small portions of found code is acceptable if you are scrupulous about documentation and attribution.

Despite the above, many forms of collaboration are specifically encouraged. On any assignment students may and should discuss algorithms, approaches, and issues that arise so long as they then compose their solutions separately. Students may also discuss any programs and code not directly related to the solution of a current or pending programming assignment. In this manner, students may assist each other while ensuring that each ultimately completes the assignments for themself. During in-class labs (as opposed to the homework assignments), students are encouraged to help each other work through problems, and may review each others' programs as necessary toward that goal. Finally, some assignments may be designated for pair programming; on these each pair may work together as one but should observe the usual restrictions above with regard to other pairs.

Use and Citation of Reference Materials

Students may consult online or print references on all assignments and labs. Standard language references showing syntax, usage, class documentation, etc. need not be cited. If you use a fragment of code (more than a single line) from some source other than the designated course textbook, you should document and credit the source with a comment in the code. As noted above, you must write the bulk of your program yourself -- just as you may use short quotations in an essay, but would not copy paragraphs wholesale. When in doubt, err on the side of including a citation, and consult the professor if you think you might be in danger of leaning too heavily on a source.

Electronic Device Policy

Used properly computers can serve as a learning tool. Students should bring a laptop to class if possible for use during lab activities. Many students also like to use their laptops to take notes, and perhaps to follow along during in-class demonstrations.

On the other hand, electronic devices can also serve as a potent source of distraction. Studies also show that the act of making handwritten notes brings cognitive benefits not seen with typing. Students are asked to be responsible in their use of electronic devices during class, and to ensure that they do not detract from their own educational experience or that of their fellow students. Activities such as email, text/chat, online shopping, etc. should all be conducted outside of class time.

Grading

Normally, work submitted late will receive no credit. However, students may take some extensions on a limited basis by adhering to the extension policy. Extensions that have not been properly requested will result in assignments considered late and receiving no credit.

Students may also wish to view the instructor's policy for computing averaged grades.

Course Details

See here for the calendar of topics by week.

Professor:
Nick Howe
Ford Hall 354
585-3878

Office hours
Meeting Times:
Lecture: 9:25-10:40 Mondays & Wednesdays, Ford 241

Additional Considerations

Please read the list of frequently asked questions.

We want everyone to succeed in this course. Students who would benefit from learning accommodations are encouraged to contact the professor at their earliest convenience so that necessary arrangements may be made.

Self-identity is important, and we make a concerted effort to use correct names and pronouns. Students who feel comfortable in doing so can help by keeping the instructor informed with the relevant details.