Syllabus
Instructor: Prof. Gabe Parmer
Other Instructional Staff: Kyle Vitale, Kate Halushka, Dania Abdalla, Sameen Ahmad, Adham Popal, Matias Liu Schmid
Time/Place:
- Class meets Mondays 12:45-2pm, Wednesdays 12:45-3:25PM in SEH 1400
Office Hours:
- TBA
Course prerequisites:
- CSci 1311, 1112, and Co-requisite of CSci2113
Website: https://gwu-cs-db-s24.github.io/
Course Description
This course will expose students to design and implementation of Database systems and team software development. The course introduces relational database design, query languages including SQL, theory behind the design of relational schemas and normal forms, database application development, and team software development. It introduces traditional relational databases, along with NoSQL database systems. A semester long team project requiring the design and implementation of a relational database system and full stack development. As part of the Writing in the Disciplines (WID) requirement, a number of written reports will be assigned and classroom discussions will be required.
Learning outcomes
As a result of completing this course, students will be able to:
- Design and evaluate relational database schemas, apply normalization techniques.
- Understand formal relational query languages, and understand and write queries in SQL.
- Experience programming in SQL using commercial relational database management systems.
- Build web applications, including both front end and backend, using different types of database
systems to solve real world problems. - Understand different types of NoSQL databases, design and use NoSQL databases and experience
application development for NoSQL systems. - Work in teams to design, program, integrate and test a database application.
- Improve technical writing skills, and write technical reports.
- Give an oral presentation and demonstration of a software project.
Direct and Independent Instruction Time
The course will include 3.75 hours of direct instruction each week including both lecture and lab periods. This time will typically be split between live lecture, discussion, and in-class exercises. Asynchronous options will be available for students unable to attend lectures live. Students are expected to spend a minimum of five hours on independent learning per week.
Textbook
Students do not need to purchase a textbook for this class. Optionally, students can refer to Database System Concepts, 7th Edition, by Silberschatz, Korth, and Sudarshan for additional material.
Grading
Homeworks and Labs - 25%
There will be approximately four homework assignments and five labs that you will need to complete for a grade. Unless otherwise specified, homeworks must be completed individually. Consulting with another student about answers is a violation of the school’s academic integrity policy, and may result in sanctions such as failing the course.
You have one week after a grade (for an assessment) is posted to contact the instruction team if you feel something has been graded incorrectly. After that your assignment/assessment will not be regraded.
Midterm Exam - 22.5%
The Midterm will be around Week 6. Details about the format of the exam will be provided closer to that time.
Project - 47.5%
In the second half of the semester, students will work on a substantial group project. All team members are expected to contribute evenly to the project, and your final grade will be based in part on your individual contribution and ability to work in a team. In the second half of the semester, Lab periods will primarily be used as project status check-ins.
Engagement - 5%
Students will receive an Engagement score based on their participation in the course. This will include both in-class participation during synchronous lectures and out-of-class activities. A diverse set of activities will count for increasing your engagement score, but you will get a 0 in this category unless you are actively contributing to our educational community. Here are some ways to get credit in this area:
- Ask or answer questions during lecture
- Ask or answer questions on Discord
- Share useful resources on Discord
- Participate in professional development activities shared by the professors
Engagement points will be assigned at the discretion of the instructors; for example, typing a few words in discord or the lecture chat may not be sufficient to earn a point. For full credit, you must acquire 15 engagement points over the course of the semester. In general you can acquire at most two per week, so you must be consistently engaged throughout the semester to achieve full credit.
There will also be many opportunities to earn extra engagement points – subscribe to discord notifications to be sure you don’t miss out! Asynchronous students are especially encouraged to pay attention and be active on Discord.
Late Policy
For deadlines related to labs or homeworks, students are expected to submit work on time, but we will allow extensions in certain conditions. We set deadlines in this course to help you stay on track and set you up to be successful in your learning. However, we are all human and we have real lives with extenuating circumstances that can make meeting deadlines 100% of the time challenging. In your work life, you may sometimes have to communicate to your boss that you can’t meet a deadline for a reason. In this class, the professors play the role of that boss. Communication and reflection on reasons why you need a deadline extension are key.
- To request a deadline extension for a homework or lab assignment you must fill out this form reflecting on why you need an extension and the impact it will have on the grading team. You also must send a Discord message to Gabe with your response.
- Your request should be submitted before the deadline. Typically, a 48 hour extension will be granted.
- Work submitted more than 48 hours late, or that did not receive an extension approval will receive a 0.
For deadlines related to the team project, no late work will be accepted. This is because the timelines for the project are longer, and a team has built-in “redundancy” to overcome life’s minor troubles, and we expect that as a team you will find ways to overcome any timeliness challenges.
Illness and Absence Policy
The instructors understand that students may need to be absent from class either due to illness or other personal situations.
If students anticipate missing, or have to miss one or more classes such as due to illness, they should alert the instructor as soon as possible. In this case deadlines may be extended for students and participation requirements will be relaxed.
Academic Integrity
You must do your own work in this class. You can discuss class work with peers, but you cannot seek concrete help on code with peers outside of your group. You can seek help with the instructors, but seeking help with peers outside of your group on code or specific homework/project outputs is an academic honesty violation. Examples of academic integrity/honesty violations:
- Looking at a peer’s code who is not in your group.
- Allowing peers outside of your group to look at your code.
- Using generative AI to produce code for the class.
- Using code from the internet that you found outside of the resources allowed by a lab/homework/project.
- Looking at, or using code from sources outside of the class (again, beyond the allowed resources).
If you have any questions about what constitutes an academic honesty violation, please talk to the class’ Professor.
University policies
Use of Electronic Course Materials and Class Recordings
Students are encouraged to use electronic course materials, including recorded class sessions, for private personal use in connection with their academic program of study. Electronic course materials and recorded class sessions should not be shared or used for non-course related purposes unless express permission has been granted by the instructor. Students who impermissibly share any electronic course materials are subject to discipline under the Student Code of Conduct. Please contact the instructor if you have questions regarding what constitutes permissible or impermissible use of electronic course materials and/or recorded class sessions. Please contact Disability Support Services if you have questions or need assistance in accessing electronic course materials.
University policy on observance of religious holidays
In accordance with University policy, students should notify faculty during the first week of the semester of their intention to be absent from class on their day(s) of religious observance. For details and policy, see “Religious Holidays” at provost.gwu.edu/policies-procedures-and-guidelines
Academic Integrity Code
Academic Integrity is an integral part of the educational process, and GW takes these matters very seriously. Violations of academic integrity occur when students fail to cite research sources properly, engage in unauthorized collaboration, falsify data, and in other ways outlined in the Code of Academic Integrity. Students accused of academic integrity violations should contact the Office of Academic Integrity to learn more about their rights and options in the process. Outcomes can range from failure of assignment to expulsion from the University, including a transcript notation. The Office of Academic Integrity maintains a permanent record of the violation.
More information is available from the Office of Academic Integrity at studentconduct.gwu.edu/academic-integrity. The University’s “Guide of Academic Integrity in Online Learning Environments” is available at studentconduct.gwu.edu/guide-academic-integrity-online-learning-environments. Contact information: rights@gwu.edu or 202-994-6757.
Support for students outside the classroom
Writing Center
GW’s Writing Center cultivates confident writers in the University community by facilitating collaborative, critical, and inclusive conversations at all stages of the writing process. Working alongside peer mentors, writers develop strategies to write independently in academic and public settings. Appointments can be booked online. See gwu.mywconline.
Academic Commons
Academic Commons provides tutoring and other academic support resources to students in many courses. Students can schedule virtual one-on-one appointments or attend virtual drop-in sessions. Students may schedule an appointment, review the tutoring schedule, access other academic support resources, or obtain assistance at academiccommons.gwu.edu.
Disability Support Services (DSS) 202-994-8250
Any student who may need an accommodation based on the potential impact of a disability should contact Disability Support Services to establish eligibility and to coordinate reasonable accommodations. disabilitysupport.gwu.edu
Counseling and Psychological Services 202-994-5300
GW’s Colonial Health Center offers counseling and psychological services, supporting mental health and personal development by collaborating directly with students to overcome challenges and difficulties that may interfere with academic, emotional, and personal success. healthcenter.gwu.edu/counseling-and-psychological-services
Safety and Security
- In an emergency: call GWPD 202-994-6111 or 911
- For situation-specific actions: review the Emergency Response Handbook at safety.gwu.edu/emergency-response-handbook
- In an active violence situation: Get Out, Hide Out, or Take Out. See go.gwu.edu/shooterpret
- Stay informed: safety.gwu.edu/stay-informed