Student Satisfaction Using Real Projects For Object-Oriented and Database Design

By:

Lisa M. MacLean

Assistant Professor

Department of Computer Science and Systems

Wentworth Institute of Technology

550 Huntington Avenue

Boston, MA 02115

E-mail:

Michael Werner, PhD.

Professor

Department of Computer Science Systems

Wentworth Institute of Technology

550 Huntington Avenue

Boston, MA 02115

E-mail:

Student Satisfaction Using Real Projects For Object-Oriented and Database Design

ABSTRACT

In this economy, computer science graduates can command starting salaries in excess of $50,000. Employers expect graduates to perform right out of the starting gate. It is increasingly important for educators to provide opportunities for students to position themselves for success in these demanding conditions. Also, as students entering have grown up with technology, they are better prepared on entering computer programs than previous classes, meaning educators must challenge them more and often eliminate beginning material. Students themselves are savvy as education consumers, and demand increasing value for their tuition. One way to meet all these conditions is by using real projects in the class as opposed to cases.

INTRODUCTION

Software Design and Development and Advanced Database Applications are 500-level courses taught at Wentworth Institute of Technology in Boston, MA. Introduction to Programming logic, several programming courses, Introductory Database Systems and Systems Analysis and Design, are all prerequisites for the advanced courses. This assures a solid grounding in the concepts needed to complete a real-life project.

In these two classes, group projects demonstrate the practical application of analysis and design techniques. The projects are built for an actual customer with the expectation that the system will be deployed upon completion. The project either must be internal to the institute or else for an external non-profit organization.

Students are expected to work in groups to produce a large-scale, fully functioning two- or three-tier database system. Previous course sections were allowed to choose a case study on their own. When students expressed dissatisfaction that they expended a good deal of effort for a project that merely went away, effort was put forth to identify real world problems.

In our experience the real projects generate much more enthusiasm, involve greater complexity and better prepare the students who participate in them. Students are more satisfied with their work and have practical experience to place on their resumes.

Some of the real projects in Software Design and Development:

1. A database for a bowling league designed to track league members, set up teams for bowling meets by matching players by ability, record scores, etc.
2. A database system designed to track and report on the delivery of services to homeless people by a local shelter.
3. A room reservation system for a non-profit retreat and conference center.
4. A system for the college placement office to enter job openings and make them available to students whom were qualified access the listings by submitting resumes and attending orientations.
5. A student information system to allow students to access their transcripts, schedules, grades and financial status using the Internet.
6. An extensible CASE system to allow future software design students to create graphics and repositories of design data following various methodologies and generate source code.
All of the above projects offered good opportunities to demonstrate object-oriented analysis and design techniques. In each case a real customer was identified at the beginning and the students conducted interviews in order to fix the requirements.

Project Deliverables:
Student teams submit the work in three phases:
1. Requirements Analysis & Preliminary Design
2. Design
3. Implementation
At the end of each phase the teams give a presentation. Our program requires students to take a course in technical communications, part of which is devoted to oral presentations. Each student is required to participate in at least two presentations even if English is not their native language. Students typically use overhead transparencies or PowerPoint slides for visuals. To enhance communication, documents and graphics must conform to a standard such as OMT or UML.
Implementation typically involves both a database language such as Access or Oracle and an object-oriented programming language such as Java or C++. Web applications also involve HTML and often Perl scripts. As a course requirement, teams need to implement the main functionality of the system, but not exceptional usages or extensive data validation. Of course the real projects need to be completely implemented and thoroughly tested to be useful.
What happened with these projects?
The bowling league project was completed and delivered but suffered from the fact that the customer was only occasionally available for interviewing and some of those interviews were in the bowling alley itself, a very noisy environment. The students had to guess at some of the club rules and system requirements making the resulting product unusable as delivered. However, the system was subsequently patched by someone else and eventually deployed.

The homeless shelter project yielded a viable design that was later used. However, deployment was not possible when the course was given since the shelter had first to cobble together a local area network out of truckloads of outmoded donated computer equipment.

The retreat room reservation system resulted in an outstanding database design. Implementation failed when the students tried to use a poorly documented database management system that was advertised as producing world wide web data entry forms. The design will probably be used by the retreat in the near future.
The job listing project was completed and deployed by the Career Center at Wentworth Institute of Technology.
The student information system was completed but never deployed since it was dependent on a security and authentication subsystem that was to be provided by the local computer center but never was.
The CASE system has gone through several incarnations over the years the course has been given. One of the better implementations was done using Tcl/Tk. Most recently a team did an excellent object-oriented design for it but foundered when they tried to implement the graphics editor using the Microsoft Foundation Classes. The learning curve was simply too steep for them to master MFC in one semester.
Some of the real projects Advanced Database Applications students have done:

Projects were originally identified for two nearby nonprofit agencies, The Nelson Mandela Training Center and the Parker Hill/Fenway branch of Action for Boston Community Action (ABCD). Both agencies are located within walking distance of campus. The student response to being offered these two projects was overwhelming. The agencies were then solicited for other projects. Ten projects, enough for a project for each group, plus one project to develop a web-based database application to facilitate future projects, were assigned to the students.

In order to ensure that the students were working on a project that they found interesting and feasible for their skill levels, two surveys were taken. One survey asked each student about their background and qualifications outside of prescribed course sequences. The other outlined each project briefly, noting whether it was a web-enabled project or not, and asked students to form groups and rank their preferences for each project. All groups but one received either their first or second choice.

For The Nelson Mandela Training center:
1. An online application process for students seeking training at the center. The center offers two twelve-week tracks: computers and accounting.

2. A course scheduling system to show applicants available course sections and times.

3. An online test bank that tested students as they progressed through the modules in the program. Students know their scores immediately, and statistical reports are provided to the management of the program.
4. A tracking program to provide reports on student employment and salary gains after completion of a training program.

5. A marketing database of applicants, potential applicants, and students who had completed the training but may want to upgrade their skills.

For the Parker Hill/Fenway ABCD:

1. A database of available day care slots searchable by age of child, price range, languages spoken, hours of operation, and location.

2. A database of available openings for low-income housing.

3. A grant tracking database to facilitate obtaining funds for the agency.

4. A database of employment opportunities.

For Wentworth Institute of Technology:

  1. A web-enabled database that would track new requests and facilitate student assignment to new projects and tracking of completed projects.

Since that semester, students have completed projects for other local agencies, such as the United South End Settlement House and La Alianza Hispana, organizations that aid low-income and immigrant populations. One project for the Home for Little Wanderers (HLW), a foster and adoptive care agency, was a web-enabled application for Christmas sponsorship of children whom would otherwise receive no holiday gifts. It saved the organization 120 hours and the hiring of a part-time aide while enabling them to increase children served by 67 percent.

Project Deliverables:
Student teams were required to produce the following documentation:
1. Requirements Analysis & Preliminary Design
2. Conceptual Design (Entity-Relationship Diagram)

3. Logical Design (Table mapping and normalization)
3. Physical Implementation

4. Systems Documentation (including a data dictionary)
All teams were required to conduct professional presentations to the clients. All used PowerPoint slide presentations and conducted thorough demonstrations of their systems.

Implementation of these projects for the two outside agencies was completed in Access 2000 as a back end, with Access 2000, C++ or Visual Basic front ends. The web application to track new projects and the HLW project was written in PHP with a MySQL back end. All projects had appropriate security measures in place, such as groups and user logins with passwords.

What happened with these projects?
All projects were implemented at the client sites during the last week of classes. All projects, except the one for Wentworth, are currently in use. Follow-up calls made to the agencies have all had positive feedback. The staff are enthusiastic about the software. All agencies have expressed a desire to have an ongoing relationship with Wentworth.
Benefits:
The real projects were extremely motivating to the students who usually put in extensive time on them. The Advanced Database classes contained 53 students whom estimated 3,000 total hours of time inclusive of analysis, design, programming hours and on-site installation.
Each project involved unforeseen complexity. They were harder than toy problems and more typical of what the students will see on the job. Since the off-campus agencies’ applications had overlapping pieces, the students had to work in a larger group than just two or three of their friends.
The customers always got something useful in return for their time. Sometimes this was a functioning system, in others a reusable design. The Database systems were fully functioning and work well together. In all cases a better understanding of their own business was a positive externality of the process on the side of the agencies.

The work was guaranteed to be original. There was little question of students recycling something they had done for another course or had found on the Internet.

Projects done for non-profit organizations can be used to satisfy the community service requirement that many colleges have for graduation. Participation in the work of non-profits makes students more aware of the social and ethical implications of computing. Such understanding is now mandated by the ABET, CAC accreditation criteria.[i] Whereas some other schools offer a separate course in service learning[ii], the Wentworth model is to incorporate it into the project portion of existing courses.

Drawbacks and Problems:
The projects had to be completed within a single sixteen-week semester.
Customers were often unavailable for interviewing. The student teams were on tight schedules but were held up by customers.

Student goals sometimes clashed with agency expectations. Feature creep was a significant problem as agency enthusiasm increased. Some staff thought that the students were responsible for data entry. In addition, some project contacts were not technologically literate.

Students discovered an Access 2000 bug that nearly derailed several projects. A bad code patch deployed on campus wreaked havoc for the students in the final programming hours. A code fix was available, but Wentworth’s Office of Information Technology had not yet installed it. Students were forced to write workarounds.

The most common complaint was one that is echoed in nearly every office in existence: in some groups, not all students pulled their weight, which generated significant resentment.

Lastly, some of the agencies are located near to the populace they serve, meaning, disadvantaged and dangerous sections of the city. The students expressed discomfort with the need to travel to these sites.

Student Satisfaction:

Students were generally enthusiastic about their experiences in working on real projects. The most positive feelings were generated towards the homeless shelter database system, although this project posed many difficulties for those involved. Several students expressed their personal needs to give back something to society. They stayed with the project for months after the course ended, and even volunteered to do other things at the shelter, such as serving meals. Although Wentworth Institute looks favorably on service learningii, it is not a graduation requirement. The student effort was entirely altruistic.

Students in the Database class had mixed reactions. All students were asked during project presentations what they had enjoyed the most and least about the process. All expressed satisfaction and pride in their finished project.

They were uniformly surprised at how much work a real project actually entails. Overall, a deeper understanding of Access 2000 and the components of an advanced database system were the most enjoyable aspects of the projects. Students disliked most the conflicting communications with the users (which the professor actually saw as a benefit, since this experience will better prepare students for user interactions in the post-graduation workplace).

One group felt that they should have been compensated for their work beyond a grade. They were told that they were required to complete a project for the course anyway, so the difference between a toy and a real project was not significant. In addition, they could translate this experience into a higher-paying job offer after graduation, since they now were able to say that they had completed an actual, functioning project.

A high point for these students was the impromptu and eloquent address from Royal Bolling, a previous Massachusetts State Representative now the Director of the Nelson Mandela training center. He had attended the student presentations for his agency and was moved at the quality of the student’s work. He thanked them and took time to inform them of the impact of their work: in an age where social service agencies are overworked and underfunded, these projects would free staff from administrative tasks, leaving them more time to serve their populace.

One student did note on their semester-end evaluation that the use of Access 2000 was a disappointment. He would have preferred a more difficult back end such as SQL Server or Oracle, since these skills are more in demand. However, these agencies only had Access 2000 available. The experience of completing a real project outweighs the selection of a platform. These skills are greatly transferable to SQL Server and Oracle implementations.

However, there is currently a SQL Server 2000 project under construction for the Fall and Summer 2003 which these professors are working on together. This project has required two students to act as database administrators. The most ambitious project to date, students from two different courses and three different sections have already worked on it, and will continue to work on final polishing in the Senior Project class offered this summer.

As students have found that the real projects have eased their difficulty in finding required co-operative employment, subsequent classes have expressed greater satisfaction. Many students are now checking with instructors to see if their courses offer real projects, and taking initiative to recruit their own.

Advice and Conclusions:
Real projects are an excellent teaching tool. Choose projects that are small enough to be doable but large enough to pose some complexity. For external projects, the scope of the project must be clearly defined and put in writing. External agencies should be asked to provide a contact for each project that is knowledgeable and available for student questions.