Preamble
- Course Title: Principles of Database Systems (cs 365)
- crn: 47312
- Credits: 3
- Lab fee: None
- Days: Monday and Wednesday
- Time: 2:10 – 3:25 pm
- Room: Charles A Dana Hall, 316 (map )
- Dates: 26 August – 9 December 2024
- Professor: Roy Vanegas (pronounced “vuh-nay-gus”)
- Email: vanegas at hartford dot edu
- Phone: 860.768.5925
- Office: Charles A Dana Hall, 310B
- Office hours: I meet students on an appointment basis via video conference during the times listed here. (Click here for videoconferencing details.) Other times on Thursdays and Fridays are available, also. Email vanegas@hartford.edu to make an appointment.
- Tuesday: 11:00 am – 5:00 pm
Description
This course provides students with a solid background in the theory, design, and programming of database systems, with an emphasis on relational databases. The course introduces database query languages, including an in-depth coverage of the Structured Query Language (sql). Document-oriented databases, such as xml and json, will also be covered. Other topics include storage and indexing techniques, transactions, and database management via the command line.
Learning Outcomes
Upon successful completion of this course, students will understand...
- how to create and maintain relational databases;
- how to structure content as data models in json and xml;
- how to create, read, update, and delete data (crud) in a relational database using Mysql;
- how to index a database for increased performance;
- and, how to work with transactions in order to recover from failures.
Software Requirements
All the software required for this course is free and listed below.
MySQL (Mac, Windows, Linux)
Download Mysql from https://dev.mysql.com/downloads/mysql/. Pay special attention to the correct version of Mysql for your os.
Git Client (Mac, Windows, Linux)
All in-class examples, assignments, and help is done via GitHub. Download the client for your computer here.
Text Editor (Mac, Windows, Linux)
The code you write will require a text editor. Although there are many on the market, such as Sublime Text (nagware), for example, vs Code (open source) is the only editor supported in class. Download the Linux, Windows, or macOS version from https://code.visualstudio.com/.
EditorConfig (Mac, Windows, Linux)
EditorConfig is a tool that enforces consistent coding styles for everyone who works on a codebase. In our case, that codebase consists of all the examples in class and all the assignments you’ll submit throughout the semester. EditorConfig consists of an extension and a configuration file (.editorconfig
) that goes in your home — or project — folder. Some editors and ides have EditorConfig built in. vs Code, unfortunately, is not one of them. Install the EditorConfig extension for vs Code from here, then download this .editorconfig
file and place it in your home folder. Ensure the file name is exactly .editorconfig
, starting with a dot and without a file extension.
Fonts (Mac, Windows, and Linux)
In addition to the stock issue, monospace/fixed-width fonts included with your os, here are a few more fonts to explore in your text editors:
IBM Plex | Ubuntu Mono | Fira Mono | Anonymous Pro | Inconsolata
Textbook
The textbook listed below is the only book used for this course. Ensure all the details match before making your purchase.
Book Cover | |
---|---|
Title | Database Systems: The Complete Book |
Edition | 2 |
Authors | Hector Garcia-Molina, Jeffrey D Ullman, Jennifer Widom |
isbn-13 (ebook) | 9780133002010 |
isbn-13 (print) | 9780131873254 |
Publisher | Pearson |
Schedule
Important Notes
The University treats absences related to covid-19 as excused absences. Consequently, you’ll need to get notes from someone in class, as mentioned in the section of this syllabus marked Advice on Succeeding in Class. There will not be a streaming video option for anyone missing class.
Notable Dates
- Monday, 26 August 2024 (Week 1) — First day of classes
- Monday, 2 September 2024 (Week 2) — No class (Labor Day)
- Friday, 1 November 2024 (Week 10) — Last day to change to pass/no pass, or vice versa; last day to withdraw with a grade of W
- Monday, 25 November, and Wednesday, 27 November 2024 (Week 14) — No class (Thanksgiving recess)
- Monday, 9 December 2024 (Week 16) — Last day of classes
Week | Class | Topics | Homework |
---|---|---|---|
1 | Mon |
|
|
Wed |
|
Read:
|
|
2 | Mon | No Class |
None |
Wed |
|
Read:
|
|
3 | Mon |
|
Read:
|
Wed |
|
Read:
|
|
4 | Mon |
|
Read:
|
Wed |
|
Read:
|
|
5 | Mon |
|
Read:
|
Wed |
|
Read:
|
|
6 | Mon |
|
Read:
|
Wed |
|
Read:
|
|
7 | Mon |
|
Read:
|
Wed |
|
Read:
|
|
8 | Mon |
|
Read:
|
Wed |
|
Read:
|
|
9 | Mon |
|
Read:
|
Wed |
|
Read:
|
|
10 | Mon | Midterm |
None |
Wed |
|
Read:
|
|
11 | Mon |
|
Read:
|
Wed |
|
Read:
|
|
12 | Mon |
|
Read:
|
Wed |
|
Read:
|
|
13 | Mon |
|
Read:
|
Wed |
|
Read:
|
|
14 | Mon | No class |
None |
Wed | No class |
None |
|
15 | Mon |
|
Read:
|
Wed |
|
Study for final exam |
|
16 | Mon | Final exam
|
Enjoy your break! |
Assignments
The workload for this course involves four programming assignments. (See the Grading section to learn what percentage of your final grade each is worth.) As noted in the instructions for each assignment, No late work is accepted.
Note: Broken links in the list below will be updated once each assignment is assigned a due date.
Grading
Your grade for this course is computed as follows:
- Programming assignments (60%)
- Assignment 1 — 15%
- Assignment 2 — 15%
- Assignment 3 — 15%
- Assignment 4 — 15%
- Midterm exam (20%)
- Final exam (20%)
To calculate your final grade, convert the percentages listed above and your grades to decimal. For example, 15% becomes .15, 20% becomes .20, etc. Imagine you earned an 80 on the first programming assignment, a 93 on the second, a 60 on the third, a 50 on the fourth, a 95 on your midterm, and, a 100 on the final exam. You’d calculate your final grade as follows:
(.80 × .15) + (.93 × .15) + (.60 × .15) + (.50 × .15) + (.95 × .20) + (1 × .20) = 80%
You can convert your percentage grade to a letter grade at http://vanegas.cs.hartford.edu/grading/.
This grading formula is unbending and will be adhered to strictly.
Note: I do not give grades; students earn them. The grade you earn is based strictly on the outlined formula above.
Important Note
Please do not try to negotiate a grade with me. By asking me to treat you favorably, you’re requesting that I put you above your classmates. Manage your time well; I do not accept late work.
Class Policies
- Masks. I don’t require students to wear masks in class, per university policy dictated in spring 2022:
Effective immediately, masks are now optional in most University facilities and settings. They [masks] will continue to be required in the classroom or personal office spaces, unless otherwise specified by faculty members or staff.
And, of course, you’re welcome to wear a mask in class, should you feel more comfortable doing so. You may read more about the policy regarding face coverings here. - Consuming food in class. There is no eating inside our classroom, either during class or while on break. Eat before or after class. Drinks in covered containers, however, are allowed.
- Digital devices. Silence your mobile devices before class starts.
No AI Use in Class
The use of generative ai tools is strictly forbidden in this course. All programming assignments — and any labs — associated with this course must be completed without the assistance of ai-generated content. This policy is in place to ensure that the work submitted is authentically yours and reflects your personal understanding and capabilities. Violations of this policy will be considered academic dishonesty and will be subject to disciplinary actions as outlined in the university’s academic honesty policy.
Academic Honesty
Cheating of any kind will not be tolerated in this course; make certain that all the work you submit is your own. Refresh your understanding of the college’s policy on academic honesty.
Students with Disabilities
If you have a documented disability for which you are requesting accommodation, you are encouraged to contact Access-Ability Services as soon as possible by calling 860.768.4312, emailing tlopez@hartford.edu, or by stopping by the Access-Ability Services office in Auerbach Hall, Room 209. If your request for accommodations is approved, an accommodation letter will be emailed to your instructor(s) upon your request. Please discuss your accommodations with the instructor as soon as possible to make appropriate arrangements. Note: Student requests for accommodations must be filed each semester. Visit https://www.hartford.edu/academics/academic-support/accessibility-services/ and click the “Registering” link for more info and a link to a video that walks you through the process.
Title IX and Sexual Assault
Sexual violence and other forms of sexual misconduct and harassment, including stalking and intimate partner violence, are prohibited under Title ix, federal and state law, and University of Hartford policy. Information on the University’s policies against sexual violence can be found at https://www.hartford.edu/about/policies/title-ix/. Resources regarding sexual violence can be found at https://www.hartford.edu/about/policies/title-ix/on-off-campus-resources.aspx
Note: University of Hartford faculty, staff, and ras are required to report incidents of sexual misconduct to the Title ix Office (title9@hartford.edu). For further information on The University’s policies and resources, please contact Jason Martinez (860.768.5255; jamartine@hartford.edu) or Justin Bell (860.768.4880; jbell@hartford.edu).
Mental Health and Well-Being
Mental Health is an important aspect of students’ well-being and integral to positive academic experiences and success. If, during the semester, you experience difficulties and would like support, consider contacting the University of Hartford’s caps, or Counseling and Psychological Services, which offers a range of short-term counseling services available to full-time undergraduate students at no additional cost, and to part-time undergraduate and graduate students for a small fee.
caps is located in Gengras Student Union, Room 313 , and can be reached by calling 860.768.4482 or emailing Liz Inkel at inkel@hartford.edu. Office hours are Monday – Friday, 8:30 AM – 4:30 PM.
Advice on Succeeding in Class
Read over the following to understand procedures for maximizing your chances of succeeding in class.
- Advice for Succeeding in Class (in pdf)
- Advice for Succeeding in Class (in Markdown)
I meet students on an appointment basis via video conference during the times listed here. (Click here for videoconferencing details.) Other times on Thursdays and Fridays are available, also. Email vanegas@hartford.edu to make an appointment. Office Hours
- Tuesday: 11:00 am – 5:00 pm
Contact
Nowadays, I only use email for emergency situations, such as a pet emergencies, personal tragedies, etc. For matters related to our course, you’re advised to see me before or after class, during my office hours, or by appointment. My contact info is listed in the Preamble.