CIS 4362/5301 Database Systems Spring 2014

Instructor: Dr. Anwar Mamat
Office: Wachman  Hall Room 414
Phone: 215-204-4207
email: anwar@temple.edu

Course Meeting Times:

Tuesday; Thursday 11:00 am - 12:20 pm [Tuttleman 305A]
Laboratory: Monday  9:00 am - 10:50 am [Wachman 207]
Office Hours:[appointments are encouraged]
Tuesday, Thursday 12:30pm-1:30pm;
(other times available by appointment)

Teaching Assistant:

Pang Yu

Textbook (required):

Modern Database Management (11th Edition) by Jeffrey A. Hoffer , Ramesh Venkataraman, Heikki Topi, ISBN-10: 0132662256, ISBN-13: 978-0132662253

Course Prerequisites:

CIS 1068 Program Design; Abstraction using JAVA (Sufficient ability to program in Java or willingness to acquire it through self-study.)

Reading Assignments

You are required to read the assigned chapters and sections of the textbook before the corresponding topics are discussed in class. In answering your questions on the topics discussed in class, the instructor will assume you are already familiar with the relevant material in the textbook.

Grading

Course grade will be determined by

Final Exam (30%); [final exam will be comprehensive, covering all course material]
Midterm Exam (20%); Closed book. Students can bring one page 8*11 cheat sheet.
Laboratory Projects (30%): 3 projects. Application development using Java and Oracle Database.
Quizzes, homework, class participation (20%). 5-6 assignments.
Unexcused absences will result in a decrease in the course grade

CIS 5301 students have to do an extra project on a database related topic.

FINAL GRADES

Final grades will be assigned as follows.

Grading Scale:

Final Grade Percentage
A 92-100
A- 90-91
B+ 88-89
B 82-87
B- 80-81
C+ 78-79
C 72-77
C- 70-71
D 62-69
D- 60-61
F 0-59

 

Course Description:

This course provides an introduction to Database System Concepts and Architecture, Relational Data Model and Relational Database Constraints, Data Modeling Using the Entity-Relationship (ER) Model, Database Design Stages, Normalization, Transactions, Indexing, Security Issues, SQL, Advanced SQL queries, PL/SQL, Stored procedures, Views, Triggers, Distributed Databases, Data warehousing, Database Administration and current trends in database technology. This course also introduces database application developement using Java and Oracle database.

Objective:

Upon completion of this course, participants will have gained knowledge of database system concepts and the ability to:

Course Topics:

This course will present the fundamental concepts in database management. The following topics will be covered.

  1. Oracle Database Introduction
  2. SQL
  3. Data modeling: entity-relationship approach, Relational model
  4. Database Design
  5. Database programming basics (JDBC): Oracle with JDBC frontend.
  6. PL/SQL
  7. Constraints and triggers
  8. Transactions, security, and authorization in SQL
  9. Data storage and index structures
  10. Recovery
  11. Concurrency control
  12. Distributed databases, BerkeleyDB
  13. Special Topics: NoSQL, MongoDB

Lecture Schedule

This is a tentative outline of when the various topics will be covered. You are expected to have Schedule: read the designated chapters prior to attending the class. Exams will generally be based on material covered in class, but not necessarily restricted to it. The slack in the schedule provides for spill over and scheduling lectures for additional topics.

Week Data Topics Chapter
1 01/21, 01/23 Database Introductions, Basic Concepts, Oracle student user accounts 1
2 01/28, 01/30 Database System Concepts and Architecture 4
3 02/04, 02/06 Introduction to SQL 6
4 02/11, 02/13 Database design 5
5 02/18, 02/20 Data Modeling Using the Entity-Relationship (ER) Model 2
6 02/25, 02/27 Database Application Development, JDBC. Project 1 6,8

Spring Break

7 03/11, 03/13 Advanced SQL, The Enhanced Entity-Relationship (EER) Model 8
8 03/18, 03/20

Review and Midterm

7

9 03/25, 03/27

PL/SQL Views, Stored Procedures, Triggers. Project 2

 

10 04/01, 04/03 Database Application Development: JAVA GUI. Proejct 3

11 04/08,04/10

Transaction and Locking

 

12 04/15, 04/17

Timezone

13 04/22, 04/24

BerkeleyDB key-value store

 
14 04/29,05/01

Speicai Topics: NoSQL, MongoDB

 
15 05/05 Final Review
16

 

Final Exam

05/13/2014 10:30am

TL305A

All chapters

Student Responsibilities

Student's are responsible for reading all assigned text materials, handouts, and referenced sources. Students are responsible for participating in classroom discussions and discussions carried out electronically though Blackboard or other class facilities.

The CIS laboratory computer systems are available for use in homework and laboratory exercises.;Access to the computer systems in CIS labs is through Temple University AccessNet username and password. Wachman laboratories 104, 200, 207, and 209 have dual boot Windows and Linux systems. We will be using the computer systems in room;104 for laboratory assignments. These systems will have access to both Linux and Windows source code for laboratory work. You are responsible for performing and completing all of the laboratory exercises. This includes becoming familiar with, and being able to use, all of the tools and software that are to be used in these exercises.

Students are responsible for taking all quizzes and exams in the course. All work turned in for grading or review by the instructors of the course must be the students own work. The objectives of the course can only be met by your doing all of the work and presenting only your work for grading. Presenting work that is not your own will result in disciplinary action.

Student attendance to each class and each laboratory is Mandatory.

Students;who miss the final exam and do not make alternative arrangements with me before I turn in grades, will receive a grade of F.

Collaboration and Cheating Policy

You are welcome to discuss assignments and laboratory projects with other students, provided that all work turned in must be your own. If you do discuss your work on assignments with other students, please list your collaborators at the top of your assignment, underneath your name.;This does not excuse you from submitting your own work! For the in-lab parts of laboratory projects completed in teams, both team members should contribute equally and will be graded individually. The write-ups and out-of-class portions of labs must be completed independently.

In summary, when you are turning in an assignment with your name on it; what you turn in must be your work, and yours alone. Cheating will not be tolerated.