You are on page 1of 9

CSE 241

Database Systems and Applications


Spring 2014 (Jan 8, 2014)
CHECK ON PIAZZA FOR UPDATES DURING THE SEMESTER!!!!!!!

Instructor:
Hank Korth, email: hfk@lehigh.edu, PA 414
For fastest response, use the Piazza site (details in main part of the
syllabus) to post your questions. You should get an answer quickly
from the instructor, a grader, or a fellow student. But (of course)
contact me directly by email or in person regarding items of a
personal issue such as grades.
Office hours:
o TR: 12:10 12:55 (between CSE 241 and 341)
o M 1:15 2:00 (except 1/27)
o Or by appointment
Phone: my office phone is not a good way to reach me since there
is no notification of pending voice mail and I rarely check it. I
recommend email to reach me or to make an appointment.
Our high enrollments (130 students in CSE 241 plus CSE 341 at
the time this syllabus is being prepared) will challenge all of us this
term. Well be adding some structure to course logistics so as to do
our best to give each student the access to information she/he
deserves despite the large number of students in the course.
ABET-required information: pages 2 3
University-required statements: page 4
Course logistics: pages 5 - 6
Day-by-day details: pages 7 - 8

ABET-format Syllabus
CSE 241 Database Systems and Applications
Catalog description:
Design of large databases: Integration of databases and applications using SQL and
JDBC; transaction processing; performance tuning; data mining and data warehouses. Not available to students who
have credit for CSE 341 or IE 224. Prerequisite: CSE 17, or CSE 18 or consent of Instructor.
Credit hours:

Class/laboratory schedule: This class has two 75-minute meetings a week.


Instructor: Henry F. Korth
Required course for Computer Science and Business (alternative: CSE 341)
Elective course for Computer Engineering and for Computer Science (all majors)
Prerequisite:

CSE 17

Textbooks/required materials:
Hill 2011.

Silberschatz, Korth, Sudarshan, Database System Concepts, 6th edition, McGraw

Course objectives:
Upon completing this course, students will: (*denotes primary objectives)
Provide a strong foundation for further formal and informal study in Computer Science:
o Principles of programming
o Principles of data structures*
o Principles of operating systems
Provide a firm basis of science and mathematics
o Perform experiments and analyze data
Provide exposure to projects that have the elements of those the students will encounter on the job
o Experience in a second language
Integrate the business and computing science components of the program (for the CSB major only)
o Apply computer technologies to the construction and control of business information systems
o Design a database*
Relation to Student Outcomes (SOs) and Assessment: This course supports the following ABET criteria for
computer science (1, 2, 7, 9, 11) and computer science and business (19, 21). It is an elective for computer
engineering.
Criterion
1
2

Student Outcome
Write computer programs
Apply knowledge of data structures

Apply principles of operating systems

Perform experiments and analyze data

11
19

Write programs in a second computer language


Apply computer technologies to the construction and control of
business information systems

21

Design a database

How Assessed
JDBC homework and course project
Homework & test questions on B+tree indexing
Homework & test questions on
buffer management and concurrent
systems
Homework & test questions on
OLAP and ranking queries
Homework & test questions on SQL
Course project (design a database for
an enterprise, implement design in
Oracle, populate it with data, and
build multiple end-user interfaces)
Course project, and homework and
test questions on entity-relationship
design, and relational design.

Topics covered:
SQL: schema definition, queries, nested queries, updates, complex join expressions, integrity constraints,
authorization, index creation, transactions
Entity-relationship design
JDBC, SQL functions, SQL stored procedures, map-reduce
Triggers
Recursive queries
Ranking and OLAP queries
Relational database design: normalization and decomposition, losslessness, dependency preservation
Enterprise database implementation
Storage management: RAID disks, buffer management, index structures
Transaction management:
o ACID properties
o Recovery: write-ahead log, fault tolerance
o Concurrency: serializability, two-phase locking, snapshot isolation
Parallel and distributed databases (includes cloud)
Data mining and data warehouses
Tuning and benchmarking

University-required syllabus statements:

If you have a disability for which you are or may be requesting accommodations, please
contact your professor and the Office of Academic Services, Room 212, University
Center or call (610-758-4152) as early as possible in the semester. University policy
states that you must notify your professor seven (7) days prior to the exam.

Lehigh University endorses The Principles of Our Equitable Community


(http://www4.lehigh.edu/diversity/principles). We expect each member of this class to
acknowledge and practice these Principles. Respect for each other and for differing
viewpoints is a vital component of the learning environment inside and outside the
classroom.

Course Logistics
Text:

Silberschatz, Korth, Sudarshan, Database System Concepts, 6th edition, McGraw Hill 2011.

See http://www.db-book.com for useful materials, including errata, slides, and solutions to selected
exercises.

Computer and Project:

We will use the Oracle database system for projects. This year we are using Oracle 11g Release 11.2.0.1.0

The course project (to be distributed in week 3 of the semester) is to be done in Java. Students will be
expected to submit a directory containing compilable Java source code (not an IDE project file) and a
working Java jar file that was generated by compiling the submitted source code. All projects will be tested
on a standard-issue student account in the CSE Sunlab. Therefore, all students need Sunlab accounts to test
their code. (I know of some Java features that work when run within popular IDEs but fail from the
Linux command line.) Any student who does not have a Sunlab account should contact me via email
immediately. Ill need your Lehigh user id (e.g., xyz123@lehigh.edu).

Due to high enrollment, I regret that I will not be able to make exceptions to these requirements. In
particular, I will not be accepting languages other than Java, nor will I be accepting projects hosted on a
web site, nor projects using any database other that the course-provided Oracle system.

Academic Integrity:

I shall be submitting all code for the project to the Moss system to detect cases of suspected plagiarism.
Moss cannot detect outsourcing of coding. Therefore, I shall also be selecting some students (based on a
combination of Moss output and random selection) for meetings after the projects have been graded in
which I shall discuss the specifics of the select students project with the student.

For all exams and quizzes, backpacks, coats, etc. must be left at the front of the classroom. The will be no
restroom breaks. Students needing an exception to the no-break rules must have the Student Health Center
provide a statement to that effect.

I very much regret that past experience (both mine and my colleagues) make these strict policies
necessary. I would welcome, and strongly urge students to help create, an environment in which the Honor
Code is respected by all students. A web search can find many schools where honor-code respect is at a
level such that faculty are comfortable giving take-home exams that are both closed-book and timed.

CourseSite and Piazza:

We shall be using both the Lehigh-supported CourseSite system and the


externally-operated Piazza system. The use of Piazza is an experiment this year. Friends at other
institutions have recommended it highly for its well-designed support of online discussion.

Piazza will host our course discussions, assignments, and solutions to assignments.
o You need to sign up for the Piazza site at piazza.com/lehigh/spring2014/cse241
o The class link to the Piazza platform is piazza.com/lehigh/spring2014/cse241/home
CourseSite will host grade information. Note that the overall course grade provided by CourseSite will not
always be accurate since newly posted assignments are treated as having a grade of zero until they are
graded. To check your status in the course it is best to look at your grades and compute your grade against
the breakdown listed on this syllabus. I shall provide accurate interim grade status at key decision points in
the semester.
CourseSite will host links to online videos. These videos are an experiment this term intended to provide a
supplement to the readings and to the lectures they are not a replacement for either. It is my hope that
having videos for some course topics will allow me to devote more class time to interactive discussions that
would otherwise be infeasible in a large class. Profession production was not available for these videos.
They are klunky, even by the standards of the worst of Youtube. But if they prove useful, I hope to move to
a more professional-looking environment in future semesters.

CourseSite allows you to upload a picture. I encourage you to do that so as to help me learn everyones
name more quickly.

Weather, Delayed Opening, and Illness:

In the event of a late opening of the University due to weather, we shall start class at university opening
time or normal class time, whichever comes later. So, for example, if there is a delayed opening until
11:00, we would start class at 11:00 instead of 10:45. Students driving to class should of course, make
prudent choices about travel in adverse conditions. If my commute is affected by weather, I will do my best
to email the class (while parked safely off the road).
If you are ill, your classmates will appreciate you not sharing your flu or virus. You do not need an excuse
for a missed class unless there is a scheduled quiz or exam on that date. You are responsible for getting
notes from a classmate.

Grading:

Late work policy: No late work will be accepted for credit without prior permission. Due dates will be
stated on all assignments. The project will have a due date plus late due dates with a stated number of
points off. Students are expected to be able to submit work correctly online and to back up their data.
Therefore, forgetting to click submit, computer crashes, etc, are not acceptable lateness excuses. Note
that online sites clocks may not match yours perfectly, so dont wait until the last moment to submit.
Absence from a scheduled quiz or exam due to illness requires a medical excuse from the Health Center.

Religious holidays: Both Passover and Easter occur near the end of the semester. They are around the time
the project is due. Since the project is a long-term event, students are expected to schedule their work
around religious observances. I have not scheduled any mandatory course events on those specific dates.

Homework: 17 graded assignments: 17% (all weighted equally). Homework 0 is an ungraded assignment
to test account setup.

Project: 33%: A full project document will be posted Jan 31. Checkpoints 1, 2, and 3 are worth 1 point
each if completed on time. Remaining 30 points are assigned based on the completed project.

Quizzes: 30% , 5 at 6% each. Held at start of class for 15 minutes on Feb 6, Feb 25, Mar 18, Apr 1, and
Apr 15

Final: 20%. date TBA, location TBA. Please do not make travel arrangements until you know the exam
date. The registrar posts schedule information sometime around mid-semester. Make-up exams will not be
offered except when authorized by university policy.

Schedule of Topics:

The following schedule is tentative, but it is an accurate guide to content even if our pace slows or speeds
up.
There will be some topics in the assigned reading that are not covered in lecture, and vice versa. You are
responsible for all material even if it is covered only in the reading or only in the lecture.
DSC = Database System Concepts, the course text. All references are to the 6th edition. Im working on
the 7th edition but will do my best to keep the 6th edition table of contents in mind in class!
The powperpoint slides on the book web site follow the book organization. Since the book web site is
public, the slides will not be posted on Piazza.

Date

Topics

Book

Tues
Jan
14
Th
Jan
16
Tues
Jan
21
Th
Jan
23
Tues
Jan
28

Introduction, Overview, Oracle


and SQL Developer
Intro to the relational model
SQL introduction: overview,
basic schema definition, basic
select-from-where expressions
SQL: joins, set operations, nulls,
aggregate operations, nested
queries
SQL: updates, complex join
expressions, views

DSC 1,
2

Homework 0 (load SQL Developer;


test account)

DSC 3.1
3.4

H0 due
Homework 1 (simple SQL queries)

DSC 3.5
-- 3.8

H1 due
Homework 2 (more SQL queries)

DSC
3.9, 4.1
4.2
DSC 4.3
4.6

H2 due
Homework 3 (less simple SQL
queries)
H3 due

DSC 7.1
7.5

Project handout
Homework 4 (ER Design)

Th
Jan
30
Tues
Feb 4
Th
Feb 6

Tues
Feb
11
Th
Feb
13
Tues
Feb
18
Th
Feb
20
Tues
Feb
25

Th
Feb
27
Mar
3-7
Tues
Mar

SQL: commit/rollback work,


schemas, integrity constraints,
advanced schema definition,
authorization
Entity-relationship model
project discussion
ER to relational
ER design issues

DSC 7.6
, 7.7

Quiz 1 during first 15


minutes of class (covers
SQL and ER)

DSC 7.8

Extended ER features
JDBC, brief coverage of ODBC,
embedded SQL, and SQL-J,
PL/SQL.
SQL functions and stored
procedures
Triggers, Recursive queries,
Ranking queries

DSC 5.1
5.2

DSC 5.6

Relational database design


overview, Keys, functional
dependencies,

DSC
8.1, 8.2,
8.3.1-8.3.4
DSC 8.3

Normalization: BCNF definition


and decomposition algorithm
3NF, decomposition algorithm
for 3NF, higher normalization

Functional dependency theory:


losslessness and dependency

H5 due Wed Feb 5


so I can post
solutions before
the quiz

Assignments

H4 due
Homework 5 (more ER Design)
H5 due on Wednesday Feb 5 so I can
post the solutions before the quiz

ODBC, embedded
SQL and SQL-J
for informational
purposes only, not
quiz responsibility

Homework 6 (JDBC)

ER review
meetings. Details
TBA
H8 due Mon Feb
24 so I can post
solutions before
the quiz

H6 due
Homework 7 (OLAP)

DSC 5.3
5.5

OLAP

Quiz 2 during first 15


minutes of class (covers
JDBC, triggers, ranking,
OLAP)

Comments

Project checkpoint 1
H7 due
Homework 8 (functional
dependencies)
H8 due on Monday Feb 24 so I can
post the solutions before the quiz
Homework 9 (normalization)

DSC 8.3

H9 due

DSC 8.4

Spring break, no homework, but


good chance to work on project!
Homework 10 (relational design)

Date

Topics

Book

Comments

Assignments

11
Th
Mar
13

preservation
Applying dependency theory to
normalization algorithms

DSC 8.5

H11 due Mon Mar


17 so I can post
solutions before
the quiz

H10 due
Homework 11 (more normalization
and relational design)

Tues
Mar
18

Quiz 3 during first 15


minutes of class
(dependencies, design, and
normalization)

DSC
10.110.3,
10.8

Th
Mar
20

Storage management: storage


types, disk access, RAID, buffer
management; index types:
ordered index
B+-tree index

Tues
Mar
25

Query processing

Th
Mar
27

Map-reduce

Tues
Apr 1

Quiz 4 during first 15


minutes of class (storage,
indexing, query
processing, map-reduce)

Th
Apr 3

Microsoft Access
Transactions and failure recovery

Tues
Apr 8

Concurrency: schedule types,


serializability isolation levels,
two-phase locking,

Th
Apr
10

Concurrency: snapshots and


isolation levels, phantoms

Tues
Apr
15

Quiz 5 during first 15


minutes of class
(transactions)
Parallel and Distributed databases

DSC
11.1
11.3 and
11.10
DSC
12.1,
12.2,
12.3.1,
12.3.2,
12.5.1
through
12.5.5
7th
edition
draft

Project checkpoint 2
H11 due on Monday Mar 17 so I can
post solutions before the quiz

Read entire
chapter if you like
for broader
background.

Homework 12 (storage and indexing)

Project checkpoint 3
H12 due
Homework 13 (query processing)
OK to read whole chapter. Note that
chapter uses notation from relational
algebra (see page 51 or DSC chapter
6.
Oracle explain plan feature

H14 due Mon


Mar 31 so I can
post solutions
before the quiz

H13 due
Homework 14 (map-reduce)

Project checkpoint 4
H14 due on Monday Mar 31 so I can
post solutions before the quiz
Homework 15 (Access)

DSC
14.1
14.4,
16.116.3
DSC
14.5
14.8,
14.9.1,
15.1.1
15.1.3
DSC
14.9.3,
14.10,
15.7
15.8
DSC 17,
18.1,
18.9,
19.1,
19.4.1,
19.8

Homework 15 (transactions and


recovery)

H15 due

H14 due Mon Apr


14 so I can post
solutions before
the quiz

Homework 16 (transactions and


concurrency)

Passover, classes
held. If you have
family events,
take them into
account in project
planning

H16 due on Monday Apr 14 so I can


post solutions before the quiz

Project checkpoint 5

Date

Topics

Th
Apr
17

Parallel and distributed systems,


and cloud databases

Tues
Apr
22

Data mining and data warehouses

Th
Apr
24
TBA

Tuning and benchmarking


Review and course evaluation

TBA

Final exam

review session

Book

Comments

Assignments

Easter is Sun
April 20. If you
have family
events, take them
into account in
project planning

Homework 17 (distributed databases)

DSC
20.1,
20.2,
20.3,
20.5
DSC
24.1,
24.2

Project due

H17 due

Date/Time TBA
based on the
scheduling of the
final exam.

You might also like