CSC 340
Introduction to Database
Systems
Syllabus
Prof: Chris Fernandes
Email: fernandc (at) union (dot) edu
Office Hours: Mon 12:45-1:45, W 1-3, Tu 2-4, F 1-2
and anytime my door's open!
Office: 219 Steinmetz Hall
Phone: 388-6401
Course Webpage: nexus.union.edu
Text (1 required). Available at the Bookstore:
Elmasri and Navathe,
Fundamentals of Database Systems. 7th ed,
Addison-Wesley, 2015.
Course Summary
This is an introductory course to modern databases. We will discuss
the design, creation, and querying of databases, with an emphasis on
the relational model but touching on others as well. Our
primary focus will be the modeling and usage of databases.
The design of database management systems (including file
structures, indexing, etc.) are covered in our Advanced Databases course.
The goals of this course are for you to be able to:
- think critically about how to model a database
- extract the pertinent information about an enterprise which should be
incorporated into a database
- translate useful questions about data into computer-understandable
queries (and vice versa)
- understand the theoretical foundations as to why databases are
designed and used in a particular way
- understand some of the ways that database technology is applied
today and the problems that are still waiting to be solved (maybe by
you!)
Topics to be covered include
- Relational Data Model
- Entity-Relationship Model
- Conceptual and Logical design
- Relational Algebra
- SQL
- Query Processing
- Distributed Database Systems
- Other Data Models
Evaluation
- Exams. There is 1 midterm on Wednesday,
Oct 9th.
If you cannot be at an exam for a good reason (illness, for
example)
then please let me know so we can make other arrangements.
The final will be cumulative. You will be responsible
for all material covered in the readings and in lectures. Exams are
closed book and closed notes, though, for the midterm, you will be
allowed to bring in
a typewritten or handwritten sheet of paper with notes (front and back).
For the final, you are allowed 2 pages of notes (front and back).
- Homework. Weekly homework will be assigned throughout
the term. Homework is due
at the start of class on the day it is due. No lates will be
accepted. Homework that is not typed will not be accepted.
Homework that doesn't have an Honor Code cover sheet (on Nexus) will not
be accepted.
- Project. A design project will be assigned
near the middle of the term. You will research, design, create,
and query a database from the ground up. You will then give
an oral presentation describing your results.
- In-class quizzes. These will always be announced
in advance and usually pertain to recently-covered material.
Quizzes are open book, open notes.
- Seminars. The CS department has a (usually) biweekly seminar
that explores the diverse and rich field of computer science.
Our seminars discuss a variety of topics, including, computer science research,
applying for CS jobs or graduate school, and career and technical skill development.
The seminars are frequently presented by visitors from academia and industry, and alumni.
The seminar is typically Thursday during common lunch (12:50-1:45pm).
As part of taking this course,
you are expected to attend at least one CSC seminar this term and a submit
brief written summary using
this webform (https://tinyurl.com/unionCSseminar).
Summaries are due on the last day of class and will count as part of your project grade.
Of course, you are strongly encouraged to attend as many CSC seminars as you are able.
Grading
- Homeworks: 24%
- Project: 15%
- Quizzes: 21%
- Midterm Exam: 20%
- Final Exam: 20%
Academic Dishonesty
Struggling on your own to figure out what to write next is where a lot of the learning
happens in CS. Give yourself the opportunity to do this -- ALONE. Here are some specifics
(this is not a complete list):
- Working together on homework is ok, but you should only
discuss problems in general terms like, "I think 'CAR'
should be its own entity set because of what it says in the
2nd paragraph of the design document" or "I think this query looks
like the ice cream demo from class." Never write the actual answer
together -- always write it by yourself and don't compare
them afterwards. If you're really questioning your own answer,
you can talk to me about it.
- If someone asks you for help on a part of some problem, help them
by doing a different example on a separate sheet of paper.
Or by going over a class demo together that is similar. If the person
is really stuck or doesn't even know when to start, that person
should be talking to me.
- DO compare answers after you get your graded homework back.
There are many ways of writing a correct answer and looking
at others' ways of thinking can help you.
- You must cite everything and everyone you worked with, including
people you worked with, CS helpdesk, and URLs of web sites.
You don't need to cite our own textbook or help from me.
We have an honor code and I trust y'all to follow it.
Read it at
honorcode.union.edu. All suspected
violations will be reported to the Honor Council chair and Dean
of Studies.
If you have any questions about what's ok and not ok, ask me!
What you need to do
To prepare for class, you are required to do the following:
Show up
You are expected to be present for every class. However, I realize that
sometimes other things come up (interview, illness, etc.) so
just please let me know in advance or by phone/email if you're going to
be absent. Unexcused absences are NOT allowed and will
affect your grade. If you miss class, get notes from someone
and do the readings before coming to see me. I'm happy to
explain things, but I won't repeat lectures for you.
Read the text
Lectures will primarily follow the major topics covered by the text.
You should do the reading for that week before coming to class so
that questions you have about the material can be answered during
lecture.
There will always be a time for questions about the readings or previous
lectures at the beginning of class. Take advantage of it.
Check the webpage on Nexus
The reading assignments (and other announcements) will be
posted regularly on the course webpage. You are required
to check it at least once a week. I usually update it over the weekend.
Check your email twice per day
I will send email throughout the term for a variety of reasons
such as answering frequently asked questions and warning you
of pitfalls in the assignment. I know, it's old tech, but
please check it at least twice daily.
Stay focused
There's a lot to learn when it comes to database design, so your
job is to stay engaged. If you're using a laptop/tablet to take notes,
that's fine, but
class time is for class work. Using your computer for other things like
other classes' work, checking social media, reading email, or catching the latest ESPN
highlight video is not permitted. This policy extends to cell & smart phones too.
Phones should be in silent mode and out of sight (mine and yours).
Class goes by quickly. Stay focused.
If you're done with an in-class exercise, don't allow yourself to get bored.
Extend the exercise. Or help out your neighbor.
Make backups
I always have at least one student each term who loses all of
his/her work due to a computer glitch or hard drive crash.
Don't let it be you. Make backups
of everything either by saving it on a USB flash drive or
storing it on your orzo account.
Accommodations
Union College facilitates the implementation of reasonable accommodations, including
resources and services, for students with disabilities, chronic medical conditions and temporary
disabilities resulting in difficulties accessing learning opportunities. All students needing services must
first register with Accommodative Services located in Reamer 303. It is strongly recommended that
accommodations be requested within the first two weeks of the term. Last minute requests can be denied.
Any student with a documented learning disorder is welcome to
come talk to me privately about options for completion of exams and
homework assignments.
The Bottom Line
Ask questions and seek help.
This is the most important point of all.
I live to answer questions. Don't be afraid to come to my office every single
day if you want. It's better for everybody (you AND me) if you understand
things sooner rather than later.