Giter VIP home page Giter VIP logo

bitcamp's Introduction

PRs Welcome first-timers-only

Bit Camp by Bit Project

Bit Camp Logo

Our Mission

Bit Project is a nonprofit organization that helps students find ways to compete in the tech industry by providing them countless tech educational resources. We offer a free open source alternative called "Bit Camp," created by student developers in collaboration with industry partners, such as Microsoft, Twilio, Slack, etc. The goal is to teach students how to become more proficient in learning programming concepts and applying them to the projects.

As an open source organization, we want to increase community involvement and encourage more developers to contribute to our content. If you think any of our existing content is confusing to understand for beginners, too easy, too hard, etc., open a Pull Request (PR) and let us know! We welcome all suggestions and edits to our repo.

Introducing Bit Camps

Bit Camp consists of weekly live lectures (hosted by student developers), assignments, office hours, and guidelines for creating a final project. Although mentorship and feedback are only available to students who apply and get into the boot camp, the curriculum is FREE and OPEN to all who want to learn new technologies and use their skills to their side projects.

To find out more, click on the links below. Additionally, we also provide a syllabus in each README.md for better understanding of each curriculum.

In this 8-week Bit Camp, you will learn how to make your own video games using Unity, a standard game development platform in the industry. You will start off creating a basic game, and then advance to include audio design and user interface.

In this 4-week Bit Camp, co-hosted by Twilio, students will learn the JavaScript programming language by navigating through TwilioQuest, an educational video game created by Twilio. Students will be introduced to using the terminal, setting up a local development environment, and basic programming concepts throughout the course.

This 8-week camp will be focusing on Atlas, which allows MongoDB to be developed and deployed in the cloud. Students will begin with the basics, setting up a database and then branching out to discover ways to analyze, filter, and create data. The last few weeks of camp consist of time to develop apply their newfound expertise and create a Web App with a MongoDB backend.

In this 8-week Bit Camp, co-hosted by Microsoft, you will learn about serverless architecture and functions, and why they are useful. You will utilize Microsoft Azure serverless functions, JavaScript, and external APIs to build and deploy your own app from end to end.

In this 6-week Bit Camp co-hosted by Slack, students will be introduced to the Slack Platform and learn how to create Slack apps using Bolt for JavaScript. After setting up a basic Slack app, students will continue to add new features each week, including implementing third-party APIs and making use of Webhooks.

Logistics

This folder contains documentation for creating a Github Learning Lab, guidelines for creating pull requests, and documentation for how Bit Camp subdirectories are structured and templated.

Contributing

We encourage open-source contributors like you to start making contributions by helping improve our curriculum! Please refer to this to get started, whether you are a first-timer or a seasoned pro.

Reporting Bugs

Think you've found a bug in this BitCamp repository? Bugs can include problems with code, unclear directions in instructions, and suggested improvements to camp curriculum structure. To report this problem, create a Github Issue. When doing so, select the [BUG] template and follow the guidelines included in the description so that other contributors clearly understand your bug.

Stay in Touch

Website: https://www.bitproject.org

Blog Posts: https://www.bitproject.org/blog

Current Program Offerings: https://www.bitproject.org/programs

Youtube (has past livestreams and all other recorded Bit Project content): https://www.youtube.com/channel/UCV20hvrYZrgCf458R8cJWag

Open Positions: https://www.bitproject.org/contribute#positions

Join Our Discord: http://join.bitproject.org/

bitcamp's People

Contributors

bahburs avatar beatrixcendana avatar chris8736 avatar colehorvat avatar danzelo1 avatar emsesc avatar evchin avatar fifiteklemedhin avatar headlesskhan avatar lazyplatypus avatar michaelloughnane avatar minymeep1 avatar mpatel17 avatar murraysmith27 avatar mwbrooks avatar shreythecray avatar stevengill avatar thedirector23 avatar xnadiahc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

bitcamp's Issues

[Feature Request] Restructure the folder structure for sample repo

Is your proposal related to a problem?
Currently, we would have to manually sync this repo with our learning lab repo. to automate that process we need to change the directory structure of our repo.

Describe the solution you'd like
change the directory structure to
week1
livestream code
livestream blog
readme
week2....

homework
config.yml
issues/...
solutions/...
images/...

Update NoSQL Documentation

Currently, the README md file for the entire camp does not contain all information needed for an open-source contributor to understand the purpose of the camp. Finish the md file.

[Feature Request] Add Instructor Training Documentation

Is your proposal related to a problem?

Instructors need clear guidelines (training) for their roles.

Describe the solution you'd like

Documentation

Describe alternatives you've considered

(Write your answer here.)

Additional context

(Write your answer here.)

Slack Bitcamp: Need for Tutorial-Based Issues

Issue Name:

Slack Bitcamp: Need for Tutorial-Based Issues

Problem:

Context:

The Slack Bitcamp has around 3-4 homework issues for every week. These issues are meant to teach the campers the skills and concepts for the week. However, the first draft for these issues used a research-based strategy, where students would mainly read articles and create projects based off of those readings. We instead need to take a tutorial-based approach to streamline the students' learning to the contents of the issue, guiding them step-by-step through more focused projects.

Type:

Homework Issue Documentation

Actual Issue:

The need for tutorial-based issues.

Desired Outcome:

Each week involves at least one guided project (written in a markdown file) loosely based off of the livestream. The solution for this project can be found under homework solutions in the respective weekly directories. The issue should lead the students to the solution. These issues can be in conjunction with some light reading to contextualize the concepts for that week.

(Optional) Hint/Example:

Refer to the issues for Week 1 of BitCamp Slack as an example.

Possible Solutions:

There are several resources outlining how to write a step by step coding tutorial. This medium article is a great place to start.

Other Details:

None.

Documentation for Repo Structure

Issue Name:

Documentation for Repo Structure

Problem:

Context:

There is currently no documentation for how Bit Project BitCamp subdirectories within this repo are structured.

Type:

BitCamp repo structure Documentation

Actual Issue:

A lack of explanation about camp subdirectories can be problematic for open-source contributors who wish to help improve the documentation of the camps. Knowing the structure and what is expected in each subdirectory is helpful when contributing.

Desired Outcome:

Open-source contributors are able to understand where instructions in issues are referring to and what a "good" documentation of a BitCamp looks like.

(Optional) Hint/Example

None.

Possible Solutions:

  • Create a template camp subdirectory that explains what content belongs in each "section" and directory
  • Create a markdown file that gives an overview of each subdirectory within camp

Other Details:

None.

[Feature Request] Integrate WebDev to Javascript Curriculum

Is your proposal related to a problem?

Currently the JS curriculum is too easy and not fun.

Describe the solution you'd like

  • Remove week 3 recursion
  • Week 3: basics of html/css/making basic website + start thinking about project ideas for interactive website
  • Week 4: integrating js into basic website + submit project ideas + start project
  • Week 5-6: complete interactive website project

Describe alternatives you've considered

Have not considered alternative solutions at the time

Additional context

JS is scheduled to start on Jan 29th, we have 2 weeks to complete this.

BitCamp/Serverless-Functions/week1/homework/issues/azure.md

Task 2: create and deploy an HTTP trigger Azure Function that outputs the current time and date.

Honestly, I don't anything about Azure. I'm assuming if the student knows about Azure but this is their first time working with Azure, then the student should get a little more than this sentence to get to the solution.

Forget this, didn't realize this is in git learning lab

NoSQL Week 4

Documentation of NoSQL Bitcamp is not complete.

Add to the documentation of the Week 4 NoSQL Bitcamp here, following the format of Serverless. Refer to curriculum draft as needed. Add to PR as project is finalized, including gifs to demonstrate when appropriate. This documentation should be written in a way that someone unfamiliar with Bitcamps (specifically NoSQL) can contribute.

Week 4: MongoDB - Implementing Database with Atlas Realms
Be as specific as possible in regards to what students will accomplish. Ex: What components of Git Bash will be taught?

Livestream Blogs for Serverless Camp

Is your proposal related to a problem?

After livestreams, students don't have a place where they can reference all the code and content that was covered.

Describe the solution you'd like

Providing students with livestream blogs give them a place where they can quickly review the steps taken without needing to skip through the video. Blogs would include code snippets and any other needed instructions.

Describe alternatives you've considered

None.

Additional context

None.

[Feature Request] Add serverless blogs to the learning lab

Is your proposal related to a problem?
During the process of completing a learning lab, it would be nice to have a markdown, blog version of the live stream available for the student to allow them to follow along.

Describe the solution you'd like
Add steps to the learning lab after the live stream feedback that have the markdown blog already written by pullrequest #44.

Describe alternatives you've considered
Perhaps include the blogs in a separate website and link it instead of directly embedding the md file.

[BUG] Slack-Apps Bit Camp needs READMEs & Finalization

Describe the bug
Slack Content is not finalized and the repository is not finished with any READMEs explaining the overall Bit Camp.

Context
The URL is located in bitprj/BitCamp/Slack-Apps, needs a overall README file (like the sample Bit Camp one) and general explanations for each week.

Desired Outcome
A README file for each week and a README file for the overall folder.

(Optional) Possible Solutions
None.

Additional context
Should be finished by 1/4 by @Bahburs.

Slack Bitcamp: Need for Livestream Issues

Issue Name: Slack Bitcamp: Need for Livestream Issues

Problem:

Context:

The Slack Bitcamp has around 3-4 homework issues on top of a livestream for every week. These issues are meant to teach the campers the skills and concepts for the week. However, they are meant to build upon the important concepts introduced to campers via the livestream. If a student is not able to make a livestream for whatever reason, or requires additional help, it would be easier for them to refer to a written out tutorial as well as watching the livestream recording. This creates the need for an issue dedicated to outlining the contents of each week's livestream.

Type:

Livestream Issue Documentation

Actual Issue:

The need for Livestream Issues

Desired Outcome:

Each week involves at least one guided project during livestream. The tutorial/guide for this project can be found under livestream in the respective weekly directories. The issue should lead the students to building the projects and understanding the concepts outlined in the livestream.

(Optional) Hint/Example:

Refer to the livestream issue for Week 1 of BitCamp Slack as an example.

Possible Solutions:

There are several resources outlining how to write a step by step coding tutorial. This medium article is a great place to start.

Other Details:

None.

Need for "How to Contribute to Issues" Documentation

Issue Name:

Need for "How to Contribute to Issues" Documentation

Problem:

Context:

At the current stage, there is no documentation if an open-source user wants to contribute to the BitCamp (or any repository in general) repo. We need a markdown file explaining the steps of contributing to an open-source repository, specifically, one of ours. In this file, we need steps on finding issues that are open for open-source users (and different fields: newcomers, advanced, etc) and steps on contributing and actually handling the issue (forking the repo, creating a PR and notifying Bit Project members).

Type:

Issue Documentation Addition

Actual Issue:

Need for "How to Contribute" Documentation

Desired Outcome:

A markdown file filled with steps through information and photos that explain, in a simple way, how an open-source user can contribute to a Bit Project repository. In this file, we need steps on finding issues that are open for open-source users (and different fields: newcomers, advanced, etc) and steps on contributing and actually handling the issue (forking the repo, creating a PR and notifying Bit Project members).

(Optional) Hint/Example:

None.

Possible Solutions:

There are many examples of other open-source repositories that already have "how to contribute" issues and sites that give good step to step tutorials (https://github.blog/2020-01-22-browse-good-first-issues-to-start-contributing-to-open-source/)

Other Details:

None.

NoSQL Week 1

Documentation of NoSQL Bitcamp is not complete.

Add to the documentation of the Week 1 NoSQL Bitcamp here, following the format of Serverless. Refer to curriculum draft as needed. Add to PR as project is finalized, including gifs to demonstrate when appropriate. This documentation should be written in a way that someone unfamiliar with Bitcamps (specifically NoSQL) can contribute.

Week 1: GitHub/Git Bash and MongoDB (Create and access databases)
Be as specific as possible in regards to what students will accomplish. Ex: What components of Git Bash will be taught?

NoSQL Week 2

Documentation of NoSQL Bitcamp is not complete.

Add to the documentation of the Week 2 NoSQL Bitcamp here, following the format of Serverless. Refer to curriculum draft as needed. Add to PR as project is finalized, including gifs to demonstrate when appropriate. This documentation should be written in a way that someone unfamiliar with Bitcamps (specifically NoSQL) can contribute.

Week 2: Azure Functions
Be as specific as possible in regards to what students will accomplish. Ex: What should students understand about Azure Functions after, and what skills will they gain?

Need for a Bit Project-wide Issue Template

Issue Name:

Bit Project Issue Template

Problem:

Context:

Previously, there was no issue template for members to use whenever they were creating an issue that needed to be addressed. To organize and better keep our Github repository clean, we need to create a standard form for users to fill out.

Type:

Issue Documentation Addition

Actual Issue:

Need for Issue Template

Desired Outcome:

The issue template should address the problem/issue, give any context or information that would help a user/open-source member contribute and fix it, and also clearly label any examples/hints that would help fix the issue.

(Optional) Hint/Example:

None.

Possible Solutions:

Some other users have created some pretty advanced issue templates (see https://github.com/stevemao/github-issue-templates), we could use this for inspiration or as an example.

Other Details:

None.

Slack: The need for Livestream Issues

Issue Name: Slack Bitcamp: Need for Livestream Issues

Problem:

Context:

The Slack Bitcamp has around 3-4 homework issues on top of a livestream for every week. These issues are meant to teach the campers the skills and concepts for the week. However, they are meant to build upon the important concepts introduced to campers via the livestream. If a student is not able to make a livestream for whatever reason, or requires additional help, it would be easier for them to refer to a written out tutorial as well as watching the livestream recording. This creates the need for an issue dedicated to outlining the contents of each week's livestream.

Type:

Livestream Issue Documentation

Actual Issue:

The need for Livestream Issues

Desired Outcome:

Each week involves at least one guided project during livestream. The tutorial/guide for this project can be found under livestream in the respective weekly directories. The issue should lead the students to building the projects and understanding the concepts outlined in the livestream.

(Optional) Hint/Example:

Refer to the livestream issue for Week 1 of BitCamp Slack as an example.

Possible Solutions:

There are several resources outlining how to write a step by step coding tutorial. This medium article is a great place to start.

Other Details:

None.
#90

NoSQL Week 3

Documentation of NoSQL Bitcamp is not complete.

Add to the documentation of the Week 3 NoSQL Bitcamp here, following the format of Serverless. Refer to curriculum draft as needed. Add to PR as project is finalized, including gifs to demonstrate when appropriate. This documentation should be written in a way that someone unfamiliar with Bitcamps (specifically NoSQL) can contribute.

Week 3: The Web App (JS and HTML/CSS)
Be as specific as possible in regards to what students will accomplish. Ex: What about web applications should be the main takeaway for students? How to connect frontend to backend?

Week 0 code

There's only a folder for the solution. Is there a code template or anything for a student to get started with? Could steps be provided for setting up and also seeing the end result?

Week 0 Documentation

BitCamp/Serverless-Functions/week0/homework/issues/Prerequisite.md

Welcome to Bit Camp, where students get hands-on experience with software engineering. Before the program starts, please find some time to complete the following assignment: learn/review JavaScript fundamentals that will later be used in the program. To complete this assignment, you will be creating a digital clock using JavaScript to demonstrate your skills!

This sounds like two assignments a student has to do when this should only be just about creating the digital clock. If you want to create an assignment just for learning/reviewing Javascript, follow a structure. That could be creating another folder with a README full of tutorial links or a folder full of your own tutorial for learning basic Javascript. If you just want to let them know that they should know basic JS before starting, just say it is a prerequisite, not an assignment

[BUG] Readme.md refresh

Describe the bug
The readme is missing key elements

  • summary of each of the folders
  • contributing blurb and link to the markdown file
  • reporting bugs (short blurb + link)

Context
main root folder readme.

Desired Outcome
add missing elements

[Feature Request] Change Serverless Directory Structure

Is your proposal related to a problem?

Currently, we would have to manually sync the Serverless subdirectory with our Serverless learning lab. to automate that process we need to change the directory structure of our repo.

Describe the solution you'd like

Change the current serverless subdirectory within BitCamp to this format:

week1

  • code/
  • videos/
    readme
    week2....

homework

  • config.yml
  • issues/...
  • solutions/...
  • images/...

Describe alternatives you've considered

None.

Additional context

None.

[Feature Request] Restructure the folder structure for Slack

Is your proposal related to a problem?
Currently, we would have to manually sync this repo with our learning lab repo. to automate that process we need to change the directory structure of our repo.

Describe the solution you'd like
change the directory structure to
week1
livestream code
livestream blog
readme
week2....

homework
config.yml
issues/...
solutions/...
images/...

Syncing Learning Labs

Currently, there are separate repos for each component of Bitcamps, particularly the Learning Lab. This leads to camp content being unorganized and hard to locate.

To centralize Bitcamp materials in one place, use a variation of this Github action to sync files in the Learning Lab repository to files in a corresponding subdirectory within this BitCamp repository.

Example: Syncing the Serverless Functions learning lab repo with a subdirectory within the Serverless directory in this BitCamp repo named learning-lab/

Add documentation of each week

The Javascript camp documentation does not include week descriptions. In the root directory and in individual week folders add:

  • A "summary" section (refer to Serverless) that provides gifs where applicable that demonstrate the deliverable of that week.
  • Learning objectives that concretely establish what students should take away from that week

In each individual week folder README.md files, also add:

  • A section that explains how the livestream helps students with homework. This should clarify for contributors how the two portions of the bitcamp work together.
  • Short and concise description of the live stream and homework

BitCamp/Serverless-Functions/README.md

Can a complete beginner who doesn't know anything about html, css, js do this? Are there any steps that should be taken before starting the camp? This is usually a good place to put prerequisites. Instructions for setting up, if any, can be put here or put as an assignment if that's too much for this README.

Improve Overview of Slack Bitcamp

Currently, the root md file documentation for Bitcamp Slack is detailed but not yet friendly for new open-source contributors unfamiliar with the camp. Split the "Overview:" into sections similar to that of the Serverless Bitcamp. This will clarify to contributors what tools the camp utilizes, what the objectives are, and what students will learn in a more readable format.

Improve Documentation of each Weeks 1 + 2

The Slack camp week descriptions (1 and 2) contain only "livestream" and "homework." In the root directory and in individual week folders add:

  • A "summary" section (refer to Serverless) that provides gifs where applicable that demonstrate the deliverable of that week.
  • Learning objectives that concretely establish what students should take away from that week
  • Consider shortening the homework and live stream descriptions and making them more concise.

In each individual week folder, add a section that explains how the livestream helps students with homework. This should clarify for contributors how the two portions of the bitcamp work together.

Improve documentation of the javascript curriculum

Currently, the README.md files for each of the weeks, as well as the one for the main repository does not provide enough context. Please add gifs/screenshots of the projects, more detailed descriptions, and links to videos (if exists).

Create README.md file (Javascript)

The Javascript Bitcamp does not currently have a root md file that gives a general description of the entire camp. Providing one allows contributors to get an idea of how the camp is structured and what the specific goals are of the camp. Create a README.md file for Bitcamp/Javascript that includes content from "Bitcamp Serverless ⚑" and stopping at "Week 1" in this file.

[BUG] Outdated Serverless Issues

Describe the bug

The serverless homework issues in this repository are outdated. They are missing the update from the new iteration.

Context

After the Fall 2020 iteration, the 2021 mentors revised the curriculum. The issues for the Learning Lab were edited and new md files were added. They are located here

Desired Outcome

The homework issues should be updated with the new curriculum revisions.

(Optional) Possible Solutions

Refer to the new Learning Lab repository and include the new response files.

Additional context

None.

[BUG] Make Serverless README.md more informative

Describe the bug

The main serverless README.md file contains a description: "Serverless architectures offer greater scalability, more flexibility, and quicker time to release, all at a reduced cost. Functions is also a great solution for processing bulk data, integrating systems, working with the internet-of-things (IoT), and building simple APIs and micro-services." that lacks information that would help students and/or open-source contributors.

Context

This is the file that requires improvement.

Desired Outcome

The new and improved description should provide more context as to what the students will be learning and how serverless functions can benefit them.

(Optional) Possible Solutions

An example of a good structure: https://www.codecademy.com/learn/learn-circuitpython

CircuitPython is a programming language designed to simplify experimenting and learning to program on hardware devices. It makes getting started with low-cost microcontroller boards easier than ever before. It adds hardware support for Python, so if you already have Python knowledge, you can easily apply that to using CircuitPython. If you have no previous experience, it’s really simple to get started!?

Additional context

None.

Improve documentation of the serverless curriculum

Currently, the README.md files for each of the weeks, as well as the one for the main repository does not provide enough context. Please add gifs/screenshots of the projects, more detailed descriptions, and links to videos (if exists).

[BUG] README.md Title and Formatting for @GameDev

Describe the bug
For Bitcamp GameDev, the READMEs and the repo is incorrectly formatted (as well, any README files should be called "README.md"). For documentation of bitcamps, we need to follow a standard guideline so all our repos are easy to access.

Context
Problem is within bitprj/Bitcamp/GameDev.

Desired Outcome
The outcome should be a complete repository with README files following the standard (which can be seen here: https://github.com/bitprj/BitCamp/tree/master/repo_logistics/sample-camp and as an example: https://github.com/bitprj/BitCamp/tree/master/Slack-Apps).

(Optional) Possible Solutions
None.

Additional context
If you need help with formatting it or have any questions (not relating to: https://github.com/bitprj/BitCamp/tree/master/repo_logistics/sample-camp) then reach out to @Bahburs.

Documentation for contributors

There's no documentation for anyone else to contribute to this.

Are you looking for students to take the course to contribute? There's no mention of contributing in the course.

If contributors are taken to this repo, there's no documentation on the organization and structure. You can link contributors directly to the file they want to contribute to as they take the course, but it looks like there's no way to know what can and needs to be changed without going through the lab to know the flow.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.