Instructors: Prof. Tim Wood and Prof. Lucas Chaufournier

Support Staff: Billy Miller, Jeet Shah, Kevin Deems, Catherine Meadows, and Ethan Baron

Time/Place:

  • Class meets Mondays 12:45-2pm, Wednesdays 12:45-3:25PM on ZOOM

Office Hours:

  • TBA

Course prerequisites:

  • CSci 1311, 1112, and Co-requisite of CSci2113

Website: https://cs2541-21s.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 Not just SQL (NoSQL) database systems, types of NoSQL databases, and design of NoSQL databases. 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 (in this class and in CS2501) and classroom discussions will be required. Note: Students taking this course are also expected to be taking CS2501 to meet the degree requirements.

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.

Online Learning and Course Tools

GW courses will be taught fully online in Spring 2021. The course will use Zoom for video conference software during live lectures. Videos from the lectures will be posted online for students to view after each class. We will also use Slack as a message board and for course announcements.

We encourage all students to attend the “live” classes if at all possible. This will give you the opportunity to ask (or answer!) questions, helping you and your peers. If you are unable to attend lectures for a reason such as being in a very different time zone, then you will still be expected to be an active participant in the class through means such as the Slack message board.

We encourage all students to enable their video feed during class if at all possible. Having your video feed on has several major benefits: 1) it helps the professor and course staff receive visual feedback about student understanding, which in turn can improve your learning experience by ensuring we keep the appropriate pace; 2) it keeps you accountable to yourself and will encourage you to pay attention – we know how easy it can be to get distracted in an online environment, and the awareness provided by sharing your video can help you maintain focus on the class; 3) it helps us all get to know each other and feel connected, something which is particularly important in our COVID-affected world! Nevertheless, we understand that it may not be possible to always keep your video on; in that case you should ensure that your Zoom account has a picture associated with your profile so that you show up as more than just a black box.

Students should keep their microphone muted and use the raise hand feature when they want to unmute and ask a question. Typing questions into the chat is also acceptable, but we have found that unmuting and starting a dialog with the professor is much more effective. We welcome your questions! Don’t hesitate to ask!

Students should use Slack to ask questions, engage in discussion, and share resources that may help others in the class. Students are expected to be civil and professional when engaged in online discussions. The teaching staff is dedicated to providing a harassment-free experience for everyone, regardless of gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, age or religion. We do not tolerate harassment in any form. Sexual language and imagery is not appropriate in this course.

Schedule

(Subject to small changes, see home page for updates)

Date Topics Assignment(s)
Week 1 Course Overview and Introduction to Database Systems Lab 1
Week 2 Introduction to the Relational Model and Relational Algebra HW 1
Weeks 3-4 SQL and programming in SQL (MySQL) Lab 2, HW 2
Week 5 Theory of relational schema design and normal forms Lab 3
Week 6 ER Model and ER to Relational mapping Lab 4, HW 3
Week 7 EXAM and Project Overview  
Week 8 DBMS Design, Security  
Week 9 NoSQL  
Weeks 8-16 Team Software Development Periodic Status Checks

Grading

Homeworks and Labs - 25%

There will be approximately four homework assignments and four 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 around Week 7. 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 (at most one point per week)
  • Ask or answer questions on Slack (at most one point per week)
  • Share useful resources on Slack
  • 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 slack or the lecture chat may not be sufficient to earn a point. For full credit, you must acquire 10 engagement points over the course of the semester.

There will also be many opportunities to earn extra engagement points – subscribe to Slack notifications to be sure you don’t miss out! Asynchronous students are especially encouraged to pay attention and be active on Slack.

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 Slack message to Prof. Wood with your response.
  • Your request should be submitted before the deadline if possible, and no later than 24 hours after 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 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. For personal situations such as being in a difficult time zone, internet connectivity issues, etc., students can watch lectures asynchronously and are still expected to participate via other means such as the course message board.

If students anticipate missing several 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.


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

Virtual academic support

A full range of academic support is offered virtually in fall 2020. See coronavirus.gwu.edu/top-faqs for updates.

  • Tutoring and course review sessions are offered through Academic Commons in an online format. See academiccommons.gwu.edu/tutoring
  • Writing and research consultations are available online. See academiccommons.gwu.edu/writing-research-help
  • Coaching, offered through the Office of Student Success, is available in a virtual format. See studentsuccess.gwu.edu/academic-program-support
  • Academic Commons offers several short videos addressing different virtual learning strategies for the unique circumstances of the fall 2020 semester. See academiccommons.gwu.edu/study-skills. They also offer a variety of live virtual workshops to equip students with the tools they need to succeed in a virtual environment. See tinyurl.com/gw-virtual-learning

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