General Information

Instructor:

Geoffrey Towell
259 Park Science Building
526-5064
gtowell at brynmawr dot edu
http://cs.brynmawr.edu/~gtowell

Class:

Lecture Hours T TH 9:55 -- 11:15
Room Park 231
Lab Hours Th 12:55 -- 2:15
Lab Room Park 230
Office Hours M 12:30 - 2:00,
Th 3:00-4:00
Also by appointment
Zoom Meeting code: 232 840 6920. Password: given in class, or ask me
Course Description This course will focus on the how to employ and deploy databases for use in real-world systems. Thus the course focuses on the practical aspects of using existing database management systems (DBMS) rather than the task of creating a new DBMS. Implementation tasks will, as a result, focus on why structures exist within databases and how those structures impact use. There will be extensive discussion and use of: relational and object-relational DBMS (using PostgreSQL); NoSQL databases (using MongoDB); text-only databases; and spreadsheet-based database-like applications. In addition we will discuss web-based approaches to data access both from the server side (node.js) and the client side (html and javascript).
Computer Lab Park 230 & 231
Instructions for using the lab computers
Remote accessible lab computer status
Reserved ports on course server
Same data as 30005 (and same database) This one acts much like your final project
Note that you will not really be using the standard lab computers much this semester.


Text

Database System Concepts
by Silberschatz, Korth and Sudarshan

Not required But I have found useful
Learning SQL
by Beaulieu

Not required But I have found useful
MongoDB: The definitive guide
by Bradshaw, Brazil and Chodorow


Important Dates

  • Jan 23, First Class
  • On or about March 21, Midterm



Assignments

There will be several homework assignments. Homework will be electronically submitted.

All assignments must be turned in on time. If there are compelling reasons why you cannot turn in an assignment on time, you must ask for permission at least 48 hours in advance of the due date.

Despite my best efforts, homeworks may have sections that are not quite correct (or are simply really confusing). If you find an error, let me know. If I agree that the issue is an issue and you have told me of the issue at least 48 hours prior to the due date then I will give up to 3 bonus points per identified issue.

Homework 1 Jan 31 A lot of setup steps, making sure that everything works for you.
Homework 2 Feb 18 Some fairly complex SQL queries
Homework 2 Feb 18 Answers for HW2
Homework 3March 3 Your own dataset and writeup thereon
Homework 4 April 3 -- before midnight Putting your data into databases
Homework 5 May 3 A web site for access to your data.
Double value (at least)
This version of the port registration website acts much like your final project (at least for PostgreSQL).
Your will also give an in-class presentation on your HW5 web site during the last week of class. So although the due date is not until Friday, you will need to have things substantially complete prior to that date.

Notes about implementations and suggestions. Some things that are useful to know and other things I have noticed.


Labs

Labs will often look like programming assignments, just smaller. Labs are due by midnight Thursday unless otherwise posted.


Presentations Topics

Topics, dates and presenters. Updated to reflect snow day on Feb 13. The dates in this document are approximate until the week prior to the presentation.
  1. Presentations should aim to be 40 minutes long.
  2. The format of the presentation is up to you. I expect that most people will choose to do something with powerpoint-like slides.
  3. Presentations may include an activity -- for instance, in a presentation about SQL joins, actually have people write a join.
  4. Send a copy of all of the materials you will use in your presentation to me before the start of class.


more SQL practice

for anyone looking for more practice with SQL This site comes with a strong recommendation from a Bi-Co student.

Lectures


Course Policies

Communication

Attendance and active participation are expected in every class. Participation includes asking questions, contributing answers, proposing ideas, and providing constructive comments.

Please stay in touch with me, particularly if you feel stuck on a topic or assignment and can't figure out how to proceed. Often a quick e-mail, or face-to-face conference can reveal solutions to problems and generate renewed creative and scholarly energy. It is essential that you begin assignments early.

Grading

Grades will be awarded based on the number of points earned and according to the percentage breakdowns shown.
Homework 45%
Class Participation 10%
Lab 10%
Midterm 20%
Topic Presentation 10%
Presentation on Hw5 Project 5%
Midterm Answers 2024 Midterm Answers
The mid-term exam will be on a class day. However, it will be self-scheduled. You may take it any time starting about 9am. You must complete it before midnight.

The midterm exam will be open everything. The only restriction is that you may not discuss the exam, in any way, with anyone until 24 hours after the exam (unless you are told otherwise).

Incomplete grades will be given only for verifiable medical illness or other such dire circumstances. Incomplete grades must be approved through the Dean's office.

ALL work submitted for grading should be entirely YOUR OWN (except for labs) and group work. Sharing of programs, code snippets, etc. is not permitted under ANY circumstances. That said, I encourage you to discuss assignments at an algorithmic level with other students. That is, talk about the problem, and general approaches to problems. Do not share or discuss actual code.


Links


Learning Accommodations

Students requesting accommodations in this course because of the impact of disability are encouraged to meet with me privately early in the semester with a verification letter. Students not yet approved to receive accommodations should also contact Deb Alder, Coordinator of Accessibility Services, at 610-526-7351 in Guild Hall, as soon as possible, to verify their eligibility for reasonable accommodations. Early contact will help avoid unnecessary inconvenience and delays.

This class may be recorded.

Generative AI

All work submitted in this course must be your own. Contributions from anyone or anything else, including AI sources, must be properly quoted and cited every time they are used. Failure to do so constitutes an academic integrity violation, in accordance with the College’s Honor Code.


Creating a Welcoming Environment

All members of the Instruction Staff are dedicated to the cause of improving diversity, equity, and inclusion in the field of computing, and to supporting the wellness and mental health of our students.

Diversity and Inclusion

It is essential that all members of the course community – the instructor, TAs, and students – work together to create a supportive, inclusive environment that welcomes all students, regardless of their race, ethnicity, gender identity, sexuality, or socioeconomic status. All participants in this course deserve to and should expect to be treated with respect by other members of the community. Class meetings, lab sessions, office hours, and group working time should be spaces where everyone feels welcome and included. In order to foster a welcoming environment, students of this course are expected to: exercise consideration and respect in their speech and actions; attempt collaboration and consideration, including listening to opposing perspectives and authentically and respectfully raising concerns, before conflict; refrain from demeaning, discriminatory, or harassing behavior and speech.

Wellness

Additionally, your mental health and wellness are of utmost importance to the course Instruction Staff, if not the College as a whole. All members of the instruction staff will be happy to chat or just to listen if you need someone to talk to, even if it’s not specifically about this course. If you or someone you know is in distress and urgently needs to speak with someone, please do not hesitate to contact BMC Counseling Services: 610-526-7360 (610-526-7778 nights and weekends). If you are uncomfortable reaching out to Counseling Services, any member of the Instruction Staff will be happy to contact them on your behalf. We understand that student life can be extremely difficult, both mentally and emotionally. If you are living with mental health issues such as anxiety, depression, ADHD, or other conditions that may affect you this semester, you are encouraged to discuss these with the Instructor. Although the details are up to you to disclose, the Instruction Staff will do their best to support and accommodate you in order to ensure that you can succeed this course while staying healthy.


Created on January 2024. Subject to constant revision.