Teaching A Database Systems Design Course: Is It Theory Or Practice? Amjad A. Abdullat Computer Information Systems Department West Texas A&M University Canyon, Texas 79016 Abstract Faculty who teach courses in database systems design are constantly challenged to identify and find the proper mix of theory and practice to be presented in such a course. There is a widespread recognition among information technology educators and industry practitioners that a course in database systems design is considered to be an essential component to any academic curricula in both Information Systems and Computer Science. This paper describes the challenges of identifying and selecting the proper mix of theory and application materials of a database systems design course. Keywords: Database systems design, curriculum development, and database applications development. 1. INTRODUCTION The importance of a database system design course to any academic curricula in Information Systems (IS) and Computer Science (CS) that claims any level of practicality and relevance cannot be overstated. A database systems design course is viewed by many information technology educators and practitioners in both industry and academe as an integral component to any IS and CS programs. This is evident by the curriculum guidelines models sponsored by several professional accreditation associations such as ACM and AITP. While a database course can be found in most IS and CS curricula, the method and the approach in which the course is taught vary significantly from program to program, department to department, and definitely from instructor to instructor. The differences in the teaching or in the emphasis of the course can be attributed to several factors. Among these factors are the program philosophy, the program emphasis, students' preparation and background, faculty background, textbook availability, availability of technical resources, tools, and the needs of the local community. While these factors are valid to influence how a database systems design course is taught, there is still a need to articulate and develop a common approach and appropriate mix of emphasis on how the course should be delivered and taught. It is widely understood that the focus of a database systems design course for CS majors should not be the same as for IS majors. Nevertheless, the expectation is that every CS and IS curriculum should include such a course. The general topical content for such a course should include theory of database, development of database, administration, and management of database. The increased growth in database-based Internet applications has made database web-based Internet topics popular, relevant and significant as a part of any database systems design course. This increase in growth, and the proliferation of this types of applications throughout the industry has challenged faculty to alter and in many cases to change significantly the content of the course. However, the challenge that will continue to face instructors who teach such a course is which topics should be emphasized more than others. A valid response to this challenge is that one course in database systems design is not enough to effectively cover all database related topics. Hence, the popular and maybe a typical response is to have more than one required course in database systems design for CS and IS majors. However, the jury is still out on determining whether this is a valid response or not. 2. PURPOSE OF THE COURSE It is common understanding that the purpose of the database systems design course is to provide a solid foundation for the design and the implementation of database systems. While it is a challenging task to attempt to identify and develop the proper mix of topics that includes both theory and practice, nevertheless, the design and theory aspects should dominate the content of such a course. Accentuating the theory and the fundamentals of database design over practice provides students with a solid foundation, and in-depth exposure to the principles and concepts of database design that are essential for building well-designed database applications. Among the benefits of building well-designed database applications are the ease of maintenance, enforcement of integrity rules, and accommodating growth of target applications. Focusing on the implementation tools may force students to learn only the particulars of that tool, while ignoring other essential aspects of database design concepts. In other words the development tools become the center and the focus of the study. Moreover, implementation tools are evolving, always subjected to continuous changes, and in some cases even ceasing to exist. Significant percentages of all software applications that have been developed in the past few years are database-oriented types of applications. While the importance of a database systems design course cannot be overlooked, exploring the purpose of the course is not intended to justify its place and relevance to IS or CS curricula. Rather, what topics the course should cover, and how the course is taught will justify the place and relevancy of the course. A starting point to determine how a database course should be taught and delivered is where the course fits in the IS/CS curriculum. It is expected that a database design course will be considered as a senior level course. This leads us to expect that students should have taken at least two programming courses, a systems analysis course, and a data structures course. The placement and the designation of the database course as a senior level course helps in synthesizing the different concepts, knowledge, and skills that should be acquired from the previous courses. The purpose of a database systems design course should concentrate on the fundamental design issues and skills that students need to acquire prior to beginning any serious development in database applications. Just learning how to create schemas, forms, user interface forms, and some knowledge of data manipulation language is not enough to assure that students are capable of designing and developing serious, and meaningful database applications. 3. COURSE CONTENT As was mentioned earlier, it has been a challenging task to attempt to identify the proper mix of topics that includes both theory and practice for a database system design course. While the title of the course could be found included in many academic curricula, the content of the course varied significantly. However, determining what is the content of a database design course begins by reviewing the curricula recommendations by several professional associations, and the recently published textbooks in database design. The 1991 report of the ACM/IEEE-CS Joint Curriculum Task Force (ACM 1991) identifies "Database and Informational Retrieval" as one of nine subject areas in the discipline of computer science. In 1997 a joint effort by the ACM, AIS, and the AITP developed new recommendation guidelines for undergraduate programs in information systems. The '97 curriculum guidelines specify the course (IS97.8), Physical Design and Implementation with DBMS, as a required course for all information systems majors. Recently, the IEEE and the ACM created a joint task force to update the 1991 curriculum recommendations. The Task Force released the Strawman Report detailing the preliminary recommendations of the group. The Task Force identified thirteen knowledge areas. Also, in February 2001, the task force released its Ironman Report and included similar knowledge areas. Both reports identified Information Management (IM) as a knowledge area. The IM area of knowledge includes fourteen components. Three are considered core, and eleven are viewed as elective. The IM components are the following: 1) IM1: Information Models and Systems (core). 2) IM2: Database Systems (core). 3) IM3: Data Modeling (core). 4) IM4: Relation Databases (elective). 5) IM5: Database Query Languages (elective). 6) IM6: Relational Databases Design (elective). 7) IM7: Transaction Processing (elective). 8) IM8: Distributed Databases (elective). 9) IM9: Physical Database Design (elective). 10) IM10: Data Mining (elective). 11) IM11: Information Storage and Retrieval (elective). 12) IM12: Hypertext and Hypermedia (elective). 13) IM13 Multimedia Information and Systems (elective). 14) IM14: Digital Libraries (elective). The Information Management Knowledge area included eight components under the Strawman report. However, it was expanded to fourteen components under the Ironman report. The IM area of knowledge in the Year 2001 Model Curricula for computing focuses on fundamentals of database design topics. The recommended model did not make room for focus on commercially available database management software. While the report did not focus on the tools for database development applications, many faculty include such tools as part of the course. Another meaningful and important source to determine the content of a database systems design course is the available published textbooks in database. A review and examination of several recently published and widely used textbooks revealed that textbooks include most of the fourteen components of the IM area of knowledge. The titles of these textbooks varied from emphasis on design of database to emphasis on database applications development. While the titles of these textbooks differ, the content, topics, and the presentations of database materials, and concepts were very similar. The reviewed books are: Foundation for Future Database Systems: The Third Manifesto by Date and Darwen, Fundamentals of Database Systems by Elmaasri and Navathe, Modern Database Management by McFadden, Hoffer and Prescott, Database Processing Fundamentals, Design & Implementation by Kronenke, and Database Systems Design, Implementation and Management, by Rob and Coronel. In the preface section of the mentioned textbooks, an agreement among the authors emerged that not all topics can be taught in one semester. It also suggested which chapters and topics to cover depending on the focus of the course. However, most of these textbooks made available a development tool for applications development such as Microsoft Access database software, or Oracle database software. The author taught Database Systems Design courses for several years using different textbooks and software tools at different academic institutions. The CIS course that currently is taught by the author at The Computer Information Systems Department at West Texas A&M University is a senior level course. Students who enroll in CIS450 are expected to have at least three programming language courses, System Analysis course, Object-Oriented Analysis and Design course, Data Communications, and Networking course, and Data Structures course. As mentioned earlier it is a challenge to develop the right mix of topics between theory and practice of database. However, the author identified eight major and relevant topics to be covered during a one-semester course. These topics include: 1) Database Model and File Systems. 2) Relational Database Model. 3) Data Modeling using Entity Relation Model and the Semantic Model. 4) Structured Query Language. 5) Database Design and Normalization. 6) Transaction Management and Concurrency Control. 7) Distributed Database. 8) Database and the Internet applications. While it is very tempting to go in great details exploring how each topic mentioned above is presented, the author decided in the interest of space to resist such a temptation. Also, it is the author's expectation that most interested individuals in this paper have adequate background and knowledge in database systems design topics to meaningfully relate to the main purpose of this paper. The above topics were presented to students in the same sequence that was mentioned above. In addition to the topics that are presented, the author augments the lecture by introducing assignments that are relevant to the topic discussed. The assignments are intended to enforce learning of the materials that were presented. For example, when the multi-variance attributes topic is presented, it is complemented by an assignment that explains the issues and the solutions to the topic at hand. 4. COURSE ORGANIZATION AND THE LEARNING ENVIRONMENTS The CIS450 course is held in a computer laboratory classroom. The computing resources that are available in the classroom include twenty-five PCs connected to a file server. The PCs are relatively new with their specifications above average. Students have access to Microsoft Access database software to develop their projects. Several mini-case assignments that contain specific database design topics were covered to demonstrate how Microsoft Access database software implements them. The course is organized around three areas: lecture and assignments, hands-on using a development tool, and project discussion. These components are conducted sometimes concurrently in one class meeting. The framework of the course depends on all three areas. While each area is intended to serve a specific purpose, the three areas collectively attempt to achieve the course's goals and objectives, which are intended to expose students to the fundamental concepts of database system design by developing a team project. 5. THE COURSE PROJECT The course project is intended to provide students with an opportunity to explore concepts in relational database design in detail. The team project is viewed to be an essential aspect for providing students with the opportunity to gain "Real World" experience in using database systems. It is equally important to students' learning and their abilities to work in a team environment. An added value and benefit of the course project is that it facilitates collaborative learning among the team members; this provides students with practical experience on how projects are developed in the Real World. A significant amount of the students' grade and time is allocated to the project. Each student in the database systems design course is required to participate in-group to complete the project. Students' participation and engagement in the course project is intended to demonstrate their understanding of the important concepts of database systems design that were presented during the course. The project requires students to build a substantial and operational database application for a Real-World scenario of the students' choosing. Students will design schemas for the database and will create an actual database using a relational database management system. The course project is divided into three important but distinct phases. These phases are: the definition, the design, and the implementation. The accumulation of these phases will be the final project. The definition phase focuses on requirement analysis, conceptual database design and functional analysis. The design phase focuses on the logical and physical database design, and application program design. The database implementation phase focuses on the applications implementation, testing, and documentation. The final project document is an accumulation of the three phases, and integrates all the requirement of the project in one single document. The final project document should contain evidence that students have an understanding of the background and the issues of relational database design. 6. CONCLUSION The importance and the relevance of a database systems design course to CS and IS curricula should not be argued. However, the same cannot be said about the content of the course. Teaching such a course presents faculty both a challenge and an opportunity. The challenge of teaching a course in database systems design is to find the proper mix of topics between theory and practice. The opportunity, on the other hand, is to provide students with the experience needed to develop database applications that are serious and practical using relevant database management software. 7. REFRENCES ACM 1991, ACM/IEEE-CS Joint Task Force, Computing Curriculum 1991. ACM, 1997, IS '97 - "Model Curriculum and Guidelines for Undergraduate Degree Programs in Information Systems". New York: ACM SIGMIS ACM, 2001, Year 2001 Model Curricula for Computing. Date, C. J., 2001, the Database Relational Model: A retrospective, Review and Analysis, Addison Wesley Longman, Inc. Date, C. J., Darwen H., 2000, Foundation for Future Database Systems: The Third Manifesto. Addison-Wesley. Kroenke, D., 2000, Database Processing: Fundamentals, Design and Implementation, Seventh Edition, Prentice-Hall. Elmaasri and Navathe, 2000, Fundamentals of Database Systems, Addison Wesley. McFadden, Hoffer and Prescott, 1999, Modern Database Management, Addison Wesley. Morrison, M., and Morrison, J., 2000, Database-Driven Web Sites. Course Technology. Riccardi, G. 2001, Principles of Database Systems With Internet and Java Applications. Addison Wesley. Rob and Coronel, 2000, Database Systems Design, Implementation and Management, Course Technology.