Course Description
A comprehensive coverage of database concepts, design, and implementation. Topics include systems analysis, data modeling, relational databases, logical design, normalization, user interfaces, query processing including SQL, database administration, security, backup and restore, and performance evaluation. Popular databases are referenced. Advanced topics will include recent advances in database technologies, data mining, and “big data.”
This is not a purely practical nor a purely theoretical course. Successful students will effectively communicate understanding of concepts as well as demonstrate practical implementation of database design and programming.
Prerequisite
1 year programming experience (e.g., C, C++ or Java at CSCI 121 level) and algorithms (CSCI 160).
Familiarity with algebra, probability, statistics, and calculus will be helpful.
Textbook
Fundamentals of Database Systems (7th Edition)
By Ramez Elmasri and Shamkant Navathe
ISBN-10: 0133970779, ISBN-13: 978-0133970777
Schedule and Website
Readings, assignments, and slides will be posted under the Schedule and Materials tab.
Grading
The following percentages are tentative and may be changed at the instructor’s discretion:
- Attendance and Participation: 10%
- Homework / Programming Assignments (~10): 30%
- Exams: 30%
- Final Project and Presentation: 30%
Test and Project Format
The tests will be a mixture of essay, pseudocode, design, or other appropriate question format. You should be able to demonstrate your knowledge of the subject using terminology and techniques covered in class and/or the textbook.
The book is a reference for most of the topics covered in classes. However, we will cover some material in classes that may not be from the textbook; all the assigned readings, lectures and machine problems covered in classes will be fodder for questions on the test.
The final project will be assigned as team projects. The final project will include database design, implementation, and a presentation. The presentation is scheduled during finals week (during this course’s Final Exam time), and participation is required.
Withdrawing from the Course
If you feel that you want to drop or withdraw from the class, please come talk to me about it as early as possible; I want to help you succeed, but you need to ask for help.
Refer to Clark’s Academic Calendar for the deadlines to drop or withdraw from the course.
Time Expectations
Per Clark policy, each course requires a minimum of 180 combined hours of engaged academic time for students. It is expected that you commit at least 12 hours to this class every week. Here is a general guideline for time expectations in this course:
- 2.5 hours: lecture attendance and participation
- 1.25 hours: lab attendance and participation
- 3.25 hours: studying the week’s materials
- 5.0 hours: completing assignments and attending office hours as needed
With a 15-week semester, this amounts to 15 * 12 = 180 hours. Adding these hours to the exam hours, the total engaged hours will be above 180.
Policies and Miscellaneous
The official administrative business of this class will be conducted by email
Grade questions/disputes, explanation of absence, etc. will be processed via email so that we both have a written record of what was agreed. Feel free to discuss in person but an email follow-up is required for the official record.
Attendance and discussion/asking questions are expected
If you must be absent, please contact me in advance to let me know why you won’t be in class, and you must make up for the missed class and keep up with the course work.
Computer use policy
Computers and cell phones should be put away unless you are actively using them for class purposes with my permission. Do not use class time to work on other homework, play games, check email, check Facebook, or surf the web. Such activities can be distracting to other students.
Assignments are due on time
That is, at 11pm on the listed due date, with additional 59 minute courtesy time.
- Assignments received within 0-48 hours past the deadline will be accepted with a 20% penalty
- Assignments received more than 48 hours past the deadline will not be accepted or graded
Plan your work accordingly: work on each exercise and assignment as soon as possible, ask questions, and get help early. Students are responsible for ensuring that assignments are correctly submitted. If you have a question or problem, seek help from the instructor or a TA immediately.
No special make-up work will be accepted after the end of the semester
In the event of a documented major medical problem, a grade of Incomplete will be given pending the submission of complete work. However, make up work “to improve one’s grade” will not be accepted.
Grades are not negotiable
Please don’t ask for changes to your grades. Just do the work and you’ll get the grade you deserve. Of course, please bring any clerical grading errors to my attention and I will gladly fix them.
Collaboration policy*
Programming is an individual creative process much like composition. You must reach your own understanding of the problem and discover a path to its solution. During this time, discussions with other people are permitted and encouraged. In fact, we recommend student cooperation in understanding programming concepts, algorithms and system features. You are encouraged to discuss lecture materials, textbook examples, labs, assignment problem specifications and expected outputs, and to seek and receive help with the programming language, IDE, and other tools. However, when the time comes to develop algorithms and write code that solves the problem, such discussions (except with course staff members) are no longer appropriate: the code must be your or your pair’s own work.
*Parts of this text are adapted from course webpages for “COS226: Data Structures and Algorithms”, R. Sedgewick and K. Wayne (Princeton)
Academic integrity: cheating and plagiarism
Academic integrity is a basic value for all higher learning. Simply expressed, it requires that work presented must be wholly one’s own and unique to that course. All direct quotations must be identified by source. Academic integrity can be violated in many ways: for example, by submitting someone else’s paper as one’s own; cheating on an exam; submitting one paper to more than one class; copying a computer program; altering data in an experiment; or quoting published material without proper citation of references or sources. Attempts to alter an official academic record will also be treated as violations of academic integrity.
To ensure academic integrity and safeguard students’ rights, all suspected violations of academic integrity are reported to the College Board. Such reports must be carefully documented, and students accused of the infraction are notified of the charge. In the case of proven academic dishonesty, the student will receive a sanction, which may range from an F in the assignment or course to suspension or expulsion from the University.
Do not, under any circumstances, copy another person’s code or show your assignment code to other students (unless they are part of your programming pair). Incorporating someone else’s code into your program in any form, or allowing someone to do so with your code, is a violation of academic regulations. In addition to standard definitions of plagiarism, with respect to this course, plagiarism is also defined to include:
- Copying any part of someone else’s assignment/program, even if you have permission and/or have modified the code
- Sharing or giving your assignment/code or even a subset of your assignment/code to another student
- Reviewing another student’s solution, solutions from the internet, etc.
In this course, it’s okay to use AI for assistance with programming assignments, as long as you feel it is contributing to your learning. However, be aware that you won’t have access to AI when you take the exams.
You may not publish your solutions to this course’s programming problems in a way that could compromise their utility as pedagogical tools.
Note that I will run automatic plagiarism detection software on assignments, which I will use as a starting point to investigate suspected plagiarism.
If you have any questions about these matters, please consult the instructor.
If the scary consequences of failing the course or being expelled aren’t enough to convince you plagiarism is a bad idea, consider these points:
- Academic dishonesty dilutes the value of your degree. Would you rather hire a student who earned an A from a school where cheating is widespread, or hire a student who earned a B from a school where cheating is rare?
- If you cheat, you will learn less. Even if you somehow avoid getting caught, if you cheat you will be less prepared for job interviews and future jobs.
Welcoming class atmosphere
I strive to make this course welcoming and productive for all students. Please let me know what name and pronoun you prefer to be called. Please bring any issues or concerns to my attention.
Students with Disabilities
Clark University is committed to providing students with documented disabilities equal access to all university programs and facilities. Students are encouraged to register with Student Accessibility Services (SAS) to explore and access accommodations that may support their success in their coursework. SAS is located on the second floor of the Shaich Family Alumni and Student Engagement Center (ASEC). Please contact SAS at accessibilityservices@clarku.edu with questions or to initiate the registration process. For additional information, please visit the SAS website.
Disclaimer
The instructor reserves the right to make changes to any information contained in this syllabus at any time during the semester. Any substantial changes will be announced.