Syllabus
Catalog description: An introduction to database design and management with emphasis on data definition, data manipulation and query languages found in modern database management systems. 3 credits.
Prerequisite: A grade of "C–" or better in CS 240 or CS 343 or equivalent.
Section 1: Dr. Mayfield¶
Tu/Th 9:35–10:50am in EnGeo 2209 (Classroom)
Dr. Chris Mayfield, Professor of Computer Science
Email: mayfiecs@jmu.edu | Office Phone: 540-568-3314
The best way to contact me is by email, not via Canvas.
Office Hours: M/W/F 1:20–3:00pm in King 208 or online
Please see instructions for checking in when you arrive.
Section 2: Dr. Rizvi¶
Tu/Th 12:45–2:00pm in King Hall 260 (Classroom)
Dr. Mona Rizvi, Associate Professor of Computer Science
Email: elkadima@jmu.edu | Office Phone: 540-568-2775
The best way to contact me is by email or Telegram @maerizvi.
Office Hours: Mon 1–3pm, Tue 2–4pm, Fri 1–2pm in King 253 or online by appointment.
Course Objectives¶
By the end of CS 374, you should be able to:
- Summarize features of the relational model including structured data, relational operations, and integrity constraints.
- Construct a conceptual model (E/R diagram) and a physical model (relational design) from a general data description.
- Illustrate anomalies and inconsistencies that can occur within a database design and how to correct them.
- Write analytical queries in SQL (select, project, inner/outer join, grouping, aggregation, sorting, distinct, subqueries).
- Design and implement a substantial three-tier application, both individually and with others.
- Manage a successful semester-long team project (communication, source control, frequent code reviews).
Last but not least, you should have fun exploring and working with several exciting database technologies this semester!
Required Textbook¶
Winsberg, Paul et al. (Sep 2023). Database Systems with SQL.
https://www.zybooks.com/catalog/programming-in-python-3/
"This zyBook provides a highly interactive introduction to databases. Topics include database theory, architecture, design, and programming. The emphasis is on relational databases, but the material also covers NoSQL databases. The material includes a comprehensive SQL tutorial and an extended database design case study."
Getting the Book
- Create an account on https://learn.zybooks.com using your dukes email.
- Enter the zyBook code:
JMUCS374Spring2024
. - Select the instructor for your course section.
- Your subscription will cost $64 and last until May 23, 2024.
Culture of Learning¶
Please help us maintain a collaborative environment that encourages questions, provides opportunities for significant learning, and actively involves everyone in discussions.
Professional Conduct¶
The ACM Code of Ethics (https://www.acm.org/code-of-ethics) forbids discrimination and harassment of all types. If you believe someone is violating these principles (e.g., by making inappropriate or demeaning remarks), it is your responsibility to take action by informing me or, if you feel comfortable doing so, addressing the individual directly. I will do my best to preserve your confidentiality when addressing the issue.
Inclusive Excellence¶
Learning environments should be built on mutual respect and support a diversity of thoughts, perspectives, experiences, and identities. Please advise me regarding any concerns or personal circumstances (including your name's proper pronunciation, any name or pronouns not reflected on MyMadison, or significant extracurricular commitments) that would be relevant to your full participation in this course.
Academic Honesty¶
Don't Cheat
Students who violate the Honor Code (https://www.jmu.edu/honorcode/code.shtml) will receive a reduced or failing grade in the course. Other penalties may be imposed, and all violations will be reported to the Honor Council. Automated tools may be used on any assignment, at any time, to detect inappropriate collaboration and the originality of submissions.
Generative AI
You may use AI technology in general ways that support your learning. However, do not ask ChatGPT or similar tools to do your homework for you. The use of AI is strictly prohibited on homework and exams, so make sure you can program without AI. See the Generative AI in Computing Education Student Guide for examples of inappropriate use.
Methods of Evaluation¶
Assignments¶
To help prepare you for the exams, we will have both individual and group assignments. Some of the assignments will be based on textbook exercises, and others will help you develop skills for the project. Written assignments will be submitted electronically via Canvas or Gradescope.
Late Work Policy
Deadlines exist so that we can discuss solutions in class. Therefore, late work will not be accepted without special permission. I am willing to work with you if your circumstances suddenly change. Please don't wait until the night before to get started!
Group Project¶
During the second half of the course, you will work in a group of four students. You are free to choose your own group members or have them assigned by the instructor. Each group will design, implement, and present a database and a web application. The project will require deliverables, performance evaluations, and code reviews.
Midterm/Final¶
This course is inherently cumulative; each week builds on the prior weeks. We will have an in-class midterm before spring break and a two-hour exam during finals week. The content and format of the exams will be similar to the assignments.
Grading Criteria¶
Your grade in CS 374 will be based on:
Letter grades will be assigned on the scale A=90–100, B=80–89, C=70–79, D=60–69, F=0–59, with potential minor adjustments after considering the overall performance of the class and actual distribution of numeric scores. I will use + and – grades at my discretion. I do not assign WP or WF grades except in unusual circumstances.
University Requirements¶
Adding/Dropping¶
You are responsible for enrolling in courses and verifying your schedule on MyMadison. The last day to add a semester course is Monday, 02/05/2024 (permission required after Friday, 01/26/2024). The last day to withdraw from a course with a W grade is Friday, 03/22/2024.
Attendance Policy¶
You are expected to participate in every class. I understand that things come up, and you might need to be absent occasionally. That's why I provide make-up opportunities for in-class assignments. If you are not feeling well or suspect you might be ill, please stay at home.
Disability Services¶
If you have a documented disability and need accommodations in this course, please register with the Office of Disability Services (http://www.jmu.edu/ods, Student Success Center, Room 1202, 540-568-6705). ODS will provide you with an Access Plan Letter to verify your need for services and make recommendations for the course.
Excused Absences¶
Students who are unable to attend class due to JMU sponsored activities (such as sports, band, academic competition, field trips, etc.) or personal religious observances may request reasonable accommodations. Please notify me during the first week of class regarding potential absences so that you and I can plan ahead.
University Closings¶
Given severe weather and other unexpected circumstances, be sure to watch for announcements relating to make-up dates. See http://www.jmu.edu/JMUpolicy/1309.shtml for JMU's cancellation policy. Although the schedule may adapt to canceled classes, assignment deadlines generally do not change.
Your Well-Being¶
As a university student, there may be times when personal stressors interfere with your academic performance and/or negatively impact your daily life. If you or someone you know is experiencing mental health challenges at James Madison University, please connect with the Counseling Center located within the Student Success Center on the 3rd floor. You can learn more about available services by visiting https://www.jmu.edu/counselingctr or calling 540-568-6552. These services are free and confidential. Other available support resources to consider include, but are not limited to, the Office of the Dean of Students, the Health Center, and Learning Strategies Instruction.