From Demand to Supply: Teaching the Net Generation Donna Hiestand Tupper† Andrew Beiderman‡ Mathematics, Computer Science, Internet and Multimedia Technology Department, Community College of Baltimore County, Essex Campus Baltimore, MD, 21237, USA Abstract What began as a means to offer a course on a new technology has expanded to several courses, a certificate program, an associate's degree program and more options to come. This paper discusses how the expanding Internet Technology field has created a new direction for computer science and computer information systems at CCBC Essex. Keywords: Internet technology, certificate and associate degree programs, server-side scripting, NSF-ATE 1. BACKGROUND Ten years ago, when people needed phone numbers, they consulted the Yellow Pages. Now, they consult yellowpages.com. When people needed directions, they requested a map. Now, they go to mapquest.com. The Internet has revolutionized how people get information, how they communicate, and even how they do their shopping. In a relatively short period of time, it has infiltrated many aspects of our lives. When the Internet first became popular in the mid 1990's, the Community College of Baltimore County, Essex Campus (CCBC Essex) began offering an introductory course called Information Seeking through the Internet. As a general education course, the primary objective of this course was to teach students about this emerging technology. Students learned how to find information, communicate via email and create very basic web pages. Some of the ethical issues involving the Internet were also addressed in this course. Currently we offer 6 to 8 sections of this course each semester. As noted in the Occupational Outlook Handbook from the Bureau of Labor Statistics, businesses look for programmers with a technical specialization in areas such as client/server programming, and multimedia technology, as well as business applications of Internet technologies (Veneri 1999). With the increasing demand for Internet related knowledge, and an even further demand from industry for employees with Internet related skills, a second course on Internet Programming was developed and first offered in spring 1999, when our Internet and Multimedia Technology certificate program was created (Sorkin 2000). 2. INTERNET PROGRAMMING COURSE ________________________ Although it requires no prior programming experience, Internet Programming is a course that teaches beginning computer science and computer information systems students fundamental design principles and basic programming concepts. Students first learn about Americans with Disabilities Act (ADA) guidelines, copyright law and website design/organization. Then students proceed to learn advanced HTML. Topics include nested tables, forms, frames and image maps. Students are expected to understand file hierarchy and maintain an organized website. After the HTML portion of the course, students are exposed to JavaScript. For many students, this is their first exposure to programming concepts. Concepts covered include loops, conditional statements, pop-up boxes, arrays, functions, scoping rules and decision structures. Though students are not required to write any scripts of their own, they are expected to understand scripts written by their instructors and modify them to do various tasks. For example, a popular script for students involves creating advertising banners. A faculty member has written a script that scrolls through 3 banners. Students are expected to modify the existing script to scroll through 4 banners. This gives students a working example involving a simple for loop and an array. Once students understand the basic concepts of for loops and arrays, they are given more challenging scripts to modify. One example is an assignment to create a self-grading multiple-choice quiz. This requires students to be able to work with arrays, single for loops and nested for loops. Many students have created quizzes on HTML and JavaScript to be used at ELCI (Essex Learning Computer Science and Internet), a computer science tutorial website (Tupper 2000). The core list of topics covered, included in Figure 1, and has remained similar to the original course. Through the years, students have entered these courses with more advanced skills. They now know at least something about the Internet and how to find information. This has given instructors in the Information Seeking through the Internet course the opportunity to cover more HTML and web page creation. Consequently the Internet Programming course has been given room to expand its selection of topics to include optional topics such as Cascading Style Sheets or Perl. However, this has not satisfied students. They want to learn more, but initially we were not prepared for that (Tupper 2001). As our Internet and Multimedia Technology (IMMT) program has grown, we have developed a well-defined block of courses for our Multimedia Technology students but have realized our Internet Technology track is lacking in similar structure and cohesion (Harmeyer 2001). We had been requiring our students to take the first two Internet courses described above and then finish their certificate or associate's degrees by taking some programming courses (Java, C++, Visual Basic) and multimedia courses. But we are realizing that our students need more courses dedicated to becoming a web developer. They need to have hands on experience creating dynamic web pages and need to be familiar with the technologies being used in the field. They also need to have a better understanding of servers and be able to work on different platforms, whether it is Windows, Unix or Linux. 3. INTERNET PROGRAMMING II COURSE We are currently working to better define our Internet Technology track and a new Internet Programming II course is our first step towards that goal. Once the decision was made to work on developing a course to handle server-side applications, we needed a server on which to run these applications. Using a server where each student has access through his/her account could potentially cause some problems. Although students need to learn from their mistakes, these mistakes can't be allowed to interfere with other students' needs. Working with our networking staff, we set up a small Linux server to be used by students that would be able to run CGI applications. We also used a program called cgiwrap to limit the potential problems and security risks that are inherent to CGI programming. We have had very few problems once the server got up and going. The Internet Programming II course was originally intended to focus on Perl/CGI. With technology rapidly changing, it quickly became apparent that the syllabus needed to be more adaptable. Currently, the course covers mostly Perl/CGI programming along with introductions to Active Server Pages and XML, but the syllabus is flexible to meet the demands of changing technology. Students who enter this course are expected to have had some previous programming experience so that they are familiar with the basic structure and syntax of programming languages and have worked with variables and control structures. Topics covered are listed in Figure 2. One section of this course was offered for the first time in spring 2001 and we were impressed with the results. The course begins with an introduction to the syntax of Perl, explaining the concept of CGI programming and demonstrating how to configure the scripts to run on the Linux server where each student is given an account. Then the focus is on the contrast of client-side versus server-side scripting. We start off by teaching them how to set and read cookies using JavaScript and then show them how to do the same in Perl. Then we go on to processing forms with CGI scripts so that the information the users have filled out can be stored on the server and recalled when needed. In the process, the students learn to read and write from files and learn about data verification on both the client-side and server-side. After the students are comfortable collecting and retrieving data and creating some dynamic web pages with the information, they move into database interaction. The students are given accounts for the mySQL server we have running on the Linux server and each gets a database that they will build and work with. Students learn the basic SQL commands to create tables, insert data, and perform queries and then use those queries to generate more dynamic web pages. The general focus is on having them create some sort of catalog page that generated the contents of their database and then write scripts that allow them to look at individual records in the table, search for records that match certain criteria, or sort the records in the table on a particular key. We then discuss the same database topics implemented with ASP and introduce them to VBScript. Finally, students are given a brief introduction to XML and how it is being used. 4. PROBLEMS AND PITFALLS There have been some lessons learned along the way and some potential problems. First of all, it is essential to get support from the technical staff and it was important for this program of study to have its own server. Currently the server is only set up to handle CGI programming, so a free site was found to host our ASP scripts. It would be beneficial to have a second Windows server as well. Currently, the member of our faculty who taught Internet Programming II is creating and maintaining user accounts and handling the database administration. For the small number of students we have currently, this has not been a cumbersome task, but it is certainly something to consider. We do need to hire additional faculty, but current economic conditions have made this difficult. Another problem that has been encountered is training. We have been teaching this on the "bleeding edge" without being experts ourselves, and it certainly takes some training to get up to speed. Faculty have received training through workshops at various conferences and courses at local schools. We have found that our students don't really seem to mind this and it actually seems to create a more cooperative and interactive classroom environment. After offering the Internet Programming II course for one semester, it is becoming apparent that this could easily be broken apart into several separate courses and we find our students now wishing there was an Internet Programming III course. Our basic goal at this point is to give the students a foundation in server-side programming so that they can apply their knowledge to whatever particular technology is being used to implement it. Figure 3 shows enrollment by semester in these 3 Internet Technology courses. Figure 4 lists requirements for the Internet Technology certificate option. 5. FUTURE PLANS Beginning with the fall 2001 semester, we will be offering a third certificate option, in addition to the current Internet Technology and Multimedia Technology options. Dedicated to teachers of grades K through 12, the new Instructional Multimedia certificate option is designed to teach teachers how to use and create technology for the classroom. Several of our Internet courses are part of this new initiative. In addition, an E-Commerce program is also currently being developed and these courses will be a fundamental part of that program as well. 6. CONCLUSION A new certificate program in Internet and Multimedia Technology has had wide-ranging effects upon students and faculty. There continues to be a demand (both from the students and the industry) to develop more courses in the emerging Internet Technology field. 7. ACKNOWLEDGMENT This material is based upon work supported by the NSF under Grant No. DUE - 9950056. Opinions expressed are those of the authors and not necessarily those of the National Science Foundation. 8. REFERENCES Harmeyer, Kathleen, 2001. Welcome to the Internet and Multimedia Technology Website. [Aug. 20, 2001]. WWW: http://student.ccbc.cc.md.us/immt Tupper. Donna, 2001. CMSC 157 Internet Programming. Online. Internet [Aug. 20, 2001]. WWW: http://student.ccbc.cc.md.us/~dtupper/ Online157/framepgsamp.htm Tupper, Donna, 2000. Essex Learning Computer Science & the Internet (ELCI) (Multimedia too!). Online. Internet. [Aug. 20, 2001]. WWW: http://student.ccbc.cc.md.us/elmo/coverpg2.htm Sorkin, Sylvia, Barbara Mento, Donna Tupper, and Kathleen Harmeyer, 2000, "Curriculum Development in Internet and Multimedia Technology." ACM 31st SIGCSE Proceedings, March 8-12, 2000, pp. 50-54. Veneri, C., 1999. Computer Programmers. 1998 - 1999 Occupational Outlook Handbook. [Aug. 21, 2001]. WWW: http://stats.bls.gov/oco/ocos110.htm † dtupper@ccbc.cc.md.us ‡ abeiderman@ccbc.cc.md.us