1. Making a Single Project Plan
- Applications are solicited and processed by our intern supervisory team. Interested researchers can submit proposals using our Proposal Worksheet
- Based on the project needs, a primray supervisor is selected as project lead
- Meet with project owners to develop a charter using the Charter Worksheet
- Must list all deliverables in detail
- All deliverables must have a timeline
- Communication expectations for both our team and project owner are detailed
2. Making a Semester Plan
- Once a single project charter has been completed, generate:
- List of all technical skills required
- Student time estimates per skill set
- From all charters selected for a semester, generate a list of all needed skills
- Generate “roles” based on collections of skills that students could be expected to learn in a single semester
- For information about how to create these roles, check out our Position Descriptions
3. Build Your Team!
- Advertise! Advertise! Advertise!
- Visit classes in Humanities & SS
- Visit campus cultural and academic organizations
- Attend job fairs
- Bring handouts that include what the students will learn and project snapshots
- Check out our Advertising Samples
- Hire as diverse a group as possible
- 2-4 CS students, 3-6 humanities & SS students
- 50/50 graduate and undergrad
- Incentivize returners
4. Develop the Skill Sets
- First two weeks in summer and first 3-4 weeks in the academic year are dedicated to training. We use the following training schedule:
- Day 1: Getting Started - Note - This workshop requires preparation ahead of the students arrival, click the link for more information.
- Day 2: Introduction to Command Line
- Day 3: Basics of Versioning with Git
- Day 4: How the Web Works
- Day 5: Project Specific Training (any skills needed for their roles not already covered) such as:
- Model-View-Controller and Designing for Content Management Systems
- Creating your own web page templates (PHP or Python/Django)
- SQL
- Python/Django/Eve/Flask
- Jekyll
- PHP
- Students train as a group
- Training sets up many of the tools they will use on their first project
- Students are paired or grouped, try to ensure at least one returner or CS student per project to act as mentor
- Select a “training project” for each student team that will introduce skills
5. Hack!
- Student deliverables are broken down into specific tasks with real deadlines
- Meet with student teams at least once/week to assess progress
- Bi-weekly meetings with project owners to demonstrate deliverables or designs
- Code reviews once per month to discuss student style
6. Launch the Projects
- Project officially launches when all deliverables from charter are met to both parties satisfaction
- No pressure to launch! - If either side of the team does not feel the work is ready for launch, it is moved into the next work cycle
- If the patrons request features not originally in the charter, the project launches in Phase 1, with Phase 2 planned for next work cycle to address additional requests
- During the launch preparation, students test their work by installing their code on a brand new instance
- Code is available through Github
- Must have a detailed Readme