CS 327E
Elements of Databases
Summer 2024
Welcome to CS 327E. I’m very glad you’re here!
I would like to take a
few moments to share some insight on the purpose of this course. It is designed
with the goal of giving students a practical introduction to databases and data
management systems. As a student in this course, you will be expected to
master a considerable amount of information about database management systems.
We will construct multiple databases for operational
purposes throughout the term. The work will be done on Google Cloud Platform
using a variety of database technologies and data science tools, which include
MySQL, Postgres, BigQuery, Spanner, Firestore, MongoDB, Neo4j, Jupyter Notebooks, and Looker
Studio. We will also use GitHub for our code.
We are diverse in
many ways, and this diversity is fundamental to building and maintaining an
inclusive campus community, as well as to give our class its strength. It is my
belief that every student who has enrolled in this course has
the ability to succeed in it. Each of you will decide how much time and
effort will be necessary on your part in order to
succeed; as for me, I will be glad to provide the necessary support. Please
know that I enjoy talking and interacting with students.
I look forward to getting to know you and working with
you throughout the term.
Course delivery mode:
This is a face-to-face course,
delivered via in-person lectures, at the class scheduled times in the room
shown below. Class attendance is mandatory, and it contributes to the
final grade. Exams will be given during class meetings, in person.
This course is using the
Lectures Online recording system. This system records the audio and video
material presented in class for you to review after class. Links for the
recordings will appear in the Lectures Online navigation tab on the Canvas site
(along the left side navigation). To review a recording, simply follow the
instructions presented to you on the page. You can learn more about how to use
the Lectures Online system at:
https://sites.la.utexas.edu/lecturesonline/students/how-to-access-recordings/
Class recordings are
reserved only for students in this class for educational purposes and are protected
under FERPA. The recordings should not be shared outside the class in any form.
Violation of this restriction by a student could lead to Student Misconduct
proceedings.
Class lectures:
84709: Monday, Tuesday, Thursday,
10:00 AM to 11:45 AM in room JGB 2.218
Instructor:
Dr. J. Marcos Palacios
Office: GDC 5.418
Email: mpalacio@cs.utexas.edu
(Please DO NOT expect email replies during the weekends OR
after 6 PM any weekday.)
Office hours:
Monday, Tuesday, Thursday, 1 PM to 2 PM.
Other times (M, Tu, Th only): By appointment via email/Ed
Discussion.
Teaching Assistant:
Amanda Priestley
Email: amanda.c.priestley@gmail.com
Course materials and communication:
We will be relying
heavily on Canvas, UT's Learning Management System. Each week, we will
post to Canvas the topics, assignments, and assessments for that week. All course
materials will be available on the Canvas site.
The Ed Discussion Q&A
platform will be used for class communication and discussions. This platform is
highly catered to getting you help fast and efficiently from classmates and the
teaching team. Rather than emailing content or assignment clarification questions
directly to us, we encourage you to post questions on Ed Discussion: Feel free to answer them too!
Please check Canvas and Ed
Discussion regularly. We will assume that any announcement we send on Canvas, Ed
Discussion, or directly to your email (either your CS account or your official
school email) will be read within 24 hours. If you don’t feel like checking
multiple messaging websites, make sure your notifications are properly set up
on Canvas and check your email regularly. Read the policy here.
Please DO NOT send us
messages via Canvas since they might not get a prompt reply.
Emails to the teaching team
should begin with "CS327E:" in the subject line, followed by a brief
description of the purpose of your email. Using
Facebook, LinkedIn, Twitter, text messages, calling a mobile phone, or other
forms of informal communication should not be used to communicate with us
regarding the course material.
Textbooks:
There are two highly suggested textbooks for
this course:
Alan Beaulieu, Learning SQL, Third
Edition, 2020.
Dan Sullivan, NoSQL for Mere Mortals, First
Edition, 2015.
Notice the additional links for each textbook on our
Canvas 'Course Information' page.
Prerequisites:
The course assumes a programming background and in
particular, a solid working knowledge of Python scripting. As such, the
prerequisites for this course are CS 303E, CS 307, CS 313E, CS 314, or CS 314H
with a grade of at least C-. Familiarity with SQL is also helpful, but not
required.
Course Description:
This course studies concepts
of database design and database system implementation. It emphasizes data
models, database design theory, query processing, concurrency control, and
distributed databases. Its main goal is to learn modern data management principles
and data processing techniques through a mix of best practices,
experimentation, and problem solving.
Course Objectives:
Upon course completion, the
student is expected to:
Course Outline:
·
Data Models and
Databases
·
Relational Databases
·
Relations,
Tables, Queries
·
Querying Multiple Tables
·
Transactions
·
Big Data
·
Consistency
·
NoSQL
Databases
·
Key-Value Pair Databases
·
Document Databases
·
Column
Family Databases
·
Graph Databases
·
Emerging Database Technologies
Grading Policy:
There will be NO extra-credit
work. The final grade will be calculated using the plus/minus grading
system, per the official course grading scheme of the university, as shown
below.
Exams:
There will be 2 midterm exams (and no final
exam) to test your understanding of the material being covered. They
will be given on the date indicated on the schedule and be done synchronously
during our class meetings. They will include multiple-choice, true/false, short
answer, and DB design, project-related & coding questions. The exams will
be done on paper, with closed books, slides, and notes. There will be take-home
quizzes to help you prepare for the midterms.
There will be no make-up exams due to our
term's limited time. If you foresee an exam-time conflict, the only available
option is to tell me in advance (at least two weeks!) AND to take the midterm
exam the day before its scheduled date. Check with your other
professors, your employer, or your travel plans before you commit to
this course!
Projects:
There will be 6 projects, each one due as indicated in
the course schedule (and clearly marked on Canvas). They are designed to exercise
important concepts in the course material, and they are aimed at giving you hands-on
practice with the selected database systems. They will require outside-class
time to complete.
All projects will be carried out in groups of two
students. You will form groups at the start of the semester and work with the
same partner throughout the term. If one partner stops
contributing to the group's work, the other partner is responsible for
informing the instructor and a meeting will be scheduled to resolve the issue. Both students will receive the same grade for each
project.
Late projects are eligible for partial credit although
they will not be accepted without prior arrangements (i.e., letting the
instructor know in advance). Note that late projects will incur a
penalty of 20% per day, for up to 2 days, after which time they will
not be accepted.
All projects must run on the prescribed platforms. You
will need to be able to access those platforms in order to
prepare and test your project work. Do not include code obtained from the Internet, or any other source, in
your project submissions. Do not post your solutions anywhere on the Internet.
The penalty for either of these violations will be a zero grade for the
assignment.
Home Quizzes:
There will be 6 take-home quizzes (think of them as
homework) to help you prepare for the midterm exams. Note that late quizzes will
incur a penalty of 20% per day, for up to 1 day, after which time
they will not be accepted.
Participation & Attendance:
You are required to attend and participate in all class lectures.
Some of the material for this course will be covered ONLY in the lectures (and
not in the textbooks). For this reason, class attendance is essential to your
success. If you have to miss class for any reason,
please provide me with the appropriate documentation, yet you will still be
responsible for the material covered in your absence.
There will be a number of pop-up,
participation surveys during class meetings (no make-ups either!). It
won’t make or break your grade, but participation points may tip the scales if
you’re on the boundary between two grades.
Acknowledgments:
This course is generously supported by Google through
giving us access to Google Cloud Platform.
Change of Grade:
If you think your grade was
given in error, you may email me with a grade change request. See the rules on requesting a regrade (on Canvas) for more
information.
Withdrawals / drops:
You must follow the withdrawal and drop policy set up by
the University and the College of Natural Sciences. You are responsible for
making sure that the drop process is complete. For more information, visit https://onestop.utexas.edu/registration-and-degree-planning/registering-for-classes/add-drop-a-course/.
Sharing of Course Materials:
No materials used
in this course may be shared online or with anyone outside of the class unless
you have the instructor’s explicit, written permission. Such materials include,
but are not limited to, lecture hand-outs, videos, assessments (quizzes, exams,
surveys, projects, homework assignments), in-class materials, review sheets,
and additional problem sets. Unauthorized sharing of materials promotes academic
dishonesty, and UT CS is aware of Internet sites used for sharing materials. Any
course materials found online that are associated with you, or any suspected
unauthorized sharing of materials, will be reported to Student Conduct and
Academic Integrity in the Office of the Dean of Students. These reports can
result in sanctions, including a failing grade in the course.
Policy on Academic Integrity:
Students who violate University rules on academic
dishonesty are subject to disciplinary penalties, including the possibility of
failure in the course and / or dismissal from the University. Since such
dishonesty harms the individual, all students, and the integrity of the
University, policies on academic dishonesty will be strictly enforced. For
further information, please visit the Student Conduct and Academic Integrity
website at: http://deanofstudents.utexas.edu/conduct.
You are expected to adhere to the University of Texas at
Austin’s Student Honor Code.
See the Standards of Conduct at: https://deanofstudents.utexas.edu/conduct/standardsofconduct.php.
Discussion of course material and assignments
are encouraged between students. However,
you must write-up your answers and solutions on your own.
You must also write the names of other students with whom you collaborated on
any assignment. Any attempts at obtaining program or exam solutions from
“note sharing sites” such as Chegg and CourseHero, or
from other sources, are considered cheating and carry the same penalty.
The minimum penalty for any student caught cheating is a
zero on the assignment, an additional reduction in final grade for the course,
and referral to the Dean of Students, who will record the incident and may
impose additional penalties. Repeat or flagrant violations may result in
failure of the course.
Classroom Behavior:
We must treat every individual with respect. We are diverse in many
ways, and this diversity is fundamental to building and maintaining an
equitable and inclusive campus community. Diversity can refer to multiple ways
that we identify ourselves, including but not limited to race, color, national
origin, language, sex, disability, age, sexual orientation, gender identity,
religion, creed, belief, ancestry, veteran status, or genetic information. Each
of these diverse identities, along with many others not mentioned here, shape
the perspectives that students, faculty, and staff bring to our campus.
Unfortunately, incidents of bias or discrimination do occur, whether
intentional or unintentional. They contribute to creating an unwelcoming
environment for individuals and groups at the university. We must avoid them.
Therefore, civility in the classroom, being important for the
educational process, is everyone’s responsibility. If you have questions about
appropriate behavior in a particular class, please address them with your
instructor first. Disciplinary procedures may be implemented for refusing
to follow an instructor’s directive, refusing to leave the classroom if
necessary, or refusing to implement health and safety measures as required by
the university. Additionally, the instructor, in consultation with the
department chair, may refer a student to the Office of the Dean of Students for further disciplinary
review. Such reviews may result in consequences ranging from warnings to
sanctions from the university.
Professional courtesy and sensitivity are especially important with
respect to how we address each other, and we strive to address you in the ways
you prefer. Class rosters are provided to the instructor with the student's
legal name, which may be updated via Texas One Stop (https://onestop.utexas.edu/student-records/personal-information/).
I will gladly honor your request to address you by a name that is
different from what appears on the official roster, and by the pronouns you use
(she/he/they/ze, etc). Please advise me of any
changes early in the semester so that I may make appropriate updates to my
records.
Per the American Association of University Professors (AAUP):
Texas Senate Bill 17 (SB 17), the recent law that outlaws
diversity, equity, and inclusion programs at public colleges and universities
in Texas, does not in any way affect content, instruction or discussion in a
course at public colleges and universities in Texas. Expectations and academic
freedom for teaching and class discussion have not been altered post-SB 17, and
students should not feel the need to censor their speech pertaining to topics
including race and racism, structural inequality, LGBTQ+ issues, or diversity,
equity, and inclusion.
Accommodations for students with disability:
The university is committed to creating an accessible and
inclusive learning environment consistent with university policy and federal
and state law. Please let me know if you experience any barriers to learning so
I can work with you to ensure you have equal opportunity to participate fully
in this course.
If you are a student with a disability, or think you may
have a disability, and need accommodations please contact Disability and Access
(D&A). Please refer to D&A’s website for contact and more information: http://diversity.utexas.edu/disability/.
If you are already registered with D&A, I will contact
you when I receive your Accommodation Letter so we can discuss your approved
accommodations and needs in this course.
Religious Holy Days:
A student who
misses classes or other required activities, including examinations, for the
observance of a religious holy day should inform the instructor as far in
advance of the absence as possible so that arrangements can be made to complete
an assignment within a reasonable period after the absence. A reasonable
accommodation does not include substantial modification to academic standards,
or adjustments of requirements essential to any program of instruction.
Students and instructors who have questions or concerns about academic
accommodations for religious observance or religious beliefs may contact the Office for
Inclusion and Equity. The University
does not maintain a list of religious holy days.
Campus Safety and Emergency
Situations:
The following are recommendations
regarding emergency evacuation from the Office
of Campus Safety and Security,
512-471-5767:
If you experience an emergency
situation during the semester, Student Emergency Services is here to
help you. They can help in the event of family emergencies, medical or mental
health concerns, and interpersonal violence, among other situations. If you
experience such an emergency, you may contact them directly through email
(studentemergency@austin.utexas.edu) or by phone (512-471-5017), or you may
contact me to assist you with the process.
Sexual Misconduct Reporting (SB 212):
Beginning January 1,
2020, Texas Senate Bill 212 requires all employees of Texas universities,
including faculty, report any information to the Title IX Office regarding
sexual harassment, sexual assault, dating violence and stalking that is
disclosed to them. Texas law requires that all employees who witness or receive
any information of this type (including, but not limited to, writing
assignments, class discussions, or one-on-one conversations) must be reported.
If you would like to speak with someone who can provide support or remedies
without making an official report to the university, please email
advocate@austin.utexas.edu. For more information about reporting options and
resources, visit http://www.titleix.utexas.edu/, contact the Title IX Office via email at
titleix@austin.utexas.edu, or call 512-471-0419.
Although graduate
teaching and research assistants are not subject to Texas Senate Bill 212, they
are still mandatory reporters under Federal Title IX laws and are required to
report a wide range of behaviors we refer to as sexual misconduct, including the
types of sexual misconduct covered under Texas Senate Bill 212. The Title IX
office has developed supportive ways to respond to a survivor and compiled
campus resources to support survivors.
Our Mission:
The mission of The University of Texas at Austin is to
achieve excellence in the interrelated areas of undergraduate education,
graduate education, research and public service. The university provides
superior and comprehensive educational opportunities at the baccalaureate
through doctoral and special professional educational levels.
The university contributes to the advancement of society
through research, creative activity, scholarly inquiry and the development and
dissemination of new knowledge, including the commercialization of University discoveries. The university preserves and
promotes the arts, benefits the state’s economy, serves the citizens through
public programs and provides other public service.
Our Core Values:
Learning — A caring community, all of us students, helping
one another grow.
Discovery — Expanding knowledge and human understanding.
Freedom — To seek the truth and express it.
Leadership — The will to excel with integrity and the
spirit that nothing is impossible.
Individual Opportunity — Many options, diverse people and
ideas, one university.
Responsibility — To serve as a catalyst for positive
change in Texas and beyond.