Course Group Status Report


Database Group

 

Course no. 

Title 

Credit
Hours 

Reqd - Core (R)/
Reqd - Option (O)/
Elective (E) 

Capstone? 

CIS616 

Object-Oriented Systems Analysis

O for Inf. Sys., E Soft. Sys. 

 

CIS650 

Information Storage and Retrieval

3

E

 

CIS670 

Introduction to Database Systems I

 

CIS671 

Introduction to Database Systems II

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



1. Summary

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.



2. Detailed Analysis

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.

2.1 Summary of the 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:

  • CIS 616 would teach object oriented analysis methods instead of structured analysis.
  • CIS 616 would have CIS 670 as a prerequisite.
  • CIS 616's title would eliminate the word "Design". This would reflect the reality that no design was actually being taught in CIS 516.

The original proposal was not approved by the College of Business, however it was felt that an object oriented version of analysis should still be made available to majors in our department. The proposed CIS 616 course was piloted as CIS 694E in Su 2001, Wi 2002 and Su 2002. 616 now replaces 516 as a required course for CSE/CIS majors in Information Systems. It replaces CIS 516 as a recommended elective for CSE/CIS majors in Hardware-Software Systems and Software Systems.

 

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.

One criticism on course content received from students and faculty from other departments has been on the coverage of theoretical topics such as relational algebra and in particular relational calculus. Both of these topics are a little harder to understand but provide a nice formal background to database query design. Moreover both of these topics directly address some of the ABET criteria (especially those relating to mathematical and logical foundations of computer science).

 

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.

Some of the students that have recently taken 670 are sometimes bored by the repetition of 670 material. Therefore, we tend to reduce the amount of time spent for the overview. On the other hand, those that have not taken 670 or does not have enough strength on it by and far find the overview very useful.Other than this particular feedback students tend to enjoy the course. Unfortunately due to the lack of access to a good object oriented database lab assignments in this course are somewhat limited. Other lab projects related to data analysis and warehousing are used to supplement this course. Design projects are typically well received.

The course is well received. We are in the process of considering a partial redesign to this course which will be described in Section 2.5.We are considering making some changes to the structure of the course as a result of current trends in the area. The title could also be changed to reflect these changes.

 

CIS694Z Introduction to Data MiningThis 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.

The course is a hands-on, with lots of team project assignments. Currently roughly a third of the class are undergraduate students. Several students are auditing the course or sitting in on lectures. Feedback from students has been positive thus far.

 

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. This course had been traditionally on relational database design. Besides the relational database projects, projects related to modern database applications have also been introduced. The instructor offers a list of well-defined projects, some with outside partners. Some of these projects are typically on relational database design and implementation, others are on more recent areas such as biomedical databases, large-scale image, audio, and genome databases. The new organization of the course is very well received by the students. 

 

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. Note: Graduate standing in CIS does not seem to apply, since CIS grad students cannot get credit for 500 level CIS courses.

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.

Alternative prerequisite for 772 (516 or 757)

 

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.

616 serves also other courses such as 758 Software Engineering Project, which is a capstone course for CSE/CIS majors in Hardware-Software Systems and Software Systems. It is also a team project course that includes analysis and design. It is currently being taught with object oriented techniques. 

 

CIS670: Prerequisites: 314 or 321 and Math 366 or grad standing

Prerequisite for 616, 772.

 

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

Prerequisite for 770 for undergraduates.

 

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.

Not a prerequisite for anything.

 

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.

2.3 Relation to program objectives

Database group courses play a crucial role toward meeting certain of the CSE objectives and certain of the ABET Criterion 3 objectives. In section 2.3.1 we consider the CSE objectives that this course group helps us meet, and in section 2.3.2 we consider the ABET objectives. 

2.3.1 CSE Objectives

Objective 1.To provide graduates with a thorough grounding in the key principles and practices of computing, and in the basic engineering, mathematical, and scientific principles that underpin them. Students will: 

  a.Demonstrate proficiency in the areas of software design and development, algorithms, operating systems, programming languages, and architecture. 

  b.Demonstrate proficiency in relevant aspects of mathematics, including discrete mathematics, as well as the appropriate concepts from physics and electrical circuits and devices.

  c.Successfully apply these principles and practices to a variety of problems. 

Objective 2.To provide graduates with an understanding of additional engineering principles, and the mathematical and scientific principles that underpin them. Students will:

   a.Demonstrate an understanding of differential and integral calculus, differential equations, physics  and several areas of basic engineering sciences. 

   b.Have the ability to work with others and on multi-disciplinary teams in both classroom and laboratory environments. 

Objective 3.To provide graduates with an understanding of the overall human context in which engineering and computing activities take place. Students will: 

   a.Demonstrate an ability to communicate effectively. 

   b.Obtain familiarity with basic ideas and contemporary issues in the social sciences and humanities. 

   c.Obtain an understanding of social, professional and ethical issues related to computing. 

Objective 4.To prepare graduates for both immediate employment in the CSE profession and for admission to graduate programs in computing. 

   a. A large fraction of graduates will be immediately employed in high-technology companies that utilize their computing education. 

   b.Strong graduates from the program will be prepared to enter good graduate programs in CSE.

  

 

Summary of Relation to CSE Objectives 

CIS Course

CSE
1a

CSE
1b

CSE
1c

CSE
2a

CSE
2b

CSE
3a

CSE
3b

CSE
3c

CSE
4a

CSE
4b

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

XXX

 

XXX

XXX

 

X

XXX

X

2.3.2 ABET Criterion 3

Engineering programs must demonstrate that their graduates 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 and societal context

i. a recognition of the need for, and an ability to engage in life-long learning

j. a knowledge of contemporary issues

k. an ability to use the techniques, skills, and modern engineering tools necessary for engineering practice. 

 

Summary of Relation to ABET Criterion 3 

CIS Course

ABET
3a

ABET
3b

ABET
3c

ABET
3d

ABET
3e

ABET
3f

ABET
3g

ABET
3h

ABET
3i

ABET
3j

ABET
3k

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

X

XXX

671

XXX

X

XXX

XX

XXX

XX

X

X

X

X

XXX

694Z

XXX

X

XXX

XX

XXX

XX

X

X

X

X

XXX

770

XXX

XX

XXX

XXX

XXX

XX

XX

X

X

X

XXX

772

XXX

XX

XXX

XXX

XXX

XX

XXX

X

XX

X

XXX

 

2.4 Feedback

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. 772, the capstone design course, particularly receives positive feedback from the students. We get many positive written feedbacks from the class stating that 772 is one of the classes that is considered to be most exciting and practical at the same time. In general, feedback from students and as well as select faculty from other departments in campus has been very good. However, there are still issues need to be addressed. We will summarize them in the next section.

2.5 Possible changes

Major problem The main problem in the database area is the shortage of tenure track faculty, there being only something like 1.5 FTEs. With a required undergraduate course and several other DB courses offered, more faculty are needed in this area.

 

516/616: At the time the DB course changes were being planned, we also wanted to change 516 to 616. However, after giving initial approval to this change, the Accounting and MIS faculty changed their minds and said they wanted their students to continue to take 516. After some more discussion we agreed to teach each of 516 and 616 two times a year. Because of this change in plans, 616 was only approved as a new course recently. Neither CIS 516 nor 616 has been taught by a tenure track faculty member since Winter 1998 when Doug Kerr taught 516. These courses are really more software engineering courses than database courses. Thus involvement of software engineering faculty is needed for these courses.

 

670: In our recent meeting (Ferhatosmanoglu, Gurari, Kerr, and Ramnath), we decided to propose to make a database design project a requirement for 670. 670 covers standard textbook material and can be taught satisfactorily by many non-tenure-track faculty. However, to maintain its quality, there should still be some involvement of tenure-track faculty.

 

671 is much less standard material, covering techniques that are just now coming into commercial use and into coverage in standard database texts. Thus 671 must be taught by very knowledgeable and up to date instructors. A part of this course stresses on object oriented database design. Unfortunately while the database community was gung-ho on this topic in the nineties, work in this area has largely died down due to various reasons (the most dominant one being performance). Companies are largely moving away from such systems. We are considering revamping this course to reduce (not eliminate) the topics covered related to OODBs and expand the part relating to various indexing and data storage mechanisms for large databases. We also find based on feedback from students that this section of the course tends to be more interesting. 

 

770: The main problem with 770 is that, due to a lack of database faculty members, 770 has not been taught since Winter 2001. As the core graduate database course, it is essential to schedule 770 on a regular basis. Only database faculty have ever taught CIS 772,. If there were many database faculty, this fact would not cause a problem. However with so few database faculty, it has been hard to schedule both 770 and 772. A minor problem is the scheduling of both 770 and 772 in Winter quarter, which cause problems for both instructors and students, since the same instructor and students often want to schedule both courses. Having them in the same quarter makes such scheduling more difficult. One of the courses should be moved to another quarter. 

 

Instructional database system: The courses now use Sybase, the Department's relational database system. Unfortunately, for instructional purposes, Sybase is not a good system. Unlike Oracle, DB2 and SQL Server, Sybase has chosen not to implement any of the new database system features that are covered in 671. Thus we should investigate replacing Sybase, at least in the instructional environment, with another database system, which does include these new features.



3. Conclusions

The Database Group courses plays an important role in the CSE program and helps us meet a number of objectives of the program as well as a number of the ABET Criterion 3 objectives. The courses, as they stand, are doing well; students are generally satisfied with the courses. 



 

Course

Coordinator

Recent Instructors

CIS616 

Mary Beth Lohse

New course, 694E by Bair, Lohse

CIS650 

-

Have not been taught recently

CIS670 

EitanGurari

ChaabouniKrishnasamyGurari, Kerr

CIS671 

Hakan Ferhatosmanoglu

Hakan, Srini, Kerr

CIS694Z

SrinivasanParthasarathy

Srini

CIS770

Hakan Ferhatosmanoglu

Kerr (last in WI01)

CIS772

Hakan Ferhatosmanoglu

Hakan

People: Ferhatosmanoglu, Kerr, Lohse, Parthasarathy.

Date of report: May 2003.


Hakan Ferhatosmanoglu


May 15, 2003