Quick Start Guide for COMP 190/290 Students

If you’ve taken COMP 190 (Tools and Techniques for Software Development) or COMP 290 (Large-scale and Open Source Software Development), you have specialized knowledge that will be incredibly valuable during the hackathon!

What You Already Know

From COMP 190/290, you’re familiar with:

  • Unix command line environment
  • Shell scripting
  • System administration basics
  • Debugging tools
  • Version control with Git
  • Open source software development methodologies
  • Collaborative development workflows
  • Project organization and management

How to Maximize Your Experience

As someone with experience in open source development and collaboration tools, consider taking on these roles during the hackathon:

1. Team Technical Lead

  • Set up the Git repository with proper structure
  • Configure continuous integration
  • Establish coding standards
  • Manage branching strategy and pull requests

2. DevOps Specialist

  • Create automated build scripts
  • Set up deployment pipelines
  • Configure testing frameworks
  • Manage development environments

3. Open Source Integration Expert

  • Identify and integrate relevant open source libraries
  • Ensure license compatibility
  • Document external dependencies
  • Contribute improvements back upstream if possible

Project Ideas Leveraging Your Skills

1. Humanitarian Software Solution

Apply your HFOSS experience to create something that addresses a social need:

  • Educational tools
  • Community resource mapping
  • Accessibility solutions
  • Environmental monitoring

2. Developer Productivity Tool

Build something that improves the development workflow:

  • Custom Git extensions
  • Code quality analyzers
  • Automation scripts
  • Documentation generators

3. Collaborative Platform

Create a tool that facilitates collaboration:

  • Real-time collaborative editors
  • Project management dashboards
  • Code review systems
  • Knowledge sharing platforms

Advanced Tools to Explore

Consider incorporating these technologies:

  • Docker: Containerization for consistent environments
  • GitHub Actions/GitLab CI: Automated testing and deployment
  • React/Vue/Angular: Modern front-end frameworks
  • Node.js/Express: JavaScript back-end
  • MongoDB/PostgreSQL: Database systems

Remember that your technical skills can help the entire team be more productive. Share your knowledge generously and help create an environment where everyone can contribute effectively.