Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
c1572c6
Add files via upload
allenaavila Jun 19, 2020
1e600a0
Create navigating_github.md
chocohazel926 Jun 23, 2020
0877a1f
Technical Resources Blog Proposal
hackmd-deploy Jun 25, 2020
2470dc0
Update How to Find and Use Technical Resources if You’re New to Tech:…
allenaavila Jun 29, 2020
2d8b668
Update navigating_github.md
chocohazel926 Jun 29, 2020
2482363
Update navigating_github.md
allenaavila Jul 6, 2020
03a86e4
Rename navigating_github.md to blogs/navigating_github.md
shreythecray Jul 6, 2020
6550f98
Rename AGuidetoTechnicalWriting/proposal.md to blog/AGuidetoTechnical…
shreythecray Jul 6, 2020
df32d10
Delete daviscsclubs.md
shreythecray Jul 6, 2020
4d7eabc
Update How to Find and Use Technical Resources if You’re New to Tech:…
allenaavila Jul 8, 2020
b6a68d1
Update How to Find and Use Technical Resources if You’re New to Tech:…
allenaavila Jul 15, 2020
bf54c92
Update How to Find and Use Technical Resources if You’re New to Tech:…
allenaavila Jul 15, 2020
eba923e
Update How to Find and Use Technical Resources if You’re New to Tech:…
allenaavila Jul 15, 2020
eb5cf3a
Update How to Find and Use Technical Resources if You’re New to Tech:…
allenaavila Jul 15, 2020
f5e0053
Update How to Find and Use Technical Resources if You’re New to Tech:…
allenaavila Jul 15, 2020
b333ab6
Update How to Find and Use Technical Resources if You’re New to Tech:…
allenaavila Jul 15, 2020
29a392e
Update How to Find and Use Technical Resources if You’re New to Tech:…
allenaavila Jul 15, 2020
f4372e7
Update How to Find and Use Technical Resources if You’re New to Tech:…
allenaavila Jul 15, 2020
0d14ecb
Merge pull request #87 from allenaavila/allena-blogproposal
shreythecray Jul 15, 2020
7189ea0
Update writingteamblogproposal.md
alliebailey Jul 15, 2020
2f6b9b8
Update writingteamblogproposal.md
alliebailey Jul 15, 2020
a8756da
Update
alliebailey Jul 15, 2020
d5b23ec
Update collegecsadvisors.md
shreythecray Aug 2, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/writingteamblogproposal.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,14 @@

{Explain who the blog is targeted towards, including experience level with your topic or information they are interested in}

**Sources:**

{List sites/links where you plan to get info from}

{List potential people to interview, within or outside of Bit (names aren't necessary, i.e. 'someone from the people team' is fine)}

{Include at least 3 questions you would like to ask during interviews}

### Step Two

**Outline Blog:**
Expand Down
2 changes: 1 addition & 1 deletion EmailTemplates/collegecsadvisors.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ and/or 2. Set up meeting with Shreya, yourself, and advisor
## EMAIL:
*[Make sure to replace subject, name, year, major, and signature]*

**Subject:** Opportunity for **[UNIVERSITY NAME]** Students to Contribute to Open Source
**Subject:** Opportunity for University Students to Contribute to Open Source

Hi,

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# Draft 3.0 - Finding Useful Coding Resources When You've Hit a Wall

Knowing how to code is invaluable knowledge, no matter what level of mastery you're at. If you want to expand and strengthen your programming skills, awesome! But whether you've just started learning how to program or you've been doing this for years, you've likely run into some obstacles during your coding journey.

That's why we've compiled a list of tips on finding useful coding resources and some of our personal favorites. If you feel like you've hit a wall with your code, we hope you'll finding something that helps you out below!

## The Power of Googling

Search engines are your best friends, and this is the number one way to find resources online because the internet is always there for you, no matter what time of day.

If you can't find what you're looking for right away, it can feel pretty frustrating. But it's important to not give up!

According to one of Bit Project's developers, Julia Ma, "One mistake I see a lot of beginners make is that they don’t Google. When it comes to a problem that is coding-related — syntax, error, code compiling — always Google before you ask somebody because that’s how you learn the best."

![](https://i.imgur.com/LyV2EDk.png)

Sometimes you have to get specific with your search to get faster, better results. For example, you can get creative with what types of resources you look for: walkthroughs, documentation, [blog posts about coding](https://medium.com/topic/programming), etc. Or you can copy and paste the code you're having issues with directly into Google.

No matter how you do it, Googling is a vital skill that will guide you towards countless of helpful coding resources.

## Stack Overflow

Every single Bit Project member I have talked to mentioned [Stack Overflow](https://stackoverflow.com/). They all cited this resource as one they always turn to in times of need.

![](https://i.imgur.com/D1WrwSL.png)

Stack Overflow provides you with a large, detailed library of questions that have been answered by professionals and other seasoned programmers. Everything you find on the site is meant for you to learn from, so don't hesitate to use it.

"Stack Overflow is probably a software engineer's best friend," said Bryan Wong, director of engineering at Bit Project. "Any question you have, someone else is likely to have the exact same question as you. So if I’m really stuck on a problem, Stack Overflow is the way to go."

## GeeksforGeeks

Another frequently mentioned resource was [GeeksforGeeks](https://www.geeksforgeeks.org/). This site, like Stack Overflow, also provides you with lots of detailed explanations on code. But while Stack Overflow is great for looking up answers for specific questions, GeeksforGeeks helps you strengthen your understanding of the concept behind the code.

![](https://i.imgur.com/j6Ke9X1.png)

Many members of Bit Project — like Atul Jayaram, QA manager — pointed to this site as a great resource if you're struggling to conceptualize programming languages. Specifically, they said GeeksforGeeks was a great place to quickly learn about C++ and Python, although there are lots of other tutorials offered by the organization that focus on a range of topics like algorithims, data structures, and numerous other langauges.

So if you're looking to build a stronger understanding of why code works — not just how it works — GeeksforGeeks can be your go-to.

## W3Schools

[W3Schools](https://www.w3schools.com/) is a great place to bookmark if your projects focus on web development.

![](https://i.imgur.com/JuXl3KQ.png)

As you can see in the above photo, there's lots of web development languages you can learn: HTML, CSS, JavaScript, Python, ... the list goes on.

This site only offers written tutorials, but it's a good reference point when you're coding. With W3Schools, you can actually open examples in their online editor and try playing around with it to better understand how the code works.

## Youtube

Earlier, I said that search engines like Google are your best friends, but that's not 100% accurate. In reality, Google AND Youtube are your best friends. You can look for video tutorials and walkthroughts of all levels where an expert can *show* you how to code and give you an explanation.

![](https://i.imgur.com/E3zzaD6.jpg)

For instance, some Bit Project members like to look up tutorials on specific coding projects; then they code along with the tutorial and add their own unique features to the project as they go. But others, like developer Kathy Liu, prefer to use Youtube tutorials about the theory of programming because they help her understand the concept of code so she can more easily apply what she's learned to future projects later on.

No matter your preferred learning style, you should be able to easily find helpful Youtube videos that suit your needs and goals as a progammer.

## Resources with Open-Source Code

Finding resources where you can check out open-source code will also greatly benefit you if you're looking for help. One resource you can use is GitHub, an open source code repository. Because [GitHub] (https://github.com/open-source) is the largest open source community in the whole world, there's lots of projects available for you to reference to improve your own work (or even possibly contribute to!).

![](https://i.imgur.com/LLMvG6z.png)

What's nice about GitHub is that you don't need to be an expert to use it. You can learn a lot just by going through other programmers' code, building off of what's there, or following projects that you find particularly interesting to see how they evolve over time.

Personally, we here at Bit Project incorporate GitHub into our work-flow because it allows us to collaborate and share ideas with each other, and [we love using open-source software to help educate students about important STEM topics](https://www.bitproject.org/curriculum).

## Online Coding Lessons and Assessments

If you are looking for more structured learning, there are plenty of sites dedicated to teaching coders.

On one hand, a great place to start if you're a novice programmer is freeCodeCamp. This nonprofit organization teaches users code through easy-to-manage lessons. They also have Youtube videos and can connect you to a community of others who are just as excited about coding as you are.

![](https://i.imgur.com/lvwpLIA.png)

On the other hand, there are also sites for you if you're more advanced and want rigorous assessments to help you practice your skills (perhaps even to prepare you for technical interviews for jobs!). That's why we would suggest sites like [HackerRank](https://www.hackerrank.com/) or [LeetCode](https://leetcode.com/). These are great resources that can help teach how to approach problems with common practices used in the industry.

## A Positive Mindset to Coding

Now that you know some helpful resources, you can learn as little or as much code as you want. All you have to do is utilize the hundreds of free websites, videos, and documentation that are already out there on the internet.

However, with so much information out there, it's understandable that you as a programmer might feel a bit overwhelmed. Perhaps you might even feel like there's so much to learn that you'll never be as good enough as others.

When you've hit that sort of wall — a mental obstacle, not just a technical bug hindering your code — it can be difficult to find a way to overcome it.

Luckily, Kyle Begovich, Bit Project's director of developer relations, shared this great bit of advice you should keep in mind: "The imposter syndrome is a mistake people who want to code make. You come to the conclusion that you don’t belong here, or you don’t have any original ideas. But if you have figured out that this idea is done and that idea done, you can start to figure out what could be that next step. And that's where the learning takes place."

So try to keep up a positive mindset throughout your coding journey. It can be difficult, but dedicating yourself to learning something you're passionate about is worthwhile!

After all, with all these available resources, the possibilites for coding projects are endless. Use what you learn to start your own project in your freetime — perhaps a website, an app, etc. Then, share what you create with others to show off how much you've learned and to help your fellow aspiring programmers.
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,4 @@ Technical writing is different from a typical blogpost. The topic, who you're wr
- Include images, videos or diagrams: These can be really helpful, especially when explaining how to navigate a platform or referencing something specific. Avoid fluffy photos; only use ones that enhance the understanding of a concept.

**Conclusion**
These tips can improve your ability to write about technical topics, even when you don't have a lot of past experience. Not only that, but when using the right resources, you can learn a lot about something and teach it to yourself in the process of writing about it.
These tips can improve your ability to write about technical topics, even when you don't have a lot of past experience. Not only that, but when using the right resources, you can learn a lot about something and teach it to yourself in the process of writing about it.
37 changes: 37 additions & 0 deletions blogs/navigating_github.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Navigating Github.md
Title: Navigating Github

Topic: Reviewing Github features

Description: This blog will give a brief introduction to Github, a software development platform where developers can collaborate on different projects. At Bit Project, Github is used to create, review, and edit projects, with teams involved in different steps along the way.

Target Audience: This blog is targeted towards individuals new to using Github. Coding experience is not required to navigate Github, as the blog will outline features of Github frequently used in Bit Project.

Blog Draft:

Github is a software development platform where developers can collaborate on different projects. At Bit Project, we use Github to create, review, and edit projects, with different teams involved in steps along the way. This blog is a learning supplement that will help you navigate Github and understand some key Github terminology. No coding experience is required.

# Locating & Opening Repositories

Once you have created a Github account, you can be directed to the following page: {insert screenshot}
Notice on the left we have two repositories labeled “bitprj/marketing” and “bitprj/onboarding.” A repository is a folder containing multiple files. The “bitprj/marketing” repository here contains files relevant to the marketing team’s tasks or assignments. Once we click on the repository, we come to the following page: {insert screenshot}

We can see we are in the “Code” tab, which has multiple files below. One of the more important tabs used frequently is the “Issues” tab. Think of the “Issues” tab as an email inbox — it keeps track of updates made to a project. You can see comments made by other team members, and you can see the “assignee” to the issue, who is the person primarily responsible to work on the issue. Play around with the multiple filters in the Issues tab to see your assignments or created files.

In order to view comments and edits made to a project by other members, view the “pull requests” tab. A “pull request” is a proposed change made by another member. When a member is editing a file, their edit is a “commit” that can be pushed. Once the desired edits to a file have been made, the pull request can be “merged” to reflect new changes in the file.

**Activity #1**: Try creating a file in a repository. You can add any content to your file. Once you have finished, title the file according to the following format: “marketing / navigating_github.md” and submit.

# Making Pull Requests & Editing Files

Once a file is made, it can be shared with other members for review and editing. To do this, a pull request must be created. The first step is to go to the repository of choice (one that you have access to). Then, choose the branch that contains all of your edits (“commits”). A branch is a version of the repository where you can make edits without changing the original version.
Select “pull request,” which will direct you to a page where you can specify to which branch the edits can be merged. {insert screenshot}

Note: All files that you initially see are in the master branch. The edits you make to a file will be in a separate branch. Once editing is complete, these two branches will be “merged” as mentioned earlier.

To edit a file created by another member, you must be granted access to the file.

**Activity #2**: Create a pull request for the file you created in Activity #1. Remember to check that the branch that you have created for the file is different from the master branch of the repository!

While Github can seem to be a challenging platform to use, completing these tasks can help users become more familiar with Github. This Github glossary on commonly used terms (such as repository, pull request, commit, etc.) is another excellent supplement to guide learning when navigating Github. At Bit Project, Github is a platform where members can share their ideas, so understanding the basics ensures that smooth communication throughout our team
. Be sure to ask and clarify questions about Github with fellow members through the Slack channel!
20 changes: 0 additions & 20 deletions contacts/daviscsclubs.md

This file was deleted.