Course no. |
Title |
Credit |
Reqd - Core (R)/ |
Capstone? |
CIS616 |
Object-Oriented Systems Analysis |
4 |
O for Inf. Sys., E Soft. Sys. |
|
CIS650 |
Information Storage and Retrieval |
3 |
E |
|
CIS670 |
Introduction to Database Systems I |
3 |
R |
|
CIS671 |
Introduction to Database Systems II |
3 |
O for Inf. Sys., E for Soft. Sys. |
|
CIS694Z |
Introduction to Data Mining |
3 |
E |
|
CIS770 |
Database System Implementation |
3 |
E for undergrads/grads, R for grad major in Systems |
|
CIS772 |
Information Systems Project |
4 |
O |
Yes |
Database systems is an important and popular area of Computer Science and plays a crucial role in any CSE program. As databases increasingly integrate various types of new information, the field continues to evolve at a rapid pace to address the new challenges.
CIS 670, 671 and 770 provide a three quarter database sequence. 670 is required of all undergraduate majors, BS (CIS), BSCSE and BSBA (IS).It is also a very popular course for non-CIS graduate students, who have discovered they have database problems in their own research. 671 is required of all information systems option undergraduates, BS (CIS) and BSCSE.770 is the basic graduate course and is required in the Systems Major PhD area. CIS694Z is a new course on data mining, and CIS 772 is a popular capstone design course. As explained in detail in section 2.3, courses in this group help us meet a number of ABET and CSE objectives.
670 takes the user's view of
database systems.As such it emphasizes database
design and query writing.671 continues the user's view emphasizing modern database
systems and applications, such as object-oriented and object-relational
databases, data warehousing including online analytical processing (OLAP) and
data mining from the user's perspective, multimedia databases, and active databases.It finishes with the start of database internals,
namely disk characteristics, file organizations, and indexing strategies.770
takes the internals view emphasizing query processing and transaction
processing including concurrency control and backup and recovery. 694Z expands
the discussion on data mining and presents the back-end implementation of
current algorithms. In 772, students are required to work in teams and design
and implement a large-scale database application.
Section 2.1 describes the individual courses in the group. Section 2.2 explains how the group is related to the rest of program. Section 2.3 explains how the group helps meet a range of ABET and CSE objectives. Section 2.4 provides information on the feedback we have received from students, recruiters, etc. about the courses in the group. Section 2.5 summarizes the changes we are considering in the various courses.
CIS616 Object-Oriented Systems Analysis:This is a project based course where students work in teams to produce a requirement specifications document. The requirements are described with object oriented models: use cases diagrams, use case descriptions, class diagrams, interaction diagrams. CIS 616 is proposed as a replacement for CIS 516. It reflects the general trend of moving away from structured programming and techniques toward object oriented languages and techniques, especially the use of UML. CIS 616 updates CIS 516 in the following ways:
The original proposal was not approved by the
CIS670 Introduction to Database Systems I: This course introduces the basic concepts of
database design. The first half of the course focuses on the basic relational
data model and its underpinnings. Topics covered include the basic structure of
ER-diagrams, relational tables, constraints, the SQL language as well as more
abstract (yet core) topics such as relational algebra and calculus etc. The
latter half of the course stresses on advanced topics such as functional
dependencies, normalization etc. The course involves a number of homework-style
assignments as well as lab projects including a major database design project.
The course is frequently offered sometimes multiple sections per quarter.
CIS671 Introduction to Database Systems II:This is the second course in the sequence of
database courses. The focus of this course is object oriented and extended
relational database systems, data warehousing and analysis and an introduction
to data and file storage. Realistically, the first two weeks of the course
focuses on a review of 670 material as it is often found that students have either i) not taken 670, ii) taken 670 long time ago, iii) taken
670 with someone before the course structure was last changed. Subsequently
object oriented methods for database design are covered. Object oriented
database topics ranging from database design to query languages are covered.
Next, data warehouses, data mining, and data analysis (OLAP) systems are
discussed. Finally more complex systems such as multimedia databases, database
triggers are described in the context of monitoring evolving databases. The
course concludes with a discussion on disk storage systems, file organization,
various indexing and data storage mechanisms developed particularly for storing
large datasets.
CIS694Z Introduction to Data Mining: This is a brand new course being offered this quarter on this topic.
Topics covered include the knowledge discovery process, various data
preprocessing strategies for aiding and abetting in the analysis of data, key
data mining tasks: frequent pattern algorithms, clustering and classification
as well as scalable realizations of the same. For each topic examples are drawn
from real-world problems from the areas of intrusion detection and
bioinformatics.
CIS650 Information Storage and Retrieval: This course has not been
offered lately. The course does have an interesting title one which at least a
couple of faculty members have an interest in staying on the system. However,
there are no immediate plans to offer this course. After talking to Bruce we
decided that for the time being we would not recommend eliminating this course.
His rationale to us was it is much easier deleting an existing course than
adding a new one.
CIS 770 Database
System Implementation: This course
covers the internals of database systems. It starts with a discussion of disk
performance and file structures including index structures. These are used in
the study of query processing and performance algorithms. Then the problems of
crash recovery and concurrency control in database systems are covered. As a
700 level, mainly graduate course, the material is taught at a more rigorous
level than is used in 670 and 671.
770 has been well
received by graduate students. It has been rather hard for most undergraduates
because of their weak mathematical background. The main problem with 770 is
that, due to a lack of database faculty members, 770 has not been taught since
Winter 2001. Less of a problem is the fact that there is some overlap with
material in CIS 760 Operating Systems, particularly in the backup and recovery
area. One solution would be to change the operating systems prerequisite from
660 to 760 and to adjust the material accordingly. Finally, 770 should probably
be revised to better provide a brief introduction to the areas of database
research in the Department.
CIS 772 Information System
Project: This course teaches
information system design and development principles, i.e., requirement
analysis, database design methods and tools, process design, application
development tools, testing, evaluation and documentation. It is a capstone
design course focusing on information systems projects. It is appropriate for
undergraduates in the information systems or software systems options in either
ENG or ASC. A capstone design course is required for ENG students. Other
software systems students may count this course for the ``software lab
elective''. Other information systems students may count it as a technical
elective. The course is also appropriate for graduate students interested in
software engineering and/or database design. There have been several of
such students. Besides the technical content, the course also helps
students to improve their skills in individual and group time management,
project scheduling, professionalism, communication, and teamwork.
2.2 Relation to rest of
the program
CIS 516: Prerequisites: CIS 314
and Math 366 (according to the catalog); Math 366 or graduate standing in CIS
according to Bettina's syllabus.
Alternative prerequisite for 772 (616 or 757)
The course requires some programming
background as well as some mathematical maturity and knowledge of predicate calculus.These are provided by CIS 314 and Math 366,
respectively.
CIS 616: Prerequisites: Math
366, CIS 670 or graduate standing in CIS.
There is overlap in database design between 516/616
and 670.With 516, neither was a prerequisite for the other causing a very
uneven background in the students. For 616, it was decided to make 670 a
prerequisite to make a more homogeneous background in both courses. 670 now
introduces database design including the entity-relationship model and give
some practice with actual design.616 assumes some experience with database
design and give more practice in the context of object-oriented analysis and
design. Because students have had no other experience with database design, it
is the hardest part of analysis and design for them.
CIS670: Prerequisites: 314 or
321 and Math 366 or grad standing
Some programming background is assumed. However
the most important prerequisite is mathematical maturity.Logic,
covered in Math 366, is very important for the study of query languages, since
the problem is to translate an English language query into a formal language
equivalent to predicate calculus, e.g., SQL. Mathematical maturity is needed
for the material on normalization, which involves a mathematical theory on how
to avoid redundancy in a database design.
CIS671: Prerequisites: 670
671 is a continuation of 670 so that 670 is a
prerequisite.671 covers file structures, a topic important for 770, and
provides additional maturity. Thus it is a prerequisite for 770 for
undergraduates.
CIS694Z: Prerequisites:670 and 680 or grad standing or permission of instructor.
Not a prerequisite for anything.
CIS 770: Prerequisites: 660,
670; 671 or grad standing in CIS.
Since 770 is concerned with the
implementation of database systems, it assumes an existing knowledge of the use
of database systems as provided by 670.Since 770 deals with database internals
and database internals are closely related to operating systems, an operating
systems prerequisite is necessary.660 provides sufficient background. However
there has been some overlap between 760 and 770 in the transaction processing
area. Thus we should consider changing the operating system prerequisite from
660 to 760.Such a change would make it unlikely that undergraduates would take
770, however. As it is not many undergraduates have been taking 770 so that
such a change might be OK. Since 770 is taught at a higher level than 670 and
since file structures, important in query optimization, are covered in 671, 671
is a prerequisite for 770 for undergraduates. However, it is assumed that CIS
graduate students have the maturity to take 770 without 671.Also, most of the
material in 671, i.e., everything except file structures, is not necessary for
770.
CIS772: Prerequisites are CIS 516 or 757; 560; 670.
Not a prerequisite for anything.
Since 772 is a capstone design course,
students are expected to have 516 or 757, and 560 for necessary background on
requirement analysis and software engineering. The projects in 772 are on the
field of database systems, therefore 670 is required.
|
||||||||||
CIS Course |
CSE |
CSE |
CSE |
CSE |
CSE |
CSE |
CSE |
CSE |
CSE |
CSE |
616 |
X |
|
X |
|
XXX |
XXX |
|
X |
XXX |
X |
650 |
XXX |
XX |
XXX |
|
|
|
|
X |
XXX |
X |
670 |
XXX |
XX |
XX |
|
|
|
|
X |
XXX |
X |
671 |
XXX |
XX |
XXX |
|
XX |
|
|
X |
XXX |
X |
694Z |
XXX |
XX |
XXX |
|
XX |
X |
|
X |
XXX |
X |
770 |
XXX |
XX |
XX |
|
XX |
XX |
|
X |
XXX |
X |
772 |
XXX |
X |
XXX |
|
XXX |
XXX |
|
X |
XXX |
X |
Summary of Relation to ABET Criterion 3 |
|||||||||||
CIS Course |
ABET |
ABET |
ABET |
ABET |
ABET |
ABET |
ABET |
ABET |
ABET |
ABET |
ABET |
616 |
XXX |
|
|
XXX |
XXX |
X |
XXX |
|
X |
X |
XXX |
650 |
XXX |
X |
XXX |
|
XX |
X |
|
X |
X |
|
XXX |
670 |
XXX |
X |
XXX |
|
XX |
X |
|
X |
X |
|
XXX |
671 |
XXX |
X |
XXX |
XX |
XXX |
XX |
X |
X |
X |
|
XXX |
694Z |
XXX |
X |
XXX |
XX |
XXX |
XX |
X |
X |
X |
|
XXX |
770 |
XXX |
XX |
XXX |
XXX |
XXX |
XX |
XX |
X |
X |
|
XXX |
772 |
XXX |
XX |
XXX |
XXX |
XXX |
XX |
XXX |
X |
XX |
|
XXX |
The major way of getting student
feedback has been student evaluations in the form of SETs.
These have generally been very positive. Many students have also communicated
to faculty members, either written or verbally, how useful the courses have
been. The demand for the capstone design course has been very high, and the
students find their experiences in 772 both interesting and useful. A major
change in the database courses was approved in April 2000. Before that time
there were three database courses: 570 File Design and Analysis, 670
Introduction to Database Systems, and 770 Database Systems. 570 included
standard file processing topics as well as an introduction to database systems.
670 included database design and query languages. 770 included the internals of
database systems, query processing and transaction processing. The change was
to make 670, slightly modified because it no longer assumed an introduction to
database systems, the first course, to introduce a new course 671 and to
slightly modify 770. This change worked very well. The main change Kerr made in
670 was to introduce a preliminary SQL exercise similar to the one used in 570.
Old 670 had a single complex SQL exercise, and a simpler exercise was needed
initially. Some of the material from 570, namely disks, B-trees and hashed
files was moved to 671 since it is part of the internals of database systems.
The other material is no longer very relevant. The feedback from students are
generally positive. 671 is still being improved with newer advanced database
applications.
Course |
Coordinator |
Recent Instructors |
CIS616 |
Mary Beth Lohse |
New course, 694E by Bair, Lohse |
CIS650 |
- |
Have not been taught recently |
CIS670 |
EitanGurari |
Chaabouni, Krishnasamy, Gurari, Kerr |
CIS671 |
Hakan Ferhatosmanoglu |
Hakan, Srini, Kerr |
CIS694Z |
SrinivasanParthasarathy |
Srini |
CIS770 |
Hakan Ferhatosmanoglu |
Kerr (last in WI01) |
CIS772 |
Hakan Ferhatosmanoglu |
Hakan |
Date of report: May 2003.