We believe that more Computing faculty should spend some time in industry in order to experience for themselves the types of jobs their students are likely to take at graduation and throughout their careers. Each panelist has spent at least one sabbatical in industry and found the experience to be far more beneficial than anticipated. We all found that our sabbatical experiences helped us to (1) develop our skills, (2) discover and practice the skills that are currently being used in industry, (3) gain credibility with our students, (4) improve our understanding of the computing profession beyond software development, and (5) build relationships with local businesses. Many of us returned to the classroom thinking "I can't believe they let me teach college without any industry experience".
A significant percentage of new software development projects involve building interactive web applications. The technologies needed to develop these web applications are different from those used to develop desktop software. While many of the software development concepts associated with more traditional applications can be applied directly to web application development, many faculty are not as familiar with the particular languages and frameworks used for web application development.
The breadth-first approach to teaching introductory computer science is one way of dispelling the common misperception that programming is the sole task of the computer scientist. The breadth-first approach is particularly useful in courses for non-majors. Hands-on activities that make up laboratory assignments for these courses tend to focus on learning to program or simulations of program execution. These activities unfortunately fail to build on the foundations laid by a breadth-first approach, and serve to perpetuate the computer science = programming misperception. We have developed a set of laboratory activities which are based on what we call authentic computing tasks: everyday tasks that students want to know how to accomplish. Example tasks include image editing, operating system installation and configuration, and building home computer networks. Explicit connections are made between these authentic computing tasks and the computer science concepts being covered in the lecture portion of the course. The course has experienced dramatic increases in enrollment, and we have evidence that students see the connections, rather than coming to believe that performing computing tasks well is the essence of computer science.
The object-oriented paradigm is the most popular programming paradigm in use today. The benefits of object-oriented programming, such as polymorphism, inheritance, and support for encapsulation are well-known. However, smaller applications such as those typically assigned in a standard CS1 course cannot fully demonstrate the utility of the object-oriented approach. In this paper, we describe the use of an object-oriented ray-tracer in our CS1 course. This application is sufficiently large for the benefits of the object-oriented approach to be seen, and has the benefit of being intrinsically interesting and motivating to students. Students have successfully completed the tasks we have given them and have found the application to be challenging, yet interesting. The software and accompanying assignments are freely available to faculty wishing to use them in their courses.
Using their ValleySim and A Marriage of Cultures simulations as e-textbook prototypes, the authors explore four experiential subject positions or roles that textbooks of the future can create for students: student as reader, student as performer, student as author, and student as collaborator. Textbooks rooted in the epistemological traditions of print-based culture have traditionally permitted only one of these four roles for students: the passive reader. The authors argue that digital culture, which reflects an amalgam of oral and print societies, creates an opening for students to play central roles within textbook narratives while still retaining an unalterable narrative foundation rooted in a knowledgeable scholarly voice. The authors contend that e-textbook publishers who offer students active and creative roles within future textbook narratives will be able to maintain the value of textbooks as repositories of foundational content while offering students more empowering subject positions from which...
Web sites such as Gmail, Facebook and other Web 2.0 applications have changed the way that we think about web functionality. These sites behave more like desktop applications than traditional document-centric sites. Developing these interactive web applications using technologies such as AJAX is tedious, error prone and difficult to optimize. Development environments and tools for such applications lag behind the more mature tools available for languages such as Java. The Google Web Toolkit is an emerging technology that facilitates the integration of the powerful tools available for the Java platform into the interactive web world. The toolkit consists of tools that compile Java code into a combination of HTML and Javascript code; since the code is being written in Java, all of the tools available for Java development can be leveraged, such as the Eclipse IDE and testing tools such as JUnit. Utilizing a compiler to generate Javascript provides an opportunity for optimization that would be difficult without the use of the toolkit. In this workshop, participants will learn about the Google Web Toolkit, including the philosophy behind the toolkit, the GUI framework that it provides, and the methods available for interaction with remote services. Participants will be walked through the development of a simple "Stock Ticker" application that interacts with the Yahoo stock data service. Several other sample applications will be presented, including sample assignments given to students in a class focusing on applications of the GWT. An outline of the workshop is: • Introduction to the Google Web Toolkit (30 minutes) • Presentation and discussion of several applications built using the toolkit (30 minutes) • Development of the Stock Ticker application (1 hour) • Overview of the GUI Framework and server integration techniques (30 minutes) • Overview of a course on the GWT (15 minutes) • Questions/wrap up
One of the challenges of research in science education is storing, managing and querying the large amounts of diverse student assessment data that are typically collected in many Science, Technology, Engineering and Mathematics (STEM) courses. Furthermore, longitudinal studies across courses and ABET accreditation necessitate tracking students throughout their academic programs in which each course will have different types of data. Researchers need to manage, assign metadata to, merge, sort, and query all of these data to support instructional decisions, research and accreditation. To address these needs we have constructed a database to support both data-driven instructional decision making and research in STEM education. We have built upon existing metadata standards to define an extensible Educational Metadata Language (EdML) that enables assessments to be tagged based on taxonomies, standard psychometrics such as difficulty and discrimination, and other data to facilitate cross-study analyses. Once a collection of assessment data are available, faculty can examine their assessment data to evaluate historical trends, analyze the effectiveness of pedagogical techniques and strategies, or compare the performance of different teaching and assessment techniques within their course or across institutions.
Much has been made of the transition of the instructor's role from "Sage on the Stage" to "Guide on the Side", focusing on active and collaborative learning in the classroom. The process of acquiring knowledge from textbooks has largely remained unaffected by this transition. Our work on electronic textbooks (e-textbooks) has focused on building e-textbooks that extend the reach of collaborative and active learning techniques to the reading process. This paper describes the outcomes of using our e-textbook in a one semester course on programming language design and implementation, including the impact on student learning, the degree to which they took advantage of the e-textbook's collaborative and active features, and their reaction to the use of the e-textbook as the primary text resource.
Purpose - This paper's goals are to motivate the design of an electronic textbook that seeks to transform how textbooks are used inside and outside the classroom. In particular, it seeks to show that merely creating an electronic form of an existing paper textbook is not a sufficiently motivating condition for instructors and students to move from paper to electronic textbooks, and doing so misses much of the opportunities presented by electronic media to enhance learning from textbooks.Design/methodology/approach - An electronic textbook application running on Microsoft's TabletPC operating system was implemented and used as the primary text in three offerings of an Introductory Computer Science course, with one section used as a control group. Student learning was assessed via course examinations and overall grades, and student perceptions and use of the textbook were assessed via surveys.Findings - No significant differences in student learning or textbook usage were observed between students using the electronic and paper versions of the textbook. The surveys indicated a generally neutral reaction to the electronic textbook. Research limitations/implications - The number of students used to evaluate the electronic textbook's effectiveness was small, and the text was not evaluated in multiple types of courses.Practical implications - Instructors often teach and assess students in such a way that reading the text is not required for success. If instructors continue to assign textbooks, a way must be found to motivate their use and improve the way students use them.Originality/value - This paper gives guidance to those seeking to design and implement electronic books in an educational setting.
Electronic textbooks have the potential to significantly improve upon the way students use textbooks to learn. We have developed a prototype electronic textbook application running on the tablet PC platform and used this application in an introductory comput er science course. This poster/demonstration will describe the features of our electronic textbook. Several tablets running the software will be available for attendees to interact with the software and to give suggestions for further improvement.
Digital media offer opportunities for more effective textbooks than paper textbooks, including flexibility of content, integration with outside resources, and collaboration between students and the instructor. Platfonns such as the Tablet PC ameliorate some of the inherent disadvantages of electronic media, such as their lack of portability and discomfort while reading. We have implemented an electronic textbook on the Tablet PC platform that seeks to use the digital nature of the text to enhance the learning process, rather than merely mimicking paper textbooks. Our application was tested in an Introductory Computer Science course, with one section of the course using a paper textbook and a second section using our textbook application with the same text. We outline the details of our electronic textbook application and describe results of using the application in a classroom environment. We further suggest strategies for successfully integrating a new technology into a classroom environment.
Many instructors use the Web to deliver information to students. However, serious instructional development requires continuous fine-grained feedback from students. Instructors may want to use the Web to collect data from students, but integrating the Web with databases is difficult for those who are not database experts. We therefore created a general-purpose Web data collection and processing system. Questions and their responses (a "survey") are stored in a database, allowing instructors to easily analyze the data gathered with online form. To create a "survey" the instructor need only define the questions and possible responses, including free responses. For most surveys, no new code need be written. The system generates forms to collect data and stores the responses in a database. The system is very flexible since the data can include HTML, allowing the system to perform additional processing using JavaScript or other HTML techniques. The system also includes several tools to analyze the data. We have used this system for a variety of purposes including: (1) gathering information about prior student experience at the start of the semester; (2) giving students the means to provide anonymous feedback of their comprehension of instruction; (3) creating on-line quizzes; (4) providing fill-in-the-blank forms that teaching assistants use to grade student projects; (5) course and instructor evaluations; and (6) to allow students to conduct student government voting on-line. This paper describes the system in detail, provides examples of how we have used the system and indicates how instructors who have database expertise may further extend the system.
Linked lists are an important component of the computer science curriculum. JVALL is a software package that provides an animation of linked list operations that is fully compatible with the Java LinkedList class. The animations are driven by a client program that can be either an applet or standalone application. It provides an effective way for students to learn, experiment with, and debug linked list based classes.
Many colleges and universities are experiencing the need to offer an introductory computer science course that meets some but perhaps not all the guidelines suggested for a CS 1 course. This course frequently meets institutional general education requirements and must be more than a literacy course.We discuss the implementation of such a course at Hope College. We outline the goals of the course and some novel features of the implementation, including an emphasis on graphics. We give examples of our approach to laboratories. Finally we show how we utilize the World Wide Web as a substitute for a textbook and for course administration.
This project is a component of a larger project whose goal is to build an online database of assessments and records of student performance on these assessments. Our portion of this task is to process an assessment (e.g. a homework assignment, quiz or examination) to identify the questions and load them into this database. To encourage use of the system, we need this process to be quick and easy for the user. Copying and pasting the questions from the assessments into the database would be easy, but not quick—hence the need to shift some of the work away from users. Our method takes an assessment instrument in PDF format as input. It extracts information from this input file, including text and images, and attempts to separate and categorize the questions, using white space and keywords to guide the process. To handle any questions our method extracted incorrectly or missed, we developed an application that provides the capability to edit the questions. We made it a high priority to design this interface to be easy to use, consistent with our goal in creating a quick and easy method from the user's perspective.