CS 3200: Introduction to Databases

John Rachlin

When TF 1:35p-3:15p ET/Boston
Where Online on Zoom (See Canvas for connection details.)
GradeScope Submit homework
Piazza The discussion board and OH schedule
E-mail j.rachlin@northeastern.edu
Web https://www.khoury.northeastern.edu/home/rachlin
My Office Hours Wed 2-5p and Thu 1-4p ET/Boston on Zoom and by appointment only.
Click here to reserve 20m for one-on-one help

Teaching Assistants and TA Office Hours

TA office hours will be held throughout the week. See Piazza for details.
No office hours on University Holidays
No appointment is necessary for TA office hours.



Hope McClew
      
Malhar Parikh
      
Yujin Park
      
Pranav Raghavendra Rao



Madison Singlak
      
Jahanavi Sinha
      
Dachuan Zhang

Course Information

Course Description

This course presents how to design a relational database from requirements gathering, to conceptual and logical modeling. We also cover how to query databases using SQL, the ACID properties of a relational database management system, and fundamentals of database programming using triggers, stored procedures, functions, and events. Advanced topics include indexing, transactions, concurrency and recovery. The course will also provide an introduction to non-relational (NoSQL) databases. Students will carry out an individual data integration and analysis project. Upon completion of the course, students will be able to:
  • Design, implement, and query a relational database
  • Write complex SQL queries, SQL functions, SQL triggers and SQL procedures
  • Connect a computer application to a commercial relational database (MySQL) and access and manipulate data from the database within the application
  • Act as database administer to a MySQL server
  • Describe ACID properties and the inner workings of transactions
  • Describe the strengths and the weaknesses of both the SQL and NoSQL DBMS

Class Participation and Class Recordings

This is an online but synchronous course with live lectures. Lectures will usually be recorded and recording will be available on Canvas..Zoom Meetings..Cloud Recordings. Please note that recordings should not be used as a substitute for coming to class. Live attendance is required and factored into your final grade. I strongly recommend that you come to every live session with your cameras on and your microphone muted. In the event you need to miss a class, I will be posting lecture notes and coding examples that evening. (Materials should be available by 8pm.)

I very much welcome active background discussion in my classrooms. To ask a question, feel free to virtually raise your hand or post your question on chat. And if you know the answer, go ahead and respond!

Recommended Reading

Title Murach(2023) : Murach's MySQL 4rd Edition.
Buy online Amazon.com
Description Highly recommended. A very popular overview of MySQL including database administration, database design, writing SQL queries, and implementing stored programs.


Title Lemahieu, vanden Broucke (2018): Principles of Database Management
Buy online Amazon.com
Description Recommended. A modern textbook on Database Systems and design. Purchase as a reference, but not critical to succeeding in the class.


Additional recommended readings may be assigned from books that are freely available to you through O'Reilly E-Books.

Homework and Late Policy

There will be about five assignments and a database capstone project due at the end of the semester. The detailed dates are listed on the schedule below. Homework will be submitted on GradeScope. Homework cannot be accepted by email. My late policy is very straight-forward: Homeworks submitted 1-48 hours late receive a 10% penalty. No homeworks will be accepted more than 48 hours late. Please understand that with a class this size, maintaining a strict schedule for homework submissions and grading is paramount.

Academic Integrity (Please Read!)

Database design and formulating SQL queries is a creative process. Individuals must reach their own understanding of problems and discover paths to their solutions. Verbal discussions with fellow students is fine, but I expect each student to do their own work unless I explicitly allow for group assignments. If you share code, files, queries, or if you provide or receive help on a quiz, you are breaking the rules. Do not, under any circumstances, share code, queries, or designs with your fellow students. This is a direct violation of the course collaboration policy. Please be aware that I take the issue of academic integrity very seriously. The consequences of cheating in my class are at my discretion and may include receiving a zero for the assignment or quiz, a full letter grade reduction in your final grade, or failing the course altogether. Please contact me if you have any questions about acceptable conduct. And if you are stuck on an assignment, the TAs and I are here to help, or you can pose your question on Piazza. The university's academic integrity policy discusses actions regarded as violations and consequences for students: http://www.northeastern.edu/osccr/academic-integrity

Evaluation

The final grade for this course will be weighted as follows:

  • Homework: 70%
  • Database Capstone Project (3-4 students per group): 25%
  • Attendance / Participation: 5%

The homework and project will be weighted individually to optimize your grade. (If your homework average is better than your project grade, I'll give more weight to homework, for example.) Final grades will be assigned based on the following scale. Please note that grades are not rounded.

LetterRange
A94 - 100
A-90 - 93.99
B+87 - 89.99
B83 - 86.99
B-80 - 82.99
C+77 - 79.99
C73 - 76.99
C-70 - 72.99
D+67 - 69.99
D63 - 66.99
D-60 - 62.99
F<60

Schedule

Note: This schedule is subject to change and will be adjusted as needed throughout the semester.

Wk Day Topic Due
1 Sep 3 No Class
Sep 6 Intro: Why study databases?
The Marine Biologist Story
2 Sep 10 Concepts: The database environment
Sep 13 MySQL up and running
3 Sep 17 SQL Basics. Aggregation functions. HW1:Concepts (9/15)
Sep 20 More Aggregation: GROUP BY, HAVING + Data Import
4 Sep 24 Views and Subqueries, Lab 06
Sep 27 More Subqueries, SQL Review
5 Oct 1 Data Types: varchar, int, date, etc. HW2:Genes and Disease (9/29)
Oct 4 DDL: Creating Tables, Inserting Records
6 Oct 8 Conceptual Modeling
Oct 11 Logical Modeling
7 Oct 15 More Logical Modeling HW3: SceneSense (10/16)
Oct 18 Normalization
8 Oct 22 TBD
Oct 25 SQL Join Basics
"Consider the following Venn Diagram..."
HW4: Books that will change your life (10/27?)
9 Oct 29 Advanced Joins
Nov 1 Indexing
10 Nov 5 Stored Programs I
Nov 8 Stored Programs II Required Project:
Declare Group, Title, Abstract.
Submit Details to Gradescope
Project Due: November 25th (No Extensions)
11 Nov 12 ACID Transactions, Serialization HW5: Adverse-Drug Reactions (11/13?)
Nov 15 Locking and Deadlocks
12 Nov 19 Programmings with Databases
Database APIs = ♥
Nov 22 NoSQL
13 Nov 26 Databases 2024: Poster Session Products Due Monday 11/25 @ 11:59pm (No Extensions)
Nov 29 No Class
14 Dec 3 Rachlin gets the last word. Virtual Cookies.
The story of the 2nd time he almost
got kicked out of Cornell shall be told.
TRACE EVALUTIONS: The Good, the Bad, and the Ugly.
Class will not be recorded.

Inclusive Class

Northeastern University values the diversity of our students, staff, and faculty; recognizing the important contribution each makes to our unique community.

Respect is demanded at all times throughout this course. In the classroom, not only is participation required, it is expected that everyone is treated with dignity and respect. We realize everyone comes from a different background with different experiences and abilities. Our knowledge will always be used to better everyone in the class.

We strive to create a learning environment that is welcoming to students of all backgrounds. If you feel unwelcome for any reason, please let us know so we can work to make things better. You can let us know by talking to anyone on the teaching staff. If you feel uncomfortable talking to members of the teaching staff, please consider reaching out to your academic advisor.

Northeastern is committed to providing equal access and support to all qualified students through the provision of reasonable accommodations so that each student may fully participate in the learning experience. If you have a disability that requires accommodations, please contact the Disability Resource Center http://www.northeastern.edu/drc/, DRC@northeastern.edu, 617-353-2675. Accommodations cannot be made retroactively and to receive an accommodation, a letter from the DRC or LDP is required.