Integrating Project Component into the Introductory Computer Science and Information Systems Curriculum Yana Kortsarts ykortsarts@mail.widener.edu Jeff Rufinus rufinus@cs.widener.edu Computer Science Department, Widener University One University Place, Chester, PA 19013, USA ABSTRACT We present a way to integrate a project component into an Introduction to Computer Science 2 course – the second core course in the Computer Science and Information Systems curriculum. An academic service-learning form of participation in the project is presented and discussed. Our experience and assessment results of integrating a project component into the Introduction to Computer Science 2 course during the Spring 05 and Spring 06 semesters are reported and discussed. Keywords: research component, service learning, introductory computer science and information systems curriculum, pedagogy 1. INTRODUCTION Participation in research projects provides undergraduate students with valuable learning experiences and leads to an increase in self-confidence. Involvement in research activities enables students to develop critical thinking and to gain problem solving skills (Robila, Kumar, Baldwin and Congdon 2005; Robila, Kumar, Trajkovski, Popyack, and Poger 2005; Joslin, Lumala, Riggs and Sazawal 2005). The integration of a project component into the introductory Computer Science (CS) and Information Systems (IS) curriculum helps to make a connection between curriculum and research at the early stages of the students’ career. The incorporation of a project component into an introductory course provides undergraduates with enriching experiences that help to enhance oral and written communication skills, develop professional attributes and collaboration skills, and provide an opportunity to improve the effectiveness of teaching and student learning. In this paper we suggest a way to integrate a project component into the Introduction to Computer Science 2 course – the second core course in the CS and IS curriculum. An academic service-learning form of participation in the project is presented and discussed. We report and discuss our experience and assessment results of integrating a project component into the Introduction to Computer Science 2 course during the Spring 05 and Spring 06 semesters. 2. COURSE CURRICULUM Our department offers an undergraduate program leading to Bachelor of Science degrees in both Computer Information Systems (CIS) and Computer Science (CS). Both majors take the two-course series Introduction to Computer Science 1 (CS 1) and Introduction to Computer Science 2 (CS 2) in their first year. The CS 2 course combines a thorough introduction to the C language with a survey of advanced computer science and information systems topics such as data structures and algorithms, database management, artificial intelligence, principles of computer networks, cryptology and computer security, compiler design, etc. One of the goals is to make students familiar with the CS and IS technical elective courses that are offered by our department. Supervised lab includes a sequence of exercises in C programming language, covering strings, arrays, files, pointers, and structures, pointers to structures, and arrays of structures. It also includes introductory exercises supporting the advanced topics. The structure of the course is three hours lecture and three hours laboratory, four credits. 3. PEDAGOGICAL APPROACH Prior to Spring 05, the course was taught in the traditional way: all material was covered by the instructor and the main goal was to cover a broad spectrum of advanced computer science and information systems topics along with intensive coverage of the C programming language. While this approach was accepted by students, we realized that the structure of the course could potentially allow for more active learning and active participation; in Spring 05, the project component was integrated into the course with an optional service-learning form of participation. In Spring 06, the non service-learning form of participation was the sole option. The idea of the project component is to give students an opportunity to learn about an advanced computer science and information systems topic independently and present the results of the self-learning. The main goal of the presentation part is to engage students in the knowledge exchange process. Both forms of participation (service-learning and non service-learning) in the project component will be discussed in details in the paper. 4. PROJECT COMPONENT GOALS AND OBJECTIVES Our teaching approach realizes the following needs: (1) to help students to make a connection between curriculum and research at the early stages of the students’ career; (2) to provide undergraduates with enriching experiences that help to enhance oral and written communication skills and collaboration skills; (3) to provide opportunities to learn to read professional literature; (4) to provide an opportunity to improve the effectiveness of teaching and student learning; (5) to contribute to intellectual growth in students; and (6) to engage students in active learning and knowledge exchange activities. The integration of the project component into the CS 2 course meets the following objectives: 1. To develop oral and written communication skills. 2. To develop professional attributes and collaboration skills. 3. To enhance learning of the course material. 4. To cover social and ethical implications of computing to give students an understanding of a broad range of issues in this area (this objective for Spring 05 service-learning teams only) 5. PROJECT COMPONENT STRUCTURE AND IMPLEMENTATION: NON SERVICE-LEARNING FORM OF PARTICIPATION To implement the project component, the class is divided into groups of 2-3 students and each group is asked to choose a topic from the list provided that includes the following options: * Learning About Cryptology * Learning about Computer Organization * Learning About Data Structures and Algorithms * History of Computing * Learning about Computational Science and Scientific Computing * Learning about Networking, Internet and HTML * Learning about Bioinformatics * Learning about Artificial Intelligence and Robotics * Learning about Programming Languages * Learning about Software Engineering * Learning about Parallel Computing * Learning about Operating Systems * Learning about Database Systems We ask students to provide at least 3 different choices to avoid duplicating topics. The structure of the project is as follows: (1) self – learning about the chosen topic; (2) understanding the main concepts related to the chosen topic – students are required to provide a description of the topic and the definitions of the main concepts; (3) completing a programming requirement – students illustrate their understanding of the topic using several examples, including at least one example of a computational implementation using C programming language (this part was added in Spring 06); (4) learning to read professional literature, including learning about ACM and IEEE digital libraries; and (5) collaborating through team component work. Assessment of the project component consists of: (1) weekly progress reports – students are required to submit a short written report and participate in the short oral discussion of their progress weekly during the lab time; (2) oral presentation – at the end of the semester, each team is required to give a 50 - minute oral presentation that has the following structure: 30-35 minutes presenting the description of the project, definitions of the main concepts, and examples, and 20-15 minutes of open discussion: each team is required to prepare a mini-quiz to allow the exchange of knowledge; and (3) end-of-semester student surveys. During Spring 05 semester, all students participated in the poster session during the University Project day. The project component comprised 15% of the Final Grade in Spring 05 and 20% of the Final Grade in Spring 06. In Spring 05, 16 students were enrolled in the CS 2 course, and 7 students (3 teams) decided on the non service-learning option of participation. The topics that were chosen by the non service-learning teams were: Learning about Cryptology and Learning about AI (2 teams worked separately on this project; we avoided the problem of repeated topics in Spring 06). In Spring 06, 11 students were enrolled in the CS 2 course. Non service - learning was the only form to participation in the project component during that semester; 4 teams were created and students worked on the following topics: Learning about Data Structure and Algorithms, Learning about Cryptology, Learning about Computer Organization and Learning about Networking, Internet and HTML. Learning about Data Structure and Algorithms project included the programming implementation of the simple guessing game that illustrates notions in algorithms (like worst case input) and the power of randomization in algorithms (Kortsarts and Rufinus 2006). 6. PROJECT COMPONENT STRUCTURE AND IMPLEMENTATION: ACADEMIC SERVICE-LEARNING FORM OF PARTICIPATION Adding a service - learning component to the Computer Science and Information Systems courses gives a wonderful opportunity for students to learn and develop analytical and social skills through interaction with people of diverse cultures and lifestyles; it can help students increase their sense of self-efficacy and assist them in seeing the relevance of their academic subject to the real world. Service- learning experiences can build self-confidence and allow students to test their career choices, can provide a valuable training in citizenship by exposing students to social issues, and can connect students with the community outside the university in a way that benefits all. There are different models for integrating service - learning components into courses. “Learning by teaching” model was applied in the CS 2 course during Spring 05 (Eyler and Giles 1999; Sanderson and Vollmar 2000; Adams and Runkles 2004; Furco and Billing 2002; Tan and Phillips 2005; Sanderson 2003; Saulnier, White, Cooper and Sohcot 2004; Saulnier 2003; Lazar 2003; Bishop-Clark 2005; Taylor 2005; Campus Compact’s Introduction to Service-Learning 2003). The academic service–learning faculty development program in our university assists faculty with the development and implementation of academic service-learning opportunities, by providing faculty with resources and experiences that enable them to do one of the following: (1) convert a traditional course to an academic-service learning course; (2) modify and enrich a course that is already being offered with an academic service-learning component; and (3) develop a new course employing an academic service-learning methodology. The development and enhancement of courses with academic service-learning experiences is consistent with our university commitment to creating a learning environment where curricula are connected to societal issues through civic engagement. The program is a two-semester experience and the first cycle was started in Fall 04. Nine students decided to participate in the academic service-learning in Spring 05; both options had similar requirements but slightly different implementations: whereas students in the non service-learning groups presented to their peers, students in the service-learning groups presented to middle school students. To implement the service-learning component, the “learning by teaching” model was chosen. Students were asked to create teams and chose a topic from the list provided that included the following: 1. The Computer: What is Inside? 2. Cryptology for Kids. 3. Networking, HTML and Internet. 4. Artificial Intelligence in Games Three teams were created and the following topics were chosen: The Computer: What is Inside?, Networking, HTML and Internet, and Artificial Intelligence in Games. Each team was required to learn and present the topic to middle school – aged children in the after - school program at a local middle school. The first visit to the school included an introduction to the project; all teams gave a short description of the topic that was to be covered during the semester. In addition to the initial meeting, each team visited the school 3 times and each visit covered a portion of the chosen topic. The teams visited the school during the last hour of the three - hour lab period. The school visits requirements included the following: (1) a lesson plan for each visit; and (2) documentation in the journals including activity description, list of handouts, and reflection part. The last school visit at the end of the semester included the summary of the project and reflection, and was conducted jointly by all teams. One of the non service-learning teams that worked on the cryptology project joined the final meeting and introduced to the middle school children Caesar cipher – one of the simplest examples of the symmetric ciphers. During Spring 05, the CS 2 course was jointly taught by the authors of the paper and this allowed the supervision of the service-learning and non service-learning teams at the same time. In the one case that the visit to school was not supervised by the course instructor, students were required to report to the after-school program supervisor. The students’ experience was discussed after each visit during a short reflection meeting. To assess the service-learning experience, students were required to submit their reflection journals, a list of all handouts and quizzes, a short description of the chosen topic and the definitions of the main concepts, references, and summary of the school visits along with the lesson plans. Students also were required to prepare a poster and participate in the poster session during the University Project day and give a final oral presentation in class. We also conducted pre and post surveys of the students and post surveys of the middle school children and community partner. 7. ASSESSMENT RESULTS Student Post Survey Analysis, Spring 05 A short students’ post survey was designed by the course instructors to assess the service-learning experience. Below we present the results of the survey. The first question was to rate the accomplishment of each of the project component objectives using the scale 1 through 5, where 1 indicates “not accomplished” and 5 indicates “accomplished completely”. The average for each objective is presented in Table 1. One might notice the low average for the final question. Informal discussion with students revealed that they saw the material gained through self-learning as separate from the material presented in class. We made sure this question was clearer in Spring 06. The rest of the questions were open – ended questions and the results are presented below. Quotes are reproduced exactly as received. Goal Average Rates from 1 to 5, 1-not accomplished, 5- accomplished completely Developing oral and written communication skills 4 Covering social and ethical implications of computing to give students an understanding of a broad range of issues in this area 4 Developing professional attributes and collaboration skills 3.85 Enhancing learning of the course material 2.71 Table 1: Spring 05: Accomplishment of the Project Component Objectives * Most positive experience during the service-learning: * “talking to students, learning about them” * “see that kids take to the material so quickly” * “interaction with the students” * “talk to students about my favorite topics” * “teaching the class” * “learning to be a better speaker and how to organize material” * Most negative experience: * too short, more time needed * Did the project meet your expectations? Please explain. * Exceeded (1) * Met expectations (6): * “It was a good learning experience and developed many skills” * “It was a lot of fun, but also learning experience” * “We got to teach students, and use hands-on tools” * “I felt the kids actually paid attention and learned something” * Didn’t meet expectations (0) * Would you like to participate in a similar project again? * Yes (6) * No (0) * Don’t know (1) * Suggestion for improving service-learning component: * Reflect our grade more * Smaller, more concentrated groups * More choices in subjects * More time to teach * To think about more suitable topics for the middle school students age All of our students (service-learning and non service-learning teams) participated in the post survey that was conducted by the faculty development program in all courses with the service-learning component and was developed by D. Diaz, A. Furco, and H. Yamada, University of California at Berkeley, July 1999. The results of this post survey are presented below. * Do you plan to continue your service activities with this agency? Please explain why and why not. * YES: “It’s a good learning experience, benefits me and the students”, “I really enjoyed the experience. I learned a great deal from it”, “It is a good school” * NO: “I am moving on to the other things” * Did your participation in the service-learning component enhance your understanding of the course material? Please explain why or why not. * YES: “Having to teach requires me to understand it much better”, “I learned some HTML” * NO: “Too basic”, “Didn’t deal with the topics of the course”, “Too advance for some…” * Identify three important things you have learned in this class since becoming involved in the service-learning component of this course: * How to speak to a group * Leadership * More about my major * HTML * Teaching skills * Patience Unfortunately, for the non service-learning groups we did not get reliable data, which we will take in account for the next iteration. We also developed a post survey for the middle school children, and we present the results below. The first question was to choose the favorite topic, and the summary of the answers is given in Table 2. Favorite Topic (more than one topic could be chosen) Number of Students (total number 12) Computer Organization 0 HTML, Networking and Internet 7 (2 – HTML, 5 – Both Topics) Artificial Intelligence in Games 10 (5 – AI, 5 – Both Topics) Table 2: Spring 05: Middle School Children Survey. Favorite Topic The second question was to choose the favorite learning activity and the summary of the answers is given in Table 3. On the question would you like to participate in a similar project in the future? we got the following answers: * Yes: 7 * No: 1 * Not Sure: 4 Student post survey analysis, Spring 06 (non service-learning form of participation only) Favorite learning activity (More than one activity could be chosen) Number of students Solving puzzles related to the topic 8 Working with the website www.howstuffworks.com 2 Working with the handouts prepared by the students 3 Playing and analyzing various games 8 Creating HTML files 8 Assembling and disassembling computer 0 Table 3: Spring 05: Middle School Children Survey. Favorite Learning Activity Goal Average Rates from 1 to 5, 1-not accomplished, 5- accomplished completely Developing oral and written communication skills 3.6 Developing professional attributes and collaboration skills 3.2 Enhancing learning of the course material 3.6 Table 4: Spring 06: Accomplishment of the Project Component Objectives As in Spring 05, the first question was to rate one of the project component objectives, and we also asked them to provide a short explanation to their answers. The averages for each objective are given in Table 4. Here are the common comments that we receive from the students for the first objective - developing oral and written communication skills: * “learned how to speak in front of people, and developed an affective power point” * “we had to be clear to our audience “ * “a 40 minutes presentation cannot develop all of the oral and written skills needed, instead many smaller presentation would work better”. A few students mentioned that they had developed these skills in previous schools or in different courses and from this point of view the project component didn’t have a sufficient impact. For the second objective - developing professional attributes and collaboration skills, we received the following comments: * “collaboration was the key to the presentation” * “learn how to take a huge presentation and accomplish finishing it with my group members” * “project was essentially broken up into parts and done by different members” For the third objective - enhancing learning of the course material, students reported that they “learned material in depth”, mentioned the positiveness of the inclusion the programming part in the project component, and the possibility to elaborate on the project topic in the future curriculum, and the benefits of the possibility to “quickly grasp fundamentals of another topic”. At the same time a few students mentioned that their topic didn’t pertain directly to the course material and the difficulty of the chosen topic. Most positive experience: * “learning other applications of my major” * “working as a group – was not as monotonous and boring” * “learning how to speak in front of others effectively and invoke interest in audience” Most negative experience: * “difficulties working as a team” * “the oral presentation part of the project, and preparing power point presentation all members of the team together” Would you like to participate in a similar project again? * Yes (8) * No(1) * Don’t know (2) Suggestions to improve the project component: * “have a wider range of topics, or allow students to propose their own topics” * “individual presentations instead of group” * “more class time” Did project component meet your expectations? (met expectation (11)): * “I enjoyed the project, it was much more beneficial than a final exam, I learned how to research and find information about the topics that interested me” * “It helped me to get to know my classmates” * “Taught me quite a lot to help me later when I will present at Senior year” * “Wasn’t as bad as expected, was reasonable amount of work” * “Yes, it was fun” 8. RESULTS, CONCLUSIONS AND FUTURE PLANS Based on the presented data from the students’ survey during Spring 05 and Spring 06, we could state that the integration of project component into CS 2 course was successful. Students were engaged in active self-learning of advanced computer science and information systems topics, and gave a final oral presentation that provided an opportunity for exchange of knowledge. Certain improvements were made in Spring 06 taking into account the experience of the Spring 05 semester. The project component was more structured in Spring 06, since in Spring 05 we noticed that students were “lost” in the first few weeks; they didn’t know where exactly to start, and they required a lot of help at the starting stage of the project. In Spring 06, we devoted the first few weekly reports time to explain to students how to start a project, to help them write objectives and goals for the projects, and to make students familiar with Web resources and professional digital libraries, namely the ACM and IEEE digital libraries. In Spring 06, the weekly requirements to present a project progress report were enhanced to avoid the situations where most of the project was done at the end of the semester before the final presentations. We also increased the grade weight of the project (20% in Spring 06 compared to 15% in Spring 05) and we did not allow duplication of the topics, which provided a possibility to cover a broader spectrum of topics. One of the goals of the project component was to involve undergraduate students in research activities at the early stages of their development and to provide an opportunity to continue to work on the research projects after finishing the course. The goal was accomplished successfully to a certain extent; and several students continued to work on more involved projects during Summer 05 and several students are working on the projects at the current time. One of the students from the Spring 05 class was accepted to participate in the undergraduate students’ poster session during a professional meeting. We are planning to continue the integration of the project component in the Spring 07 semester, and we are planning to return to the model that was offered in Spring 05. We will provide two different ways to participate in the project component – academic service-learning and non service – learning. We are planning to continue to work on improvement of the project component: for the service-learning teams we would work on proposed topics and make sure that the topics are suitable for the middle school students, and students will have an opportunity to spend more time with middle school students. Currently, we are considering proposing the following topics for the service-learning groups: (1) Learning how to program with the Alice programming environment (Dann, Cooper and Paush 2006). (2) Learning about Robotics with PyroRobotics (Python Robotics) (Blank, Kumar, Meeden and Yanko 2003; Blank, Kumar and Meeden 2003). (3) HTML, Networking and Internet (this topic was well-liked during the previous implementation). In all topics, the emphasis will be on hands-on activities. Teaching programming using the Alice programming environment and PyroRobotics (Python Robotics) will provide an opportunity for CS and IS students to apply and enhance their programming skills and knowledge learned in class and will help to accomplish the objective of enhancement of learning course material, which was accomplished only partially in the previous implementation. We also would like to improve the reflection and assessment parts of the service-learning component. For the non service-learning teams we will convert the weekly progress reports to short 5-10 minute presentations in front of the class, which will allow more practice with written and oral skills and also will provide an opportunity to introduce the topic at the early stages of the project and to improve the exchange of knowledge. We also will allow students to propose their own topics according to specific requirements that will be provided at the beginning of the semester to make sure that the topic meets the goal of covering a broad spectrum of advanced computer science and information systems topics. 9. REFERENCES Adams, Joseph Brian, Erica Runkles (2004) “May we have class outside?: implementing service learning in a CS1 curriculum”, Journal of Computing Sciences in Colleges,  19 (5) Bishop-Clark, C U.  (2005) “Problem-Based Service Learning in a 200-level Systems Analysis and Design Course”,  In The Proceedings of ISECON 2005, v 22 Blank, Douglas, Deepak Kumar, Lisa Meeden, Holly Yanco (2003) ”Pyro: A python-based versatile programming environment for teaching robotics”, Journal on Educational Resources in Computing (JERIC) , Journal on Educational Resources in Computing (JERIC), 3(4) Blank, Douglas, Lisa Meeden, Deepak Kumar (2003) ”Python robotics: an environment for exploring robotics beyond LEGOs”, Proceedings of the 34th SIGCSE technical symposium on Computer science education Campus Compact’s Introduction to Service-Learning. Toolkit: Readings and Resources for Faculty (2003) Second Edition Dann, Wanda, Steve Cooper and Randy Pausch (2006) Learning to Program with Alice, Prentice Hall Eyler, Janet, Dwight E. Giles, Jr. (1999) Where's the Learning in Service-Learning? Jossey-Bass Furco, Andrew and Shelley H. Billing (2002) Service Learning: The essence of the pedagogy, Information Age Publishing Joslin, David, Ivan Lumala, Catrin Riggs, Vibha Sazawal (2005) ”Promoting undergraduate research in teaching-oriented colleges and universities”, Journal of Computing Sciences in Colleges, 21(1) Kortsarts, Y., J. Rufinus (2006) “Teaching the Power of Randomization Using a Simple Game”,?Proceedings of the 37th SIGCSE technical symposium on Computer science education Lazar, J. (2003) “Improving Web Accessibility Through Service-Learning Partnerships”. In The Proceedings of ISECON 2003, v 20 (San Diego) Robila, Stefan A., Amruth N. Kumar, Doug Baldwin, Clare Bates Congdon (2005) “Considerations on undergraduate computer science research”.  Journal of Computing Sciences in Colleges, 20(5) Robila, Stefan A., Amruth N. Kumar, Goran Trajkovski, Jeffrey L. Popyack, Sofya Poger (2005) “Undergraduate research: students' rewards and challenges.” Journal of Computing Sciences in Colleges, 21(2) Sanderson, Pete, Ken Vollmar (2000) “A Primer for Applying Service Learning to Computer Science”, Proceedings of the 31th SIGCSE technical symposium on Computer science education Sanderson, Pete (2003) “Where’s (the) computer science in service-learning?”, Journal of Computing Sciences in Colleges, 19(1) Saulnier, B M, B A White, R L Cooper, and S C Sohcot (2004) “Service Learning in Information Systems”.  In The Proceedings of ISECON 2004, v 21 (Newport) Saulnier, B M.  (2003) “Creating Significant Learning Experiences in Systems Analysis and Design: Towards a Service Learning Paradigm”. In The Proceedings of ISECON 2003, v 20 (San Diego) Tan, Joo, John Phillips (2005) “Incorporating service learning into computer science courses”. Journal of Computing Sciences in Colleges, 20(4) Taylor, A S. (2005) “Student Reflection and Reading Reports in Service Learning: An Analysis of a Service Learning Course at Pace University, New York”. In The Proceedings of ISECON 2005, v 22 (Columbus OH)