Skip to content

Commit

Permalink
additional link removed from intro-to-agile and prettier script added…
Browse files Browse the repository at this point in the history
… to package.json
  • Loading branch information
mx-ruthie committed Jun 14, 2023
1 parent d9d1acb commit 9791dfc
Show file tree
Hide file tree
Showing 158 changed files with 4,685 additions and 3,487 deletions.
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,4 +57,4 @@
1. Run `npm run validate-links` to find potentially dead links.
1. Check links against [our list of false positives](./meta/false-dead-links.md) to weed out the real dead links that need fixing.
1. Fix links and submit a pull request.
1. Search & check links from github.com & codepen.io manually. These sites block bots, so we are unable to test them effectively with our tool.
1. Search & check links from github.com & codepen.io manually. These sites block bots, so we are unable to test them effectively with our tool.
1 change: 0 additions & 1 deletion agile-development/intro-to-agile.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,6 @@ The Stacey complexity graph divides tasks into four different categories.

Sources / further reading:

- [Complexity Theory Stacey Diagram](https://www.gp-training.net/training/communication_skills/consultation/equipoise/complexity/stacey.htm)
- https://www.scrum-tips.com/2016/02/17/stacey-complexity-model/

_Describe step-by-step what needs to be done to prepare a cup of tea. (Baking a cake by following a recipe is another example to use). This should illustrate a defined process. Plot "making a cup of tea" on the Stacey graph._
Expand Down
2 changes: 0 additions & 2 deletions api/REST-API.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
- What is a Restful API?
- What is JSON?


### Prerequisites

Here are links to lessons that should be completed before this lesson:
Expand Down Expand Up @@ -701,4 +700,3 @@ Because practice makes perfect, especially with REST APIs, work with you pair on
- [Dinesh on Java](https://www.dineshonjava.com/what-is-rest-and-rest-architecture-and-rest-constraints/), to show you APIs can be built with any language but keep their familiarity.
- [Future Vision on Medium](https://medium.com/future-vision/what-are-the-constraints-of-rest-and-how-they-saved-the-internet-6fb8503138ab)
- [A visual blog post](https://blog.appscrip.com/what-is-restful-api-key-constraints-use-cases/)

3 changes: 1 addition & 2 deletions api/apis-and-json.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@
- What is the syntax and structure of JSON
- What is the difference between JSON and a Javascript Object?
- What are serialization and deserialization?
- How does one read data from a JSON?

- How does one read data from a JSON?

### Prerequisites

Expand Down
3 changes: 1 addition & 2 deletions api/intro-to-http.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,7 @@ Instead of using a browser, let's see what's happening underneath by using `nc`,

Extend your Node web server above to console.log which browser the user is uses. Try out mobile browsers to see how they look different.

Hint: Add this line to your server-side Node.js code `console.log(req.headers['user-agent'])`

Hint: Add this line to your server-side Node.js code `console.log(req.headers['user-agent'])`

#### How to know what is required?

Expand Down
6 changes: 2 additions & 4 deletions career/conflict-resolution.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
- Identify common ways to address conflict
- What are some ways you can become better at solving conflicts?


### Motivation

Whenever people spend more than a little time together, there will be conflict. We will learn ways to work through it while staying respectful and honest.
Expand Down Expand Up @@ -51,9 +50,9 @@ There are some ways of handling conflict; some are better than others. Some not

The key to conflict resolution is controlling how you can be honest and respectful!

#### Body Language Matters
#### Body Language Matters

How People Interpret Communciation:
How People Interpret Communciation:

Word choice = 7%
Body language = 55%
Expand All @@ -63,7 +62,6 @@ Note that 93% of how people interpret communication is through tone and body lan

Since body language and tone of voice are so important, there are some tips for how to convey positive body language, such as open arms, eye contact, upright posture, smiling, standing an appropriate distance away, etc. Some negative body language postures are closed arms, a slumped posture, no head movement, etc.


**What's important for dialogue is: Pool of Shared Meaning**

- It contains the ideas, theories, feelings, thoughts, and opinions that are openly shared.
Expand Down
8 changes: 4 additions & 4 deletions career/interviewing/negotiating.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,10 +74,10 @@ Form small groups and discuss the following questions:

- [Article (30 min read): Ten Rules for Negotiating a Job Offer](https://haseebq.com/my-ten-rules-for-negotiating-a-job-offer/)
- [Article (30 min read): How not to bomb your offer negotation](https://medium.freecodecamp.org/how-not-to-bomb-your-offer-negotiation-c46bb9bc7dea)
- [Exactly what to say when recruiters ask you to name the first number . . . and other negotiation word-for-words](http://blog.interviewing.io/exactly-what-to-say-when-recruiters-ask-you-to-name-the-first-number/)
- [Udacity/Michelle Lai: Negotiating your Engineering Offers (1 hour webinar)](https://youtu.be/jOBbb1ly4vo)
- [How to Start A Job Offer Negotiation WITHOUT LOSING MONEY - 5 Steps!](https://youtu.be/HrLfOBoAhu0)
- [Salary Negotiation: How to Ask When You Don't Have Leverage](https://youtu.be/OHgHX6ULELI)
- [Exactly what to say when recruiters ask you to name the first number . . . and other negotiation word-for-words](http://blog.interviewing.io/exactly-what-to-say-when-recruiters-ask-you-to-name-the-first-number/)
- [Udacity/Michelle Lai: Negotiating your Engineering Offers (1 hour webinar)](https://youtu.be/jOBbb1ly4vo)
- [How to Start A Job Offer Negotiation WITHOUT LOSING MONEY - 5 Steps!](https://youtu.be/HrLfOBoAhu0)
- [Salary Negotiation: How to Ask When You Don't Have Leverage](https://youtu.be/OHgHX6ULELI)
- [Top 3 Ways People Fail At Negotiation (and tips on how to fix them!)](https://youtu.be/WWc_xF18FTw)
- [Breaking Into Startups Podcast, Episode #81](https://breakingintostartups.com/melissa-hereford-how-to-win-in-salary-negotiations/)
- Find Salary Information: - [Triplebyte](https://triplebyte.com/software-engineer-salary) - [Glassdoor](https://www.glassdoor.com/index.htm) - [levels.fyi](https://www.levels.fyi/) - ['Blind' app for iOS/Android](https://play.google.com/store/apps/details?id=com.teamblind.blind&hl=en_US)
Expand Down
2 changes: 1 addition & 1 deletion career/roles-in-tech/roles-in-tech.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,6 @@
- **"Techtonica guarantees me a job as a software engineer after I complete the program."** Though we do our best to match each graduate with a sponsor company by the end of the program, we don't guarantee this outcome. If we aren't able to match you to a sponsor company, we'll mentor you through your job search and do our best to help you land your first role in tech.
- **"The only employees at a tech company who really matter are the engineers."** Engineers do get a lot of attention but the engineering department is one of many, and every department is essential in a growing company. The marketing department makes sure the product that the engineers built gets out into the world and brings in revenue. The product management department makes sure good and useful products are being built by the engineers. The HR and recruiting departments make sure the best people are hired into the company and that they're treated well while they're there. It's a whole ecosystem, and every person in it has an important role to play.


### Thought Activity

Check out some job ads for roles you might be interested in and make a list of the common skills and job responsibilities needed in order to qualify.
13 changes: 5 additions & 8 deletions chrome-developer-tools/chrome-developer-tools.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# Chrome Developer Tools


### Motivation

Chrome Developer Tools help tremendously with front-end development (HTML, CSS & JavaScript) and are also useful for running and debugging JavaScript code.
Expand All @@ -26,15 +25,14 @@ Chrome Developer Tools help tremendously with front-end development (HTML, CSS &

- [Chrome Developer Tools (video walkthrough of slides)](https://drive.google.com/file/d/1LV6lOI0MRKUVSaDlSipiy6JX8EtEaYjH/view?usp=sharing)
- [Chrome Developer Tools (slides)](https://docs.google.com/presentation/d/1z8aIzOxV5L-zW3MZmZhX67DgyLq_4ErO4yTS4CIp7R0/edit?usp=sharing)
- [Debug JavaScript](https://developer.chrome.com/docs/devtools/javascript/) - Read on, or watch the video version
- [Debug JavaScript](https://developer.chrome.com/docs/devtools/javascript/) - Read on, or watch the video version

### Common Mistakes / Misconceptions

- **"Websites are so mysterious! I can't find out how they're made."** Hopefully this lesson has shown you how to find the code behind your favorite websites!
- **"All the source code I'll see using Chrome Dev Tools is good-quality code."** Most of the code you'll see will be good-quality code if you're looking at the website of a reputable or well-known company. There are exceptions, however.
- **"I can just copy and paste whatever code I find using Chrome Dev Tools."** You should always 1) Understand the code you want to use before you put it into your own project, and 2) Give proper credit to the company or person who wrote the code.


### Independent Practice

1. Navigate to one of your favorite websites.
Expand All @@ -43,16 +41,15 @@ Chrome Developer Tools help tremendously with front-end development (HTML, CSS &

3. Open the Developer Tools pane and navigate to the "Elements" tab.

3a. Activate the mouseover tool and hover over different elements of the webpage.
What parts of the HTML & CSS code become highlighted when you mouseover certain parts of the webpage?
3a. Activate the mouseover tool and hover over different elements of the webpage.
What parts of the HTML & CSS code become highlighted when you mouseover certain parts of the webpage?

3b. Deactivate the mouseover tool. Click on the mobile tool and view the webpage
on a variety of screen sizes. Is the webpage responsive (elements change size
and layout based on screen size) or not?
on a variety of screen sizes. Is the webpage responsive (elements change size
and layout based on screen size) or not?

4. Open the JavaScript console. What do you see?


### Supplemental Materials

- [Quick Source Viewer Chrome Extension](https://chrome.google.com/webstore/detail/quick-source-viewer/cfmcghennfbpmhemnnfjhkdmnbidpanb?hl=en-US)
Expand Down
48 changes: 26 additions & 22 deletions code-challenges/Objects.md
Original file line number Diff line number Diff line change
@@ -1,65 +1,69 @@
# Code Challenges using Objects - JavaScript

## Resources:
* [Techtonica Lesson about Objects Literals](https://github.com/Techtonica/curriculum/blob/main/javascript/javascript-6-object-literals.md)

- [Techtonica Lesson about Objects Literals](https://github.com/Techtonica/curriculum/blob/main/javascript/javascript-6-object-literals.md)

## Motivation

Techtonica's JavaScript lessons set a solid foundation in JavaScript basics so we can use the language in more robust ways in later studies. Nevertheless, you want to practice problems that use objects as a preparation for your technical interview.

## Objectives

Participants will be able to:
* Work each problem as a code challenge
* Work their solutions using functions
* Test their solutions with several test cases

- Work each problem as a code challenge
- Work their solutions using functions
- Test their solutions with several test cases

## Things to Remember
* If a property name is composed of multiple words, the convention is to use camelCase.
* If a property name with spaces is absolutely required, then you'll only be able to use braket notation to access it's associated value. You won't be able to use dot-notation.
* Accessing the value of an Object Literal's properties with dot-notation makes the code easier to read and requires less typing. But bracket-notation allows for dynamic accessing, like what you do when you use a loop
* An Object Literal's values can be any data type, but its properties can only be strings
* Object Literals can be nested in complex ways
* All Object Literals come with some default methods, such as `.hasOwnProperty()`
* Never use reserved keywords for property names (like `function, var, switch,` etc.)

- If a property name is composed of multiple words, the convention is to use camelCase.
- If a property name with spaces is absolutely required, then you'll only be able to use braket notation to access it's associated value. You won't be able to use dot-notation.
- Accessing the value of an Object Literal's properties with dot-notation makes the code easier to read and requires less typing. But bracket-notation allows for dynamic accessing, like what you do when you use a loop
- An Object Literal's values can be any data type, but its properties can only be strings
- Object Literals can be nested in complex ways
- All Object Literals come with some default methods, such as `.hasOwnProperty()`
- Never use reserved keywords for property names (like `function, var, switch,` etc.)

### Problem Sets

Question | Test Cases | Solutions

#### Problem 1 -
#### Problem 1 -

Write a function that deletes the cohortNumber property from the following object. Also print the object after deleting the property.
Write a function that deletes the cohortNumber property from the following object. Also print the object after deleting the property.

Sample object:
let Techtonica = {
studentName : "Your Name",
favoriteLanguage : "Your favorite language",
Sample object:
let Techtonica = {
studentName : "Your Name",
favoriteLanguage : "Your favorite language",
cohortNumber : 3 };

Needs sample solution.

#### Problem 2 -
#### Problem 2 -

Write a function that returns all the values of an object's values.

let sampleObject = {
let sampleObject = {
sampleProp1: “sample value 1”,
sampleProp2: “sample value 2”,
sampleProp3: “sample value 3”
}

objectValues() → “sample value 1”, “sample value 2”, “sample value 3”
objectValues() → “sample value 1”, “sample value 2”, “sample value 3”

Needs 2 more test objects
Needs sample solution

#### Problem 3 -
#### Problem 3 -

Create a grades object that stores a collection of student grades in an object. Provide a function for adding a grade and a function for displaying the student’s grade average.

Needs sample solution

#### Problem 4 -
#### Problem 4 -

Create an object that stores individual letters in an array and has a function for displaying the letters as a single word.

Expand Down
58 changes: 34 additions & 24 deletions code-challenges/arrays.md
Original file line number Diff line number Diff line change
@@ -1,57 +1,64 @@
# Code Challenges about Arrays - JavaScript

## Resources:
* [Techtonica Lesson about Arrays](https://github.com/Techtonica/curriculum/blob/main/javascript/javascript-2-array-functions.md)

- [Techtonica Lesson about Arrays](https://github.com/Techtonica/curriculum/blob/main/javascript/javascript-2-array-functions.md)

## Motivation

Techtonica's JavaScript lessons set a solid foundation in JavaScript basics so we can use the language in more robust ways in later studies. Nevertheless, you want to practice problems that use arrays as a preparation for your technical interview.

## Objectives

Participants will be able to:
* Work each problem as a code challenge
* Work their solutions using functions
* Test their solutions with several test cases

- Work each problem as a code challenge
- Work their solutions using functions
- Test their solutions with several test cases

## Things to Remember

Make sure that you know the answer to this questions:
* What do the methods push() and pop() do?
* How would you access the first and last item in an array?
* What does arrayName.length do?
* How would you index into the following array to get Cookie? let dessertArray = [ ["Pie", 4], ["Cupcake”, 5], ["Cookie", 12] ];
* What's the difference and similarities between var, let and const?
* What's the difference between parameters and arguments? Show an example.
* What is the difference between local scope and global scope?

- What do the methods push() and pop() do?
- How would you access the first and last item in an array?
- What does arrayName.length do?
- How would you index into the following array to get Cookie? let dessertArray = [ ["Pie", 4], ["Cupcake”, 5], ["Cookie", 12] ];
- What's the difference and similarities between var, let and const?
- What's the difference between parameters and arguments? Show an example.
- What is the difference between local scope and global scope?

### Problem Sets

Question | Test Cases | Solutions

#### Problem 1 -
#### Problem 1 -

Write a function that takes in an array and joins all elements of the array into a string.

arrayToString([“Hello”, “World”, “How”, “Are”, “You”]) → ”Hello World How Are You”
arrayToString([“l”, “Am”, “Learning”, “How”, “To”, “Code”]) → “I Am Learning How To Code”
arrayToString([“l”, “Am”, “Learning”, “How”, “To”, “Code”]) → “I Am Learning How To Code”

Needs one additional test case
Needs sample solution

#### Problem 2 -
#### Problem 2 -

Store a set of words in an array and display the contents both forward and backward.

Needs test cases
Needs sample solution

#### Problem 3 -
#### Problem 3 -

Given an array of ints, return true if one of the first 4 elements in the array is a 9. The array length may be less than 4.

array_front9([1, 2, 9, 3, 4]) → true
array_front9([1, 2, 3, 4, 9]) → false
array_front9([1, 2, 3, 4, 5]) → false
Needs sample solution
#### Problem 4 -

#### Problem 4 -

Given an array of ints, return true if the sequence of numbers 1, 2, 3 appears in the array somewhere.

Expand All @@ -60,7 +67,8 @@ array123([1, 1, 2, 4, 1]) → false
array123([1, 1, 2, 1, 2, 3]) → true
Needs sample solution

#### Problem 5 -
#### Problem 5 -

Given an array of ints, return the number of 9's in the array.

array_count9([1, 2, 9]) → 1
Expand All @@ -69,19 +77,19 @@ array_count9([1, 9, 9, 3, 9]) → 3

Needs sample solution

#### Problem 6 -
#### Problem 6 -

Given an array of ints, return true if 6 appears as either the first or last element in the array. The array will be length 1 or more.

You must solve this in O(1) time, which means without looping through the array
You must solve this in O(1) time, which means without looping through the array

first_last6([1, 2, 6]) → true
first_last6([6, 1, 2, 3]) → true
first_last6([13, 6, 1, 2, 3]) → false

Needs sample solution

#### Problem 7 -
#### Problem 7 -

Given 2 arrays of ints, a and b, return true if they have the same first element or they have the same last element. Both arrays will be length 1 or more.

Expand All @@ -91,16 +99,17 @@ common_end([1, 2, 3], [1, 3]) → true

Needs sample solution

#### Problem 8 -
#### Problem 8 -

Given an array of ints with a length of 3, return a new array with the elements in reverse order.

reverse3([1, 2, 3]) → [3, 2, 1]
reverse3([5, 11, 9]) → [9, 11, 5]
reverse3([7, 0, 0]) → [0, 0, 7]

Needs sample solution

#### Problem 9 -
#### Problem 9 -

Given 2 int arrays, a and b, each length 3, return a new array length 2 containing their middle elements.

middle_way([1, 2, 3], [4, 5, 6]) → [2, 5]
Expand All @@ -109,7 +118,8 @@ middle_way([5, 2, 9], [1, 4, 5]) → [2, 4]

Needs sample solution

#### Problem 10 -
#### Problem 10 -

Given an array of ints, return true if the array is length 1 or more, and the first element and the last element are equal.

same_first_last([1, 2, 3]) → false
Expand Down
Loading

0 comments on commit 9791dfc

Please sign in to comment.