Teaching Web-driven Database Applications with Templates Ming Wang California State University, Los Angeles ming.wang@calstatela.edu ABSTRACT Due to the vast popularity development of the Internet applications, web driven database application programming has become one of the important topics in the curriculum of information systems. Many schools have developed an upper division course for such a topic. The question raised is how to effectively teach the course to students. After trial and errors, the author found that the solution is using program templates. Program templates are stand-alone program examples created by the instructor. Given the appropriate database connectivity resources and program templates, students are able to modify the templates to their assignment solutions and ultimately to the course project. The templates provide students framework to enable students to better understand, and apply their acquired knowledge to database web applications. As a result, the utilization of this approach increases the motivation in many students to learn and produces more effective learning outcome than passive approaches such as traditional lecture and homework assignments. Keywords: IS curriculum, IS education, database application programming, web development 1. INTRODUCTION Web driven database application programming provides a prominent mature mechanism for delivering large volumes of information at low cost on the Internet. An increasing number of academics are thinking about how they should teach such a course in the IS undergraduate curriculum. But very little research has been done for the area in the IS curriculum literature. This paper fills out the blank by providing an alternative approach of teaching web driven database applications with templates. There are a variety of ways of teaching implementation of web driven database applications. The focus of this paper is to teach Oracle and Java server technology (JSP/Java Servlet) using JDBC (Java Database Connectivity). JDBC is one of the most prominent and mature approaches for accessing relational DBMSs. Java Server Pages (JSP)/Java Servlet is Java web server technology newly developed in J2EE for web services utilized in e-business application development. As part of the Java family, JSP, Servlet and JDBC technology enable rapid development of web-based applications that are server and platform independent. They provide a component-based, platform-independent method for building e-business applications on the Internet. There are different approaches to teaching database web application development course in colleges and universities. Some instructors discuss the theory of the databases and leave it to the students to apply the theoretical concepts when employed. Others may discuss the theory, design and implementation concepts but only in the traditional format of class-lectures. Both of these approaches have the advantage that there is easily enough time to present the major concepts of database web application development concepts. The main disadvantage of these approaches is that teaching such a course without an actual implementation is as teaching a piano course by lectures only. It has been the author’s aim to provide students with a real-world and hands-on experience in a database web application development. This paper intends to introduce an effective way of teaching web driven database applications course using Oracle and Java server technology with templates. The intent is to help those IS educators who are currently teaching web driven database application development or those who are planning to teach such a course in the future. The purpose of the paper is to create effective learning in students and grasp database application programming skills effectively. The paper first provides the overview of the template teaching approach, then, following with an introduction to the course pedagogy and student responses to the approach. The paper concludes that teaching database web applications with templates is an effective teaching approach. 2. THE TEMPLATE APPROACH The templates are individual complete database programming examples. Based on the templates, students are able to modify them to assignment solutions and accomplish their database application projects. As described in Libby (1981), a template (or framework) is based on "a series of meaningful cue patterns which are prototypical of class memberships." These class memberships and their related cue patterns are stored in an individual's long-term memory. When confronted with information, individuals who have internalized a template are able to recognize patterns in the information presented, to classify the information appropriately, and to bring to mind a larger set of cues associated with the class membership. Using Templates approaches In web driven database application programming, certain problems occur repeatedly in different guises. Often a problem reminds you of a similar problem you have seen before. Students may find solving the problem easier if they have the workable template in front of them by drawing an analogy between the template and their new problems. Analogy is really just a broader application of looking for things that are familiar. If a solution exists in the template, modify it to yours. Internalizing the provided templates is helpful for students solve the similar problem. Of course, as students work their way through the new problem, they may come across things that are different than they were in the template, but usually these are just details that they are able to handle one at a time. Constructivist Model Teaching with templates has its root in the constructivist model. A major theme in the theoretical framework of Bruner is that learning is an active process in which learners construct new ideas or concepts based upon their current/past knowledge. The instructor provides students with a learning environment for experimentation and exploration. As far as instruction is concerned, the instructor should try and encourage students to discover the principles by themselves. The task of the instructor is to translate information to be learned into a format appropriate to the learner's current state of understanding. Curriculum should be organized in a spiral manner so that the student continually builds upon what they have already learned. In his more recent work, Bruner (1986, 1990) has expanded his theoretical framework. Kearsley (2003) summarizes the principles of Bruner’s constructivist model as follows: Readiness: Instruction must be concerned with the experiences and contexts that make the student willing and able to learn. Spiral organization: Instruction must be structured so that it can be easily grasped by students. Going beyond the information given: Instruction should be designed to facilitate extrapolation and or fill in the gaps. Constructivists view learning as the result of mental construction.  Students learn by fitting new information together with what they already know (North Central Regional Educational Laboratory, 2003). People learn best when they actively construct their own understanding. Using templates to teach database web application emphasizes learning by doing which motivates the student to learn and produces more effective learning outcomes than passive approaches such as traditional lecture. It provides learners the opportunity to construct new knowledge and understanding from authentic experience. Under this paradigm, students are able to do their homework assignments and course project more effectively. 3. COURSE PEDAGOGY The web driven database application is an integration course of other related IS courses. Students should have the knowledge in database development, SQL language, system analysis, and at least one high-level programming language background. The prerequisite courses are database systems, programming languages and system analysis. During the course students need to integrate previously acquired knowledge in the above courses to construct their new knowledge in database web application development. Course Organization The course instruction is organized in a spiral manner so that students continually build upon their knowledge based on what they have learned previously. The course starts with the review of database design with the emphasis on the SQL language because all the relational databases speak SQL. The course introduces the JDBC connectivity with Oracle applications including insertion, deletion, update, and selection. The four applications make up the pattern for all the subsequent topics in the course. The value of the JDBC API is that an application can access any source and run on any platform with API (Application Programming Interface). With JDBC Java can be used as a host language for writing both web and non-web database applications. Therefore, the four JDBC applications (insertion, deletion, update, and selection) are fundamentals of the course. To facilitate an understanding of the structure of the course, a brief synopsis of the course is provided below. In order to remain consistent with the pattern, the author restricts the following coverage as to the most important topics in the course. Review Oracle database development process and SQL Create Oracle applications using JDBC connectivity in Oracle Create GUI Oracle applications Deploy Oracle applications on the Web server using JSP Utilize JavaBean components Create and storePL/SQL program units on the server Deploy PL/SQL applications on the web server Design and develop e-business projects The course project is an e-business application that summarizes the course contents of the quarter. The students are challenged to develop a web driven database application to address the information needs of a business enterprise. Students are responsible for defining an e-business problem, designing a solution to that e-business problem, and implementing and documenting their solution. Course Templates Program templates are typical database programming examples prepared by the instructor for the class. They are developed for each of the following course topics and course project.  The typical five sets of templates are created. Each set includes insertion, deletion, update, selection applications. The 5 sets of the templates are listed as follows: JDBC applications JDBC GUI applications JSP/Servlet Deployment PL/SQLProgramming PL/SQLWeb deployment JDBC Template Example Program templates are utilized for introducing basic concepts to students. They should be as brief as possible using typical database applications. There are seven steps in each JDBC program to querying databases for both web and non-web application. They are listed as follows: Import the java.sql package Load and register the Driver Establish connection Create a statement Execute a statement with embedded SQL/PL/SQL Retrieve the results Close the statement and connection The following JDBC template file shows how to list all the names as output from the Employee table in the database to the non-web console. import java.sql.*; class Employee { public static void main (String args [ ] ) throws SQLException { // Load the Oracle JDBC driver DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); // Connect to the database Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@hostname:1521:sidname", "username", "password"); // Create a Statement Statement stmt = conn.createStatement (); // Select the ENAME from the EMP table ResultSet rset = stmt.executeQuery ("select ENAME from EMPLOYEE"); // Iterate through the result and print the employee names while (rset.next ()) System.out.println (rset.getString (1)); //Close objects stmt.close; rset.close; conn.close; } //end main } // end class Teaching Suggestions Templates utilized in the course are typical database application program examples developed by the instructor. During the class, the instructor presents, discusses, and demonstrates these templates which are uploaded on the website. She explains the syntax of database connectivity, the embedded SQL, and the way the template works in the computer. Students are encouraged to download the templates and run them before they start their homework assignments. Given the appropriate connectivity resources and programming templates, students can learn both non-web and web programming to create their own Java and Oracle database applications using JDBC connectivity. The four steps utilized repetitively to teach each topic of the web application development course are summarized as follows: Step 1. The instructor demonstrates application templates, explains how they work and summarize the features of them in the class. Step 2. Students download and run the templates on their computer by themselves. Step 3. Students internalize the templates Step 4. Students modify the templates to their programs. 4. STUDENTS' RESPONSE The students' response to this course has been very positive, and most have rated the class among the most valuable course they have completed. Although sometimes the students complain that there is too much work involved, they have consistently appreciated the application of the theory that they learn in the classroom, i.e., taking an entire system through design, implementation, operation, and documentation, and have often told the instructor that this course is exactly the kind of training they should have. 5. CONCLUSION The course templates provide a framework of web database application development within which students can learn fundamentals. The paper concludes that teaching web database applications with templates is an effective approach to accelerate learning. It reduces the amount of time for finishing the assignments and emphasizes an active way to learning by doing. Given a project template students can produce the high quality course projects. As a project is developed, learning productivity increases, since students can categorize and understand more detailed analysis and requirement better. The project template sets up the project criteria for students as a concrete example. It is also a way to keep communication between the instructor and the students. The term project further reinforces the fundamentals. All the templates also provide flexibility to the instructors who adopt them. They can choose the topics according to the students’ background. In addition, the template can be modified to emphasize significant special case for the specific industrial databases. The development of this teaching approach has been a real learning experience for the author. The author hopes that this paper will provide some suggestions to those who are or will be teaching a database web application course. 6. REFERENCES Bruner, J., 1960, "The Process of Education." Cambridge, MA: Harvard University Press. Bruner, J., 1966, "Toward a Theory of Instruction." Cambridge, MA: Harvard University Press. Bruner, J., 1986, "Actual Minds, Possible Worlds." Cambridge, MA: Harvard University Press. Bruner, J., 1990 "Acts of Meaning." Cambridge, MA: Harvard University Press. Kearsley, G., Constructivist Theory (J. Bruner), "Explorations in Learning & Instruction: The Theory Into Practice Database." 2003. http://tip.psychology.org/bruner.html. Libby, R. 1981, "Teaching the introductory tax course: A new paradigm. The Journal of the American Taxation Association 17" (Spring): 95-103. North Central Regional Educational Laboratory, Constructivist Model for Learning, 2003 http://www.ncrel.org/sdrs/areas/issues/content/cntareas/science/sc5model.htm.