Course Title: Database Systems I, Section 1

Total Page:16

File Type:pdf, Size:1020Kb

Course Title: Database Systems I, Section 1

COMPUTER ENGINEERING DEPARTMENT CMPE138 Course: CMPE 138 Course Title: Database Systems I, Section 1 Semester: Spring 2004

Instructor Information and Course Description Instructor: Dr. M.E. Fayad, Office ENG 283I, [email protected], (408) 924-7364 Web page: http://www.engr.sjsu.edu/~fayad Course Meeting Place/Time: Lecture: Lecture: ENG 401, Tuesday & Thursday 4:30 p.m. to 5:45 p.m. (16:30 to 17:45)

Office Hours: Tuesday: 12:00 noon – 2:00 p.m. Thursday: 12:00 noon – 2:00 p.m. Other times: Send an e-mail to schedule an appointment.

Course URL: http://www.engr.sjsu.edu/~fayad /current.courses/cmpe138-spring04

Course Catalog Description File organization and storage structure, database system architecture, entity relationship model, normalization techniques, SQL, relational algebra, storage organization, query processing, and concurrency control. Prerequisites: CmpE 126 with C or better.

Required Textbook Fundamentals of Database Systems, 4th edition, by Elmasri and Navathe, Addison Wesley Publishing Company.

Required Articles, Columns, Case Studies, and Patterns will be posted on the web later.

Supporting Textbooks: Paul DuBois. MySQL Cookbook, 1st Edition, O’Reilly & Associates, November 2002, ISBN 0596001452

Other Resources: Instructor notes will be available on the course web page.

Grading Assignment 10% Quizzes 15% Midterm exam 20% Project 20% Final exam 35%

Final Grades: Letter grades will be assigned at the end of the course. Final grades will be based on a competitive curve. Graduate and undergraduate students are graded separately. Students will be informed of their standing at intervals throughout the course. Final grades are not negotiable. Unless there are mathematical errors, I will be unavailable to discuss final grades. Borderline cases will be considered with extreme care, and fair grades will be rendered. COMPUTER ENGINEERING DEPARTMENT CMPE138

Class Attendance: Important: Class attendance is mandatory. If you have more than four unexcused absences, then you will be dropped from the class.

You are responsible for the material covered in class and any announcements made in class whether you are there or not.

Homework -- homework assignments are intended to reinforce important concepts and are meant to be learning experiences. Collaboration and discussion among students is encouraged. Understanding the homework assignments will be essential for successful completion of the course. Copying someone else's answers will not be in your best interest. Students must turn in their own solution for each homework assignment (See Submission Guidelines).

Team Project -- the team project is essential for gaining "real world" experience in using database systems. You should collaborate freely with the members of your team. Collaboration between teams is discouraged, but is acceptable when it pertains to solving a problem of how to implement some functionality in the database system your team is using. You need to turn in the confidential peer evaluation forms at every phases.

The class will be divided into groups of 2-3 (three preferred) for team projects. Students will be responsible for forming groups. Students will give a final presentation of their project work if asked. Grading criteria and project ideas will be posted in a project Web page.

On occasion, students take advantage of group work, letting other members perform the bulk of the work while they reap the benefits of a good grade and can spend more time on other classes. This happens only occasionally, but it will not be tolerated in this course. Two policies will help prevent this: 1. Twice during the semester, group members will be asked to fill out a detailed peer assessment for group members per project. This assessment will be based on four scales:

Assessment Meaning Correspondence Zero Doesn’t do anything Get a Zero on the project D  25% effort Get a 25% of the  Attends 25% of the meetings project’s grade  Doesn’t participates in the discussion  Does a poor job C  50% effort Get 50% of the  Attends 50% of the meetings project’s grade  Participates rarely in the discussion  Does a so-so job B  75% effort Get 75% of the  Attends 75% of the meetings project’s grade  Participates partially in the discussion  Does an okay job A  100% effort Get 100% of the  Attends all the meetings project’s grade  Participates effectively in the discussion  Does an excellent job COMPUTER ENGINEERING DEPARTMENT CMPE138

Merely attending meetings won't be enough. Group members must be prepared for meetings, make good suggestions, perform their share of the work, and work well with other members. The grading criteria for peer assessment is as follows: a. Has the group member attended meetings? b. Has the group member been prepared for group meetings? I.e. was he/she aware of assignment requirements, performed her/his duties, able to speak intelligently about the project, etc.? c. Has the group member participated positively in meetings? d. Has the group member performed their share of the work, as assigned? e. Rate the quality of this group member's input to group discussions and design issues. f. Has the group member been able to work well with others? g. Rate the overall value of this group member to the project. h. Rate the level of initiative this group member has exhibited in the project. i. Other comments?

2. Groups experiencing problems with a student should let me know there's a problem. Do this early in the semester. My experience is that group members wait until it's too late to take action. My objective is to ensure that each group member has the opportunity to succeed. I will handle the situation and ensure there is no animosity while resolving the problem. Usually, a brief discussion will clear the matter up entirely and without further problems.

1. Deadlines: Homework, projects, and programming assignments, for that matter, are due before class. That means that I will collect all the hardcopies at the beginning of class. A softcopy must be e-mailed to me before the class as well (see Submission Guidelines). Late assignments incur an automatic penalty of 5%, plus 2% per hour for each hour till 9 PM. You will lose a 20% of points for the first day and after the first day, 10% of points for each day. All late homework MUST be time stamped in order to receive any credit. Exceptions will be granted only if arranged prior to the due date or a documented illness intervenes.

Cheating vs. Collaboration Copying someone else’s assignment, or the common solution of written or programming assignments will be considered cheating. Interaction for the purpose of understanding a problem is not considered cheating and will be encouraged. However, the actual solution to the problems must be one’s own.

Make-up exams will not be given. Students who know that they will miss an exam must notify the instructor in advance. The only exception will be for substantiated medical emergencies.

Topics to be covered The topics are subject to change if the schedule slips or we get ahead.

Introduction – Ch. 1, 2 ER Model, UML representation – Ch. 3 Relational Data Model and Relational Algebra – Ch. 5, 6 SQL – Ch. 8 Embedded SQL, JDBC, Perl DBI – Ch. 9 Functional Dependencies and Normal Forms – Ch. 10 Relational DB Design Algorithms – Ch. 11.1, 11.2 Transaction/Concurrency Control/Recovery – Ch. 17, 18 Object Oriented Concepts and Object-Relational DBs – Ch. 20, 22 COMPUTER ENGINEERING DEPARTMENT CMPE138

Course Goals and Objectives

Course objectives: CMPE138 presents a comprehensive study of database modeling, normalization, implementation of a database. The emphasis here is on understanding principles and developing a prototype of a database. The course stresses the fundamentals of database design principles.

Course Summary For over 30 years, computerized database systems have been developed and used to help computers manage the increasing amount of data we store and manipulate. This course presents an overview modern database systems. Three aspects of computerized data management will be examined. First, we will look at the basic structure and capabilities of a computerized database system. Second, we will examine the process of designing a database and using a database system. Lastly, we will look inside a database system to see how it is implemented.

Course Goals 1. To learn what is a database system and architecture of it 2. To learn data independence and schemas 3. To learn how to draw an Entity Relationship Diagram from problem specifications 4. To learn how to convert ER into relations 5. To learn fundamentals of relational algebra 6. To learn how identify functional dependencies and normalize relations 7. To learn how to write database queries in Structured Query Language 8. To learn fundamentals of procedural SQL 9. To learn what is concurrency control and why it is important. 10. To learn basic techniques for creating serial schedule in concurrency control 11. To learn how to provide recovery in a database system

Student Learning Objectives By the end of the course, you should: 1. Have an ability to apply knowledge of writing relational algebra and SQL 2. Have an ability to write specification, design database and apply normalization steps. 3. Have an ability to identify, formulate and solve problems by drawing an Entity Relationship Diagram from problem specifications and writing SQLs that utilize databases. 4. Have An ability to use the techniques, skills of using a modern relational databases.

What is ABET (Accreditation Board for Engineering and Technology)? ABET (The Accreditation Board for Engineering and Technology) serves the public through the promotion and advancement of engineering, technology and applied science education. ABET will: Accredit engineering, technology and applied science programs. Promote quality and innovation in engineering, technology and applied science education. Consult and assist in the development and advancement of education in engineering, technology and applied science. Inform the public of activities and accomplishments. Manage operations and resources to be responsive and relevant to the needs of the organization and its stakeholders.

Program Outcomes; ABET (a-k) Criteria The Computer Engineering Program is designed to produce engineering graduates who have: a. An ability to apply knowledge of mathematics, science and engineering. b. an ability to design and conduct experiments, as well as to analyze and interpret data. c. An ability to design a system, component or process to meet desired needs. d. An ability to function on multi-disciplinary teams. e. An ability to identify, formulate and solve engineering problems. f. An understanding of professional and ethical responsibility. g. An ability to communicate effectively. h. The broad education necessary to understand the impact of engineering solutions in a global/societal context. i. recognition of the need for, and an ability to engage in, life-long learning. COMPUTER ENGINEERING DEPARTMENT CMPE138

j. knowledge of contemporary issues. k. An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice.

Students Learning Objectives Relationship to ABET Criteria (a-k) ABET Criteria Student Learning Objectives a 1 c 2 e 3 j 4

Course Relationship to Program Educational Objectives

Program Educational Objectives Course Learning Objectives Provide a broadly based curriculum consisting of: Students will learn fundamental concepts of database  Computer Engineering fundamentals, both system as listed in Course Goals. Students will practice hardware and Software, that provide a basis for how to design and implement a database. professional competence and life-long learning and  Elective courses that provide contemporary professional skills as required by an ever- changing industry. Prepare students for entry level professional engineering, Students will design and implement database projects As well as continuing studies in engineering or other which make use of fundamentals of database systems professional areas. Provide a practice-oriented, hands-on curriculum that Students will complete database projects that apply the prepares students to apply theoretical concepts to real concepts of database systems World problems. Provide students with the problem solving and Students will design and document database projects communication skills required to be successful and based on specification advance in their careers. Provide opportunities for students to learn and practice Students will corroborate on database projects to meet a Leadership and teamwork skills in a multidisciplinary set of specifications, and test and validate the projects. environment.

Policy on Cheating:  A student or students involved in a cheating incident involving any non-exam instrument (homework, report, or lab project) will receive an F on that instrument, and will be reported to the judicial affairs office. Whether the report will carry a recommendation for disciplinary action will be left to my judgment.  A student or students involved in a cheating incident on any quick test, the midterm exam or the final exam will receive an F in the course, and will be reported to the judicial affairs office with a recommendation for disciplinary action. I will personally notify you of any such findings or actions. All such reports will also be brought to the attention of the computer engineering department office. You have certain rights of appeal, which may serve to exonerate you. (see http://www.sjsu.edu/student_affairs/academicdishonestyrevisedpolicy.pdf)

Right to Privacy: You will retain a right to privacy. I will not knowingly reveal your grades, student ID number, phone number, address or other private information to others, except within the limits of university policy. I COMPUTER ENGINEERING DEPARTMENT CMPE138

will ask that you supply your first name, last name and last four digits of your SID on written homework or tests. The grader system requires that you supply the first five digits of your SID as a password. Grader permits you to access your own grade records and your standing in the class online, but no other person’s grade records or personal data.

Students with Disabilities: Students with disabilities who would need some kind of accommodation should make that known to the instructor: "If you need course adaptations or accommodations because of a disability, or if you have emergency medical information to share with me, or if you need to make special arrangements in case the building must be evacuated, please make an appointment with me as soon as possible, or see me during office hours."

Class Schedule The tentative schedule below shows estimated due dates for homework assignments and exams. All of these dates are subject to change if the schedule slips or we get ahead.

Date Tuesday Thursday HW/ HW/ Topics Chapters HW/ HW/ Topics Chapters Project Project Covered Project Project Covered Out Due Out Due -, Jan. 29 Introduction Ch. 1 Feb. 3, 5 Introduction Ch. 2 ER Model Ch. 3 Feb. 10, 12 HW1 ER Model Chap.3 Project Relational Ch. 5 Part1 Data Model Feb. 17, 19 Relational Ch. 5 HW1 Relational Ch. 6 Data Model Algebra Feb. 24, 26 Relational Ch. 6 HW2 Relational Ch. 6 Algebra Calculus Mar. 2, 4 Project Project HW2 SQL Ch. 8 Part 1 Presentation Mar. 9, 11 SQL Ch. 8 Project SQL Ch. 8 Part 2 Mar. 16, 18 SQL Ch. 8 Midterm Mar. 23, 25 SQL Ch. 8 SQL Ch. 9 Mar 30,Apr 1 SPRING RECESS! ☺ Apr. 6, 8 Project Project SQL Ch. 9 HW3 Normal Ch. 10 Part2 Part3 Forms Apr. 13, 15 Normal Ch. 10 HW4 Decompositi Ch. 11.1 Forms on Apr. 20, 22 Decompositi Ch. 11.2 HW4 Decompositi Ch. 11.2 on on Apr. 27, 29 Transactions Ch. 17 Transaction/ Ch. 17, 18 Concurrency May 4, 6 Concurrency Ch. 18 Project Recovery Ch. 19 Part3 May 11, 13 HW5 OO Object- Concepts Ch. 20 Relational Ch. 22 Databases May 18, - Review Final Exam: COMPUTER ENGINEERING DEPARTMENT CMPE138

Hand In:

All homework assignments and projects need to be typed and handed in as hardcopies and electronically. You also need to demonstrate Projects to the instructor. Hand-written assignments and projects are not acceptable. Check submission guidelines.

Class Webpage: http://www.engr.sjsu.edu/~fayad /current.courses/cmpe138-spring04 contains the syllabus, some of the homework and lecture notes, and occasional notices.

Recommended publications