Skip to content

Add Week 4 Pair Programming README (closes #2653) - #2768

Open
Yosolita1978 wants to merge 1 commit into
Techtonica:mainfrom
Yosolita1978:week-4-pair-programming-readme
Open

Add Week 4 Pair Programming README (closes #2653)#2768
Yosolita1978 wants to merge 1 commit into
Techtonica:mainfrom
Yosolita1978:week-4-pair-programming-readme

Conversation

@Yosolita1978

Copy link
Copy Markdown
Contributor

📝 Description

Adds a summary README to pair-programming/week-4/ that orients learners to the
week's exercises, gives a suggested order, and explains how the React exercises
relate to each other. Continues the effort to organize the pair-programming
section.

🔂 Changes Made

  • Added pair-programming/week-4/README.md (new file only; no existing files changed or removed).
  • Documents the five exercises: Hello Component, React Button Part 1
    (react-props), React Button Part 2 (passing_props_from_child_to_parent),
    Button Component, and Mini Project: OOP.
  • Clarifies that React Button Part 1 and Part 2 are a two-part series rather than
    a duplicated exercise, and explains the genuine overlap between react-props
    and button-component.
  • Notes that the folders use two different toolchains: Vite (npm run dev) for
    react-props and passing_props_from_child_to_parent, react-scripts
    (npm start) for hello-component and button-component.
  • Identifies the vital concept: props, including how a function passed down
    as a prop lets information travel back up.
  • Adds a closing section contrasting the non-React mini project with React,
    making the point that array methods and classes are plain JavaScript and that
    what changes is how the result reaches the screen.

⚙️ Related Issue

🍏 Type of Change

  • Documentation update

🎁 Acceptance Criteria

  • A README exists in pair-programming/week-4/ summarizing all exercises in the folder.
  • Every folder referenced in the README matches something that exists.
  • The README explains the relationship between the exercises and identifies the
    core concept.

🧪 How to test or what to evaluate

  1. Open pair-programming/week-4/README.md and preview the Markdown (VS Code: Cmd+Shift+V).
  2. Confirm all headings render and all links are valid, including the relative
    link to javascript/first-js-oop-project.md.
  3. Cross-check the folder names listed against the folder contents.

🚀 Repo Notes (if applicable)

  • Table of contents: no update needed; this is a folder-level README.
  • Other repo areas impacted: none — documentation only.
  • Full-time program considerations: clearer guidance for the week; no new concepts.
    All exercises are JavaScript.

📸 Screenshots (if applicable)

N/A — Markdown documentation only.

✅ Checklist

  • I have performed a self-review of my code.
  • My code follows the style guidelines of this project.
  • I have commented my code where necessary.
  • I have tested my code locally and verified the website is working as expected.
  • (if applicable) I have added documentation in the README.
  • (if applicable) I have added tests that prove my fix is effective or that my feature works.
  • (if applicable) New and existing unit tests pass locally with my changes.

@naomiquinones naomiquinones left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this work. I made a few comments, some of which need @daaimah123's input.

Comment on lines +83 to +85
The mini project is here so React does not become the only tool you reach for.
Classes and DOM manipulation are plain JavaScript, and they stay useful whether or
not a framework is involved.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Flagging @daaimah123 on this as follow-up to Slack conversation. We should consider moving the Mini Project to the Week 3 folder since it uses plain JavaScript. If we keep it here, I suggest listing it as the first exercise rather than the last.

Comment on lines +28 to +31
5. **Mini Project: OOP** (`mini-project-OOP`) is the change of pace. No React
here. You write an `Event` class that can add tickets with a price and a
ticket type, let someone search by the price they can afford, and then show a
list of events on an HTML page.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We may want to make this the first exercise in the group, rather than the last. Or maybe move it to Week 3.

3. Pass a function into a component as a prop and call it when a button is clicked.
4. Send information from a child component back up to its parent.
5. Hold a piece of changing information with `useState`.
6. Write a JavaScript class with methods that store and filter data.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this is describing the learning objective for the Mini Project-OOP exercise, this should be moved if the exercise is moved.

2. React Button Part 1 (`react-props`)
3. React Button Part 2 (`passing_props_from_child_to_parent`)
4. Button Component (`button-component`)
5. Mini Project: OOP (`mini-project-OOP`)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Along with the other comments regarding this exercise, we may want to consider moving this to the beginning of the sequence or even to a prior week.

**The vital concept this week is props.** Props are how a React component
receives information from the outside. Almost everything else this week is a
different angle on that one idea.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These two sections could be consolidated into the Sequence and Motivation or Learning Objectives sections, as the listed order in "What is in this folder" is the same as the Sequence. The last paragraph is redundant with the first paragraph in the Motivation section.

Comment on lines +163 to +165
A React component is just a function that returns some markup. A prop is an
argument you pass to that function. That is genuinely all it is. When you write
this:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be useful to add that "prop" is just short for "property".

Comment on lines +137 to +141
1. These folders do not all start the same way. `react-props` and
`passing_props_from_child_to_parent` use Vite, so you run `npm install` and
then `npm run dev`. `hello-component` and `button-component` use
`react-scripts`, so you run `npm install` and then `npm start`. Check the
`package.json` if you are not sure which one you are in.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@daaimah123, do we want to update the exercises that use react-scripts to use Vite, or do we want to leave these as they are?

@naomiquinones

Copy link
Copy Markdown
Collaborator

@Yosolita1978, after discussing with @daaimah123, we agreed that the Mini Project OOP can go first in the sequence rather than last.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants