Content area
One author of this paper (Dr. K) is a professor and the other (Dr. A) is a Silicon Valley web developer. This paper presents our experiences in co-teaching a web application development course at Virginia Tech.
It seems obvious to say that students benefit by having access to industry expertise when taking a course on software development. An industry perspective on any academic subject can be helpful, and as software development is such a practical side of software engineering, students often take these courses with an eye toward developing software professionally. Professional developers can not only answer student questions about how something is done in industry, but they can make the student understand why a topic is relevant.
Educators tend to have a good grasp of the capabilities and limitations of their students. They are good at choosing course materials that meet their course objectives, and they know how to assess students on whether those objectives have been met. Professionals know how things get done in industry. They understand the trade-offs and compromises that must be made to get a software product out the door. Their knowledge comes from other developers and from years of practical experience building real-world systems. Developers are more likely to use a methodology explained to them by someone they trust rather than use something they read about in a journal. When the educator and the industry professional are teaching as a team - both invested in the outcome of the course - the results can be transforming.
This was our experience in teaching a course on Web Application Development for Virginia Tech's online Master of Information Technology program. The students in this program are typically working professionals in an IT-related field, and their programming experience varies widely depending on whether they come from the business side of IT or the technical side. However, all students taking our course are required to have a basic introduction to Java. The course is completely online, and student-teacher interaction comes primarily from Q&A discussion boards (Piazza) and one live Q&A session per week (WebEx). The course we teach revolves around a semester-long project in which students develop a mini e-commerce web application complete with the design and implementation of the web interface, the database, and the application business logic.
In this paper we talk about how the course evolved when the developer joined the educator to teach the course. We focus on six important facets of the experience: (1) the initial conditions that allowed the collaboration to be successful, (2) the benefits that each party brought to the course, (3) the impact that online learning had on the collaboration, (4) how the development of custom tools improved the course, (5) the introduction of industry best-practice to the core project, and finally, (6) the challenges that face us as we continue to improve the course and apply our experience to other courses.
Details
Software;
Students;
Collaboration;
Computer assisted instruction--CAI;
Applications programs;
Engineering education;
Initial conditions;
Information technology;
Software engineering;
Industrial development;
Software development;
Professionals;
Databases;
Student teacher relationship;
Classroom communication;
Experience;
Teachers;
Team teaching;
Electronic commerce;
Internet;
Application;
Cooperative learning;
Teams;
Business students;
Teaching methods;
Professional training;
Trade;
Business