CS 431

v.20170116 SPRING 2017

CS 431: Database Management

Department of Computer and Mathematical Sciences

New Mexico Highlands University

Instructor

Richard Medina, Ph.D.

Office: HSCI 291 : 505-426-2277 : rmedina@nmhu.edu

Office Hours: MTW 2-4pm (or by appointment)

Time and Location

Lecture: Mondays and Wednesdays: 11:00 - 12:15pm in HSCI 282

Midterm Exam: Wednesday, Mar 15 @ 11:00 - 12:15pm in HSCI 282

Final Exam: Wednesday, May 10 @ 2:30 - 5:30pm in HSCI 282

About This Course

[from the course catalog] The development of the major types of database systems, providing the framework for some experience with at least one database model. Assignments will include accessing, updating, and organizing a database. The use of a relational model will be emphasized along with various database inquiry systems, including natural language-like systems. This course will also provide exposure to design and analysis of database systems and contemporary role of databases in application stacks. Prerequisite: CS 245 with a minimum grade of C.

\pagebreak

Major Topics

  • design and analysis of database systems
  • architecture and technologies underlying database systems
  • emphasis on relational database model
  • cursory introduction to other models (NoSql, object oriented)
  • use of entity relationship models
  • application of structured query language (SQL)
  • database system maintenance
  • multi-user databases
  • database application fields (web, data mining, enterprise, data warehousing, etc.)
  • distributed databases
  • database security

Intended Outcomes

  • understand the purpose and role of database systems in contemporary computing
  • understand the architecture and framework of database driven applications
  • understand and apply analysis and design techniques to database driven problems
  • ability to design and implement a database from scratch
  • ability to design effective and efficient queries to solve problems or answer questions
  • ability to maintain and debug implemented databases.
  • understand and maintain multi-user database systems
  • understand normalization
  • understand and analyze levels of efficiency related to database design
  • understand and practice use of SQL

Required Texts

Databases Illuminated, Third Edition (2017) by Ricardo and Urban. ISBN-13: 9781284056945 ISBN-10:1284056945. Jones and Bartlett Publishers

Other handouts provided by the Instructor

Desire2Learn ==> https://nmhu.desire2learn.com/d2l/home

Instructor site for updates and schedule ==> http://rmedinahu.github.io/

Course Requirements

  1. Regular (daily/weekly) access to NMHU Desire2Learn for this course is expected
  2. Attendance/Participation is expected. For grading purposes, attendance is computed as, total meetings - number of absences / total meetings
  3. Homework Assignments - minimum 1/wk
  4. Midterm and Final Exams (comprehensive)

Grading

  • 10% Attendance
  • 45% Homework Assignments
  • 45% Midterm/Final

Homework Policy

It is expected that deadlines for programming assignments will be honored. Late assignments will always be accepted and assessed. However, point deduction for late assignments will be calculated as follows:

  • less than two days late ==> 10% reduction in assessed score
  • less than seven days late ==> 30% reduction in assessed score
  • more than seven days late ==> assignment will be assessed but no credit will be given :(

All programming assignments should be submitted to the appropriate dropbox in the Desire2Learn website for this course.

Policy on Shared Code

Assigned homework/programming assignments are to be strictly the work of each individual student. However, I encourage students to help each other and benefit from collaboration. This DOES NOT mean copying a fellow student’s work and replacing their name with yours. I can spot this practice immediately and will not give credit to any submitted code that follows that pattern.

\pagebreak

Resolution:

If you and other students work together on a solution:

a. All parties must indicate in comments (at the top of submitted file) the nature of the collaboration, who was involved, and what was gained by the collaboration.

b. Your assignment cannot be a COPY of your collaborator’s work. I want you to develop your own skills. You will not develop mad skills if you simply copy and paste or worse, save as

c. Take (a) and (b) seriously.

How to collaborate? Discuss ideas, procedures, algorithms, and design in the abstract. The implementation is still up to you.

How To Turn In Your Assignments

All programming or other assignment submissions should include the following on the first two lines of your assignment file as comments:

Example python source file:

# Medina, Richard 1-19-2017
# Homework 1
# I worked on the printmessage function with Guido. He showed me a way to format the string.

def printmessage():
    print('Hello. This is a sample program.')

printmessage()

Your submitted assignment files should be named to include your last name first initial followed by hw assignment number as demonstrated below. DO NOT USE SPACES in file names please!

Example file name:

	medinar-hw1.py

© 2017 - . All rights reserved
Built using Jekyll