Project Categories
In classifying capstone projects, there are various perspectives one could adopt. In this handbook, and throughout our discussions, we’ll primarily categorize projects based on the outcomes they aim to achieve.
Presently, we recognize four main categories.
FOSS
This category involves contributing patches to an existing Free and Open-Source Software (FOSS) project. Examples include writing patches for the Rust compiler, the Xen hypervisor, the Habitica todo-list game, or the OSU Open Source Lab repositories.
Established FOSS projects typically have a list of features they need help implementing, thus defining the opportunities.
You need to find a project mentor to work on such a project.
- Hands-On Experience: Jump into real-world software projects and see how big programs are pieced together and maintained.
- Network and Collaborate: Connect with developers around the world, gaining invaluable networking and teamwork skills.
- Skill Building: Get better at coding and solving problems by adding new features or improving existing software.
- Complex Environments: These large and complex codebases can be tough to get your head around at first.
- Navigating Community Rules: Every community has its own way of doing things, and you’ll need to adapt and learn how to fit in.
- High Skill Demands: You’ll need strong technical skills to make meaningful contributions.
- Coding Proficiency: You should be comfortable with the programming languages and tools used in your chosen project.
- Communication Skills: Be ready to engage with the community effectively, manage version control, and write clear documentation.
- Determination: Tackle tasks head-on, seek help when needed, and keep at it, even when things get tough.
Research
Collaborate with a professor on a research topic, aiming to publish a small paper with your findings. This type of project is ideal for those considering graduate school. It’s worth noting that you can fulfill the teamwork component of the capstone outside of class through significant interactions with the professor’s research group.
Professors are often aware of potential research opportunities. Remember, an opportunity is something that someone else cares about. In this case, the professor will have insights into what the research community might find valuable.
- Deep Dive into Academia: Work on cutting-edge topics that could lead to publishing your findings.
- Prep for Grad School: This experience is perfect if you’re thinking about further studies—it’s like a test drive of graduate-level research.
- Guidance from Experts: Learn directly from professors and their teams, gaining insights and mentorship that’s hard to find elsewhere.
- Academic Intensity: The level of detail and rigor in research can be much higher than what you’re used to.
- Specialized Topics: You might need to quickly ramp up on a very specific area of study.
- Pressure to Publish: There’s often a push to achieve publishable results, which can be quite stressful.
- Research Abilities: Know how to gather information, analyze data, and contribute innovative ideas.
- Analytical Thinking: Be sharp in processing and interpreting information.
- Time Management Skills: Balance your research with other courses and commitments effectively.
Consultant
Develop software for a specific external project partner. Examples include creating a citizen-science hive-tracking app for a non-profit or collaborating with a professor from the School of Psychological Science at Oregon State University.
- Real-World Client Experience: Tackle genuine problems for external partners, simulating a real consultant’s job.
- Manage Projects End-to-End: From planning to delivery, handle all aspects of a project, enhancing your organizational skills.
- Apply Your Knowledge: Use what you’ve learned in previous classes to solve practical problems, seeing firsthand how your studies translate into action.
- Meeting Professional Standards: It can be tough to meet the high expectations of real clients.
- Keeping Projects On Track: You need to manage project scope carefully to prevent projects from growing out of control.
- Communicating Across Fields: Often, you’ll need to explain technical details to partners who might not be tech-savvy.
- Project Management Know-How: Be able to organize, execute, and finalize projects within set deadlines.
- Strong People Skills: Handle communications and negotiations smoothly with all stakeholders.
- Technical Chops: Bring enough tech skills to the table to develop effective solutions.
New Product or Game
This category involves creating a new product, which may or may not become a viable business.
Here, you define the opportunity. While exciting, this also entails some degree of uncertainty and requires significant effort.
You need to find a project mentor to work on such a project.
- Entrepreneurial Flair: Experience the thrill of starting and scaling a new venture.
- Creative Freedom: Push the boundaries of your creativity to develop a new product.
- Market Insight: Learn how to analyze market needs and position a product effectively.
- Market Uncertainty: There’s a significant risk of failure due to unpredictable market forces.
- Resource Limits: You often have to make do with what you have, which can be challenging.
- Validating Your Idea: It’s tough to prove your concept and attract initial users or customers.
- Entrepreneurial Spirit: Embrace risk and navigate the uncertainties of launching a new product.
- Resourcefulness: Find innovative ways to use limited resources to achieve your goals.
- Market Savvy: Understand how to research and respond to market demands.