Lecture #1: Course Overview - Database Systems

Download Report

Transcript Lecture #1: Course Overview - Database Systems

Course Overview - Database
Systems
Syllabus, Schedule, Course Content
Course Overview
Storage of and access to
physical databases including
indexing, hashing, and range
accesses. Relational data
models, database design
principles, query languages,
query optimization, transaction
processing and recovery
techniques. Object-oriented and
distributed databases.
Why should you care?
Databases draw together all of the theory and techniques that
you’ve learned about in most of your previous computer science
courses.
You will learn how to write a database system to solve the kinds of
problems you may face in a career as a programmer.
You will gain a deeper understanding of how databases work and
be able to write better code using them.
Warning: It will be LOT of programming!
Who am I?
Dr. Joshua Nahum
Teaching Specialist for the Department of Computer
Science and Engineering
You can call me "Josh".
Online Enabled Course
All material with be provided to you via the website
and related sources.
No textbook.
Synchronized course (meaning material for the class
will be released week by week).
Doing well in this class requires more self-discipline
than in-person classes, so seek help if you fall behind.
Grading
50% - Projects
20% Homeworks
30% - Exam
Projects: There will be 6 projects totaling 50% of your final grade.
Homeworks: There will be at least 12 homeworks; the top 10 homeworks will each
count for 2% of your grade.
Exams: There will be a single in-person exam on about 2/3 of the way through the
semester.
Projects
Most of the projects will be building an increasing complex Database
Management System, which can respond to SQL queries.
All of the projects must be done independently, meaning you need to
write and understand every line of code you submit. You may ask
questions on Piazza or to other students, but you may not share code.
Please come to office hours if you need assistance.
Projects will be due at 10pm on their due date. Late projects will lose 1
point of the grade per 24 hours. No project can be more than 4 days late.
At the end of the semester, two of the late penalty points accrued will be
waived.
Homeworks
Homeworks will be done through HackerRank.com
and are due at 10pm on Tuesdays. You should
receive a personalized link to the assignment each
Friday.
There will be at least 12 homeworks assigned, but
only the top 10 highest homework grades will be used.
The others will be dropped.
There is no late period for homeworks. If you haven't
submitted the assignment by 10pm, you receive a 0.0.
Academic Honesty
Do your own work! You may use the web as a resource as long
as you give credit and don’t try to pawn off your work on someone
else.
Do not copy another student's code or exam answers, use code
implemented by someone else, use code independently
implemented by someone else, provide false information to the
instructor about matters related to the course, or facilitate another
student in any of these activities.
We will be using plagiarism detection software. Violation of these
rules will result in a final grade of 0.0.
Prerequisite Knowledge
What we will cover:
Ability to write classes and
functions in Python 3.
Ability to use the Unix
command line and ssh
Using databases (SQL)
Implementing a simple
database system
Comparing different
database systems (NoSQL)
Recommended Textbook
Database Systems: The Complete Book
by Hector Garcia-Molina, Jeffrey D. Ullman,
and Jennifer Widom
Entirely optional but it is a good resource
for the content covered in this course.
Late Policy
Which of these can be turned in late?
Projects
Homeworks
Exam