## Building a Digital Humanities Student Developer Toolkit Sasha Renninger, DH Specialist Scott Enderle, DH Specialist University of Pennsylvania Libraries [https://upenndigitalscholarship.github.io/tktk/](https://upenndigitalscholarship.github.io/tktk/)
### Origins of Program - Price Lab for DH + Penn Libraries TRL - TRL: exploring new classroom technologies and research methodologies. - PL: Encouraging development of new courses and collaborative faculty-student research projects.
### Goals of Program - Supporting new DH initiatives *and*... - Paying attention to large-scale institutional and infrastructural needs. - Anticipating and preparing for long-term data preservation and access. - Ensuring that new project development produces reusable code, data, and skills.
### Our Students Learn - Basics of Command Line - How to set up a LAMP Server - Versioning with Git and Github - Building Simple Web Pages with Bootstrap - Using Jekyll and GitHub Pages - How to Conduct a Deliverables/Progress Meeting - Project Specific Skills
### What We Do Digital Exhibits, Data Curation, Mapping, Text Analysis, Community Archives, Research Publication, Pictures of Bears ![Playbill with a font made of bears](assets/bears.png)
### Examples #### Paris Sous L’Occupation ![A map of Nazi-occupied Paris](assets/paris-map.png) - [Demo](http://pennds.org/melanieperon/neatline/fullscreen/test-exhibit) - [Code](https://github.com/upenndigitalscholarship/mapping-paris)
### Examples #### Text Reuse in Fan Fiction ![Fan engagement analysis software](assets/fandom.png) - [Demo](https://upenndigitalscholarship.github.io/fandom-analysis-visualization/) - [Vis Code](https://github.com/upenndigitalscholarship/fandom-analysis-visualization) - [Search Code](https://github.com/upenndigitalscholarship/fandom-search)
## Our Recipe for Project Success
### 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](https://github.com/upenndigitalscholarship/tktk/blob/master/administrative/proposal_worksheet_and_project_charter_worksheet.docx) - 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](https://github.com/upenndigitalscholarship/tktk/blob/master/administrative/proposal_worksheet_and_project_charter_worksheet.docx) - 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](https://github.com/upenndigitalscholarship/tktk/blob/master/administrative/position_desc.md)
### 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](https://github.com/upenndigitalscholarship/tktk/blob/master/administrative/position_descriptions.md) - 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](https://github.com/upenndigitalscholarship/tktk/tree/master/training_slides/getting_started) - **Note** - This workshop requires preparation ahead of the students arrival, click the link for more information. - Day 2: [Introduction to Command Line](https://github.com/upenndigitalscholarship/tktk/tree/master/training_slides/command_line) - Day 3: [Basics of Versioning with Git](https://github.com/upenndigitalscholarship/tktk/tree/master/training_slides/git) - Day 4: [How the Web Works](https://github.com/upenndigitalscholarship/tktk/tree/master/training_slides/web)
### 4. Develop the Skill Sets - Day 5: Project Specific Training (any skills needed for their roles not already covered) - Topics - Model-View-Controller and CMS Design - Templating (PHP or Python/Django) - Frameworks: Django/Eve/Flask/Jekyll - Languages: Python, PHP, JavaScript, SQL - Methods - Students train as a group - Have a returner or CS student mentor for each project - Select an introductory “training project” for each student team
### 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
## Thanks! Sasha Renninger, DH Specialist Scott Enderle, DH Specialist University of Pennsylvania Libraries [https://upenndigitalscholarship.github.io/tktk/](https://upenndigitalscholarship.github.io/tktk/)