Students in their final year of a Computer Science bachelor’s degree program will often undertake a capstone project to demonstrate their knowledge and skills. One potential Computer Science capstone project could be developing a web application for a nonprofit organization to help streamline and improve their operations.
The nonprofit organization in this example is a local animal shelter that cares for lost, abandoned, and surrendered pets in the community until they can be adopted into forever homes. Currently, the shelter uses a combination of paper records and basic spreadsheet software to track information about the animals in their care, adoptions, volunteer schedules, and other aspects of running the shelter. This process is inefficient and error-prone. Key stakeholders like the director, staff members, and volunteers all need access to the same information but it is difficult to keep the paper and digital records synchronized. Aspects like generating reports on animal intake and outcomes or analyzing trends over time are very time-consuming without integrated software.
For the capstone project, a student would work directly with the animal shelter to understand their specific process and information needs in depth. Important entities that would need to be represented in the application would include animals, animal medical records, adoptions, volunteers, donations, and events. Key requirements identified include:
A central database to store all entity information and relate entities to each other (e.g. linking an animal to its medical records). This ensures a single source of truth and allows queries and reports to pull from the integrated data.
User accounts and permissions to control access to different areas of the application and data. For example, volunteers would only see information related to their scheduled shifts while administrative users could access all areas.
Intuitive interfaces for shelter staff, volunteers, potential adopters, and the general public. Staff interfaces need efficient forms and views for common actions while public interfaces only need to display relevant information.
Reports and analytics features. Pre-built reports on topics like animal intake sources over time, most common medical issues, busy adoption times/seasons etc. Flexible querying of the database for custom analysis as needed.
Communication features. Automatic emails/notifications for common scenarios (i.e. alerting a fosters when their animal is available for adoption). Potential for online/mobile access for aspects like checking schedules.
To implement this, the student would build out a full-stack web application using modern web development technologies. On the front-end, a framework like React would allow for building responsive, component-based user interfaces. A back-end API and database using a framework like Django/Python or Ruby on Rails would provide the data processing capabilities and data persistence. Authentication would be implemented using industry standard methods like JSON Web Tokens for user login/authorization. Tests would be written using a framework like Jest or Mocha/Chai to ensure code quality and prevent regressions.
Key phases of the project would include: database and API modeling and implementation, building out core data entry and viewing functionality for key entities, developing sample reports and automated notifications/emails, implementing user accounts/permissions, polishing UI/UX based on feedback, documenting and testing the codebase. Upon completion, a working demo of the application would be delivered to the nonprofit for feedback. Future potential enhancements could also be proposed based on their extended needs.
A project of this scope would allow the student to develop a full-stack web application from concept to deployment while gaining real-world experience working with an external client. They would get practice applying techniques for requirement gathering, iterative development, database and API design, frontend/backend development, testing, and documentation/knowledge transfer. Upon completion, the nonprofit organization would benefit greatly from an integrated software solution to manage their operations more efficiently and make data-driven decisions to better serve their community. This capstone would be an excellent demonstration of a computer science student’s full skill set through a meaningful project.
Here is an example of a capstone project in the discipline of mechanical engineering:
The capstone project involves designing and building a pneumatic assembly line for a local manufacturing company. The assembly line is meant to automate the process of assembling a common part that is used in several of the company’s products.
As part of the project, the student would first work with the company engineers to understand the requirements. This would involve analyzing the current manual assembly process, determining key parameters like cycle time and throughput needs, and identifying any space or budget constraints.
Next, the student would generate concept designs for the automated line. This would involve designing pneumatic circuits, selecting appropriate actuators and end effectors, and determining the optimal layout. CAD modeling software would be used to create 3D models and simulate operation.
Key engineering challenges include synchronizing component movements, integrating precise sensing and controls, and designing for efficient changeovers when different part variations are produced. Pneumatic, electrical and programming skills would be applied.
Safety interlocks, guards and emergency stops would need to be engineered to meet codes. Rigorous testing of prototypes would be done to debug, measure performance and ensure reliability.
Documentation of the design, operation instructions, maintenance procedures and spare parts lists would be provided. An oral presentation and demonstration of the completed line to company stakeholders would showcase the project.
If successfully implemented, the assembly line could benefit the company through increased production capacity, reduced labor costs and improved quality control. The project allows the student to apply mechanical engineering skills on an industry project from design to commissioning.
Thank you for providing such a thoughtful example capstone project for a mechanical engineering student. Designing and building an automated assembly line that integrates precision pneumatic, electrical, and programming systems demonstrates a wide range of mechanical engineering skills. I can see how each phase of the project, from requirements analysis to testing and documentation, would provide real-world experience applying the engineering design process. Integrating safety systems and creating clear operating instructions are also important for ensuring reliable and compliant operation. Being able to directly apply their technical skills to automate an important manufacturing process for a local company illustrates the practical impact these types of capstone projects can have. This example highlights the value of industry-sponsored projects for exposing students to the full product development cycle from concept to implementation.