Instructor:
  Ameen Abdel Hai
Office:
  BL-217
Email:
  aabdelha AT sju DOT edu

CSC-351/621: Database Management Systems

This course revolves around the concepts and structures to design and implement a Database Management System. Relational and document-oriented databases will be covered, as well as Advanced SQL programming such as procedures and triggers. In addition, Cloud Computing platform of Microsoft Azure will be required to store database and work remotely with group members.

Students will be introduced to web and database application in PHP, using SQL for database creation, as well as functionality in JavaScript, jQuery and JSON.

This course might lead to an entry level web developer position in PHP or SQL Developer


Textbooks:
1. Database Systems Introduction to Database and Data Warehousing - By: Nenad Jukic , Susan Vibsky, Svetlozar Nestorov
Available on Prospect Press
2. Fundamentals of Database Systems

Prerequisites: Basic knowledge of programming (PHP) and web tools (html, css, etc.).
TA: TBD
Group members

CSC-351/621 welcomes you!

Major Topics

  • Database Requirements
  • ER Modeling
  • Relational Modeling
  • Database Constraints
  • Update Anomalies
  • Request-Responce Cycle (HTTP)
  • HTML, CSS, PHP (very brief)
  • DB and PHP Integration (MySQLi or PDO)
  • Normalization
  • SQL
  • The Database Front-end
  • Data Quality
  • Data Warehousing Concepts
  • Dimensional Modeling (star schemas)
  • Data Warehouse/data mart modeling approaches, the ETL process
  • Database Administration
  • NoSQL (MongoDB)

Software

Type Software Link
PHP/MySQL Development Environment XAMPP/WAMP Server XAMPP:
https://www.apachefriends.org/download.html
WAMP (windows only):
http://www.wampserver.com/en/
Visual Database Design/Database Modeling Tools
Entity Relationship Diagram (ERD)
MySQL Workbench
and/or ERDPlus (recommended)
Mac/Windows/Linux:
https://dev.mysql.com/downloads/workbench/
Cloud: https://erdplus.com/#/
IDE/Editor PHP Storm by JetBrains (for the final project)
OR
Sublime/ATOM
DataGrip by JetBrains
IDE (recommended - my favourite for web dev in PHP):
https://www.jetbrains.com/phpstorm/?fromMenu
JetBrains Free Students Licence:
https://www.jetbrains.com/student/
Atom:
https://atom.io/
DataGrip:
https://www.jetbrains.com/datagrip/
Sublime (my favourite text editor): https://www.sublimetext.com/
Cloud Platform Amazon AWS Get started (we will go over this together in class):

Course Curriculum

Chapter Readings Assignments
Chapter 1: Getting Started None
Chapter 2: Database Requirements and ER Modeling None
Chapter 3: Relational Database Modeling Assignment 1
Best solution
Chapter 4: Relational Algebra None
SQL
Chapter 5: SQL
Connect to Remote Database
Assignment 2
Solution
Assignment 3
SQL Stored Procedures & Triggers Slides Exercises
Chapter 6 Slides
Constraints & Indexes
None
Group Project
Project Getting started
Project Specifications
Git - Brief
Group GitHub Repos
Sample src

Grading:
Please note that, the followings are approximate.
Homework assignments: 15%, quizzes: 15%, midterm exam: 20%, final exam: 25%, final project: 25%

Final gradings will be given according to the following scale:

Undergraduate students

A 96+
A- 90 - 95
B+ 85 - 89
B 80-84
B- 78-79
C+ 75-77
C 71-74
C- 65-70
D 61-64
F 0-60

Graduate students

A 96+
A- 90 - 95
B+ 85 - 89
B 75 - 84
C 65 - 74
F 0 - 64

Rules & Regulations

Mobile Devices (i.e., phones, laptops, and tablets): Out of courtesy for all those in class, cell phones and text messaging are not permitted. Laptops can only be used for note taking in class. All other uses are not permitted in class.

Accommodations for Disabilities: Reasonable academic accommodations may be provided to students who submit appropriate documentation of their disability. Students are encouraged to contact Dr. Christine Mecke in the Office of Student Disability Services, Bellarmine, B-10, at cmecke@sju.edu; or at 610.660.1774 for assistance with this issue. The university also provides an appeal/grievance procedure regarding requested or offered reasonable accommodations through Dr. Mecke's office. More information can be found at: www.sju.edu/sds.

Class room and meetings: We will have virtual/online meetings via Zoom every week, on Tuesday, from 17:00 to 19:45. Invitations to Zoom sessions can be found on the course page on Canvas; navigate to Zoom on the left navigation bar.
Please note, our online meetings are recurring, hence, we will use one URL throughout the course.
You are required to mute yourself unless you have a question to ask during the online lecture to avoid noise disturbance for other classmates. It is your personal preference whether you would like keep your camera on/off.

Assignments/Lateness: Email your assignments to me and our TA on or before midnight on the day they are due. If the assignment is a coding assignment, please be sure to include your source code as well as the output of sample test runs. Work may be turned in up to one week late. Late work will be penalized by 50%. After one week late, work will not be accepted. In case of an emergency, please contact me and I will examine whether I can postpone your assignment.

Academic Honesty: This course will follow the University's standard policy on academic honesty. In particular, any cheating (including plagiarism) or assisting another student's cheating on any assignment, test, or the final exam will be penalized by either a zero on the test, or by failure of the course, at my discretion. Finally, if you cheat twice during this course, you will fail the course. Remember that the University may inflict further penalties other than those listed here under the provisions of the published Academic Honesty Policy. Clarification: Webster.com defines plagiarizing as, "to steal and pass off (the ideas or words of another) as one's own : use (another's production) without crediting the source." Therefore, if you cut-and-paste something from the web, you are plagiarizing. If you copy another student's work, you are plagiarizing. If you have someone else do your work for you, you are plagiarizing.
You may work as a partner with another student on an assignment to an extent. Two identical solutions are not considered. If I receive identical solutions from two students, both students will be lose credit for their homework or might not get any credit for it. Note, I consider copying solutions from online sources to be cheating. Please contact me whether you have any queries in regard to assignments due. If you have any questions or face any difficulties, ask me before the deadline

Attendance: You are encouraged to attend every lecture. Attendance is not mandatory. However, if you do not attend lectures/classes, I will consider this as you are comfortable with the materials and able to write exams and pass the course. Note, if you do not attend regularly, I will not be able to go over the materials again during office hours. However, if you attend, make an effort, work hard, I will be delighted to explain and go over any topics or solve any difficulties encountered during the course.