# USOSA Project Charter ###### tags: `Education` Project Title: University Student Open Source Apprentice (USOSA) Program Project Sponsor: Grey Software Company (itself) Date Prepared: 22-Feb-2021 Project Manager: Arsala Project Customer: University Students [Gitlab Repo](https://gitlab.com/grey-software/universities/pakistan-uet-mardan/usosa-spring-2021) ## Project Purpose or Justification: The purpose of this project is to run Grey Software's pilot USOSA education program. We plan to research and develop our teaching methods for how to collaborate between academia and industry to bridge the gap between what students learn and what professionals use by running for-credit programs for students with partnered universities. ## Project Description: Grey Software’s USOSA program is a semester-long internship alternative for students interested in becoming software developers. Students will earn university course credit while working alongside open-source maintainers on projects with real-world impact. ## High-Level Requirements: * Weekly or bi-monthly session for Students to boost their confidence by mentoring them. ## High-Level Risks: * Students are not able to complete their Assignments. ## Threshold ### Scope: | Objective | Success Criteria | Person Approving | | -------- | -------- | -------- | | Students get familiar with collaborative software development tools.| Understand Github, Gitlab, Gitpod, Discord | President | |Students become Self aware| Can develop opinions, Become comfortable conversing with other engineers around the world | President | |Students build an impressive personal profile|Can contribute to OSS Society|President , Mentors| ### Time: | Objective | Success Criteria | Person Approving | | -------- | -------- | -------- | | Text | Text | Text | ### Cost: | Objective | Success Criteria | Person Approving | | -------- | -------- | -------- | | Text | Text | Text | ### Other: | Objective | Success Criteria | Person Approving | | -------- | -------- | -------- | | Text | Text | Text | ... .... ... ... ... .. ... .. . .... .. .. . . . . .. . . *Students are familiar with collaborative software development using tools like Github, Gitlab, Gitpod, Discord.* *Students develop opinions about software development best practises and become comfortable conversing with other engineers around the world about solutions to design and engineering problems.* *Students build an impressive profile of open source contributions (Issues and Merge Requests) in an agile software development environment.* ... .... ... ... ... .. ... .. . .... .. .. . . . . .. . . ## Summary Milestones | Activities | Start Date | End Date | | -------- | -------- | ------- | |Onboarding Assignment|01-Mar-2021|7-Mar-2021| |Personal Website Assignment|7-Mar-2021|21-Mar-2021| |Open Source Practice Assignment|21-Mar-2021|11-Apr-2021| |Open Source Apprentice Project Assignment|11-Apr-2021|30-May-2021| |Presentation and offboarding|30-May-2021|2-June-2021| ### Educator Milestones | Activities | Start Date | End Date | | -------- | -------- | ------- | |Team creates on-boarding assignment and send it to students|21-Feb-2021|28-Feb-2021| <!-- |Students complete onboarding process|21-Feb-2021|28-Feb-2021| --> |Team creates Personal Website Assignment |01-Mar-2021|7-Mar-2021| <!-- |Students complete personal website assignment|7-Mar-2021|21-Mar-2021| --> |Personal Assignments Review|15-Mar-2021|21-Mar-2021| |Assigning External Projects|22-Mar-2021|28-Mar-2021| |External Assignments Review|29-Mar-2021|04-Apr-2021| |Assigning Final Individual or Group Project|05-Apr-2021|11-Apr-2021| |Final Project Check-in(s) with one Midway examination of assigned work|12-Apr-2021|30-May-2021| |Project wrap-up||2-June-2021| ### Student Milestones | Name | Due Date | Resources | Grade Weightage (%) | -------- | -------- | ------- | ------- | |Student completes the Grey Software On-boarding Process | - -2021 (1 week)| [Gitlab Issues](https://gitlab.com/grey-software/onboarding/-/issues/1) <br /> [Brainstorming Doc](https://hackmd.io/@grey-software/onboarding)| % |Student completes the Personal Website assignment | - -2021 (2 weeks)| [Gitlab Issue]() | % |Student completes the Open Source Issues Practice Assignment | - -2021 (2 weeks)| [Gitlab Issue]() | % | Student gets assigned an individual or group Final Project | - -2021 | [Gitlab Issue]() | % | Student completes their Final Project with a recorded presentation | - -2021 (9 weeks)| [Gitlab Issue]() | % ...... .... .. .. . ... .. .. . ...... .... ... . . ### Setup Milestones | Name | Due Date | Resources | | -------- | -------- | ------- | ||| |Creating On-boarding | 28-Feb-2021 (one week)| [Gitlab Issues](https://gitlab.com/grey-software/onboarding/-/issues/1) <br /> [Brainstorming Doc](https://hackmd.io/@grey-software/onboarding)| |Personal Website Assignment Setup | 15-Mar-2021 (two weeks)| | [Gitlab Issue]() |Open Source Issues Practice Assignment Setup | 15-Mar-2021 (two weeks)| | [Gitlab Issue]() | Final Project Assignment Setup | 15-Mar-2021 (two weeks)| | [Gitlab Issue]() - We should lay out acceptence criteria for these milestones - Maybe also add a section for motivation - Some of these things were belong on Gitlab and some of them will belong on this charter ...... .... .. .. . ... .. .. . ...... .... ... . . |Create doc website for program| | |Setting up Gitpod for all Project Repositories| | |Complete On-Boarding Process| | |Intro Videos of Mentors| | |Set-up the list of Open Source Issues to the Students| | |Assigning projects to Students| | |Setting up page for Students and Mentors| | ## Estimated Budget: * ## Stakeholders Roles Organization | Column 1 | Column 2 | Column 3 | | -------- | -------- | -------- | | | | | | Arsala |Owner | Grey Software| |Raj | Designer | Grey Software| |Adil |Onboarding | Grey Software |Hamees |Administrative Owner |Grey Software |Adil |Github Expert |Grey Software |Name |Dean |UET Mardan| |NameIT |Coordinator |UET Mardan| |Students |Learners |UET Mardan| |Mentors |Teacher |UET Mardan| ## Staffing Decisions: Project Manager has the full right to hire competitive/skilled staff. ## Budget Management and Variance: * ## Technical Decisions: PM can take technical decision because he is experienced person butt when the stuck off, he must discuss the issue with other Technical persons of the project ## Approval: ___ # Notes The final project would be a large milestone that they can own independently or as a student pair. Some examples include: *CodeDog: Write a CodeDog website with interactive code sandboxes where users can auto-generate programs in C derived languages for multiple platforms* *Modfy: Package Modfy as a PWA and/or Hybrid Mobile App* *The Physics Hub: Rewrite the Physics Hub using modern UI best practices and create an effective plugin architecture for adding new simulations.* *Open Gov: Create a web app dashboard for government employees* *Material Math: Implement user profiles and community features* *Focused Browsing: Create the Focused Browsing Extension* ## Projects ### Open Governance Open governance is a suite of modern technologies to reform and digitize local governance being co-developed with the municipal corporation of Muzaffarabad, AJK. **Technologies You’ll Learn** HTML, CSS, Javascriipt, Vue, Typescript, Parse, NodeJS, Express, Tailwind, API Development, Linux, Gitlab **This project is for you if** This project is for you if you're passionate about building civic tech solutions and you want to develop your fullstack web app development skills. [Git Repository](https://gitlab.com/grey-software/open-gov) ### Material Math A web application that allows you to practice Math problems in a fun, beautiful, material experience. [Git Repository](https://gitlab.com/grey-software/material-math) [Website](https://material-math.grey.software) ### Focused Browsing Focused Browsing is a web extension that allows you to browse popular websites without elements that are designed to take away your attention and focus. The websites we are currently targeting are LinkedOn, Twitter, Youtube, Facebook, and Instagram. We are is looking for 1 engineering student to work as the lead maintainer for this project. **Technologies You'll Learn** Web Extensions, NodeJS, HTML, CSS, Javascript **This project is for you if** This project is for you if you're passionate about building privacy-respecting tech solutions and you want to develop your web development skills. [Git Repository](https://gitlab.com/grey-software/focused-browsing) [Website](https://focused-browsing.grey.software) ### Modfy.Video Modfy allows you to trim, convert and combine videos within your browser without uploading your files anywhere. **Technologies You’ll Learn** React, Next Js,Typescript, NodeJS, Express, Tailwind, Electron, Web Assembly(Not too deep, mostly abstracted away), Linux, Git, FFmpeg **This project is for you if** This project is for you if you are great at learning technologies fast and shipping product, are excited to see behind the scenes of an early stage startup, albeit a bit unconventional one, and especially if you are interested in video processing. [Git Repository](https://github.com/modfy/modfy.video) [Website](https://modfy.video/) ### The Physics Hub The Physics Hub is a free, open source application that allows everyone to understand physics concepts using clear and comprehensible simulations! **This project is for you if** This project is for you if you are interested in developing education technology related to science concepts, and you'd like to experience what it's like working with a client in academia. [Git Repository](https://github.com/ThePhysHub/ThePhysicsHub) [Website](https://physicshub.herokuapp.com/) ### CodeDog [Git Repository](https://github.com/BruceDLong/CodeDog) [Website](http://theslipstream.com/index.html)