Vets Who Code Pre-Work
Published: 2023-02-01 22:49:23

## Web Development with Javascript

Welcome to the official Vets Who Code Prework.
This document outlines background work that the troop must complete before starting the course. The prework covers the basics so we can focus on more complex subjects. This means we only teach troops the basics of programming once accepted. Here's an article on our thoughts on why we've set this bar. Completing the prework allows us to focus on introducing troops to programming as a job. Troops will work as if they already have a job by solving the types of problems you would focus on in a team environment instead of working on assignments focused on complete isolation.

### Why is basic programming a prereq at Vets Who Code?

Programming is a lot like baking. It's easy to make a cake, but it's also not easy to make a good one. A programmer needs to understand three concepts:

A sequence of commands (The proper commands in the correct order)

Conditional structures (Do certain things based on a true or false, yes or no decision)

Looping structures (A list of instructions to do more than once)

By having that knowledge as a part of the prework, we can assume several characteristics of our candidates. These applicants will have demonstrated the ability to find and translate information on the internet into runnable code.

They have also proven their ability to manage time effectively and meet deadlines. This is important because we will ask our candidates to work in teams and submit work promptly.

## Proof of work

The central traits we look for in students are technical problem-solving, consistency, and grit. To demonstrate that we'd like students to demonstrate their understanding of programming basics:

- Variable assignment
- Basic Math operations
- Strings
- Conditional logic
- Loops
- Functions
- Arrays
- String/Array methods
- Objects (properties/methods)

#### Programming Basic Submission Formats

Use any one of the below formats to get something that you can prove your understanding of the above programming basics.

Running Code
You can upload your code to one of these services and have it run. There will be a shareable URL that you can use to reference this code.

- [repl.it](https://repl.it)
- Code in a [codepen](https://codepen.io)
- [Github codespaces](https://docs.github.com/en/codespaces)

##### Code Repository

If you know a programming language that isn't easy to run then you can use a [code repository](https://www.quora.com/What-is-a-code-repository-used-for). However, please have a detailed README.md document explaining how the code is run and maybe screenshots of what it looks like when it is run.

### Work Submission Format

In the Prework text box on the course application form, submit a link to a deployed [Github Pages](https://docs.github.com/en/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site) website that has:

- A link to the [Github Repository](https://docs.github.com/en/repositories) holding the website code
- A link or image showing the proof of work demonstrating understanding of [Programming Basics](#Programming-Basic-Submission-Formats)

### Resources

- Shaye Howe's [Getting to Know HTML](https://learn.shayhowe.com/html-css/getting-to-know-html/) explains how to build a web page.
- The Odin Project's [Javascript Basics](https://www.theodinproject.com/paths/foundations/courses/foundations#javascript-basics) course up until [Fundamentals Part 4](https://www.theodinproject.com/lessons/foundations-fundamentals-part-4) covers all the programming topics needed for proof of work.