Skip to content

Commit

Permalink
Merge branch 'main' into lab-instructions
Browse files Browse the repository at this point in the history
  • Loading branch information
firasm authored Jun 12, 2024
2 parents 03609bd + 640dcd8 commit 08bbcaa
Show file tree
Hide file tree
Showing 6 changed files with 149 additions and 34 deletions.
60 changes: 31 additions & 29 deletions _toc.yml
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
format: jb-book
root: about/syllabus
parts:
- caption: About this course
chapters:
# - file: about/syllabus
- file: about/course_schedule
- file: about/rubrics
- file: about/waitlist
# - file: about/accommodations
# - file: about/doing_well
# - file: about/faq
- caption: About this course
chapters:
# - file: about/syllabus
- file: about/course_schedule
- file: about/rubrics
- file: about/waitlist
# - file: about/accommodations
# - file: about/doing_well
# - file: about/faq

- caption: Part 1 - Getting Started
maxdepth: 1
chapters:
- file: notes/part01/workshop01
title: Workshop 1
- file: notes/part01/assignment01
- file: notes/part01/lab01A
- file: notes/part01/lab01B

- caption: Part 1 - Getting Started
maxdepth: 1
chapters:
- file: notes/part01/workshop01
title: Workshop 1
- file: notes/part01/assignment01
- file: notes/part01/lab01A
- file: notes/part01/lab01B

- caption: Part 2 - React
maxdepth: 1
chapters:
Expand All @@ -29,11 +29,16 @@ parts:
- file: notes/part02/lab02A
- file: notes/part02/lab02B

# - caption: Part 3 - NodeJS
# maxdepth: 1
# chapters:
- caption: Part 3 - NodeJS
maxdepth: 1
chapters:
- file: notes/part03/workshop03
title: Workshop 3
- file: notes/part03/assignment03
- file: notes/part03/lab03A
# - file: notes/part03/lab03B


# - caption: Part 4 - MongoDB
# maxdepth: 1
# chapters:
Expand All @@ -54,16 +59,13 @@ parts:
- file: notes/project/team_formation
- file: notes/project/progress01
- file: notes/project/progress02
- file: notes/project/progress03

- caption: Course Project
chapters:
- file: notes/project/team_formation
- file: notes/project/progress01
- caption: Course Feedback
chapters:
- file: about/feedback
title: Anonymous Feedback Form

- caption: Course Feedback
chapters:
- file: about/feedback
title: Anonymous Feedback Form
# - caption: Tools
# chapters:
# - file: tools/ed_discussion/ed_discussion
Expand Down
8 changes: 4 additions & 4 deletions about/unsyllabus_bits/academic_integrity.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@ Though I sympathize with students and the stresses of your busy lives - in my op
I have tried extremely hard to make this course focused on learning rather than grading, and where grading is needed, to have policies that are as student-friendly as possible.
In particular, I hope (and expect) that the following features of the course should eliminate your temptation to cheat or plagiarize:

- {{ GRACE_PERIOD }} grace-period on all due dates.
- Long testing window so you can start the tests whenever you're comfortable.
- Weekly learning logs, homework and reading reflections to make you think about your learning ([metacognition](https://cft.vanderbilt.edu/guides-sub-pages/metacognition/)).
<!-- - {{ GRACE_PERIOD }} grace-period on all due dates. -->
<!-- - Long testing window so you can start the tests whenever you're comfortable. -->
<!-- - Weekly learning logs, homework and reading reflections to make you think about your learning ([metacognition](https://cft.vanderbilt.edu/guides-sub-pages/metacognition/)). -->
<!-- - Each test has a "bonus test" available one week later; for each test, we will take the better score of the pair. -->
- No high-stakes exams (the single largest assessment item is the final exam).
<!-- - No high-stakes exams (the single largest assessment item is the final exam). -->
<!-- - All course assessments are completely open book, open notes, and open web (except for cheating websites like Chegg, CourseHero, Slader, Bartleby, etc...) -->
- Plenty of TA and instructor student hours and several outside of normal business hours.
- Class website that outlines exactly what you should do when to help you manage your time.
Expand Down
3 changes: 2 additions & 1 deletion about/unsyllabus_bits/grading_practices_detailed.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,12 @@ Students must have extensive consultations with the course staff in advance of a
During these consultations, students may be recommended to withdraw from the course if the teaching team feels the absence would be too disruptive.
```

<!--
```{attention}
All due dates in this course have an automatic {{ GRACE_PERIOD }} grace period after the due dates listed above.
Any submissions submitted past the grace period will not be graded (with some exceptions).
```
-->

<!--
```{note}
Expand Down
65 changes: 65 additions & 0 deletions notes/part03/assignment03.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Assignment 3

Your Assignment 3 work should be done in the general assignment repo you accepted last week. If you haven't yet accepted it, you can [do so here](https://classroom.github.com/a/aS7pjGjo).

## Details

**Team member website… Continued**

For the third assignment, you’ll be adding more functionality to your member website, now with Node and Express! It will build on the previous assignment, so start from your completed assignment 2, and begin to incorporate the requirements below.

**Important Note:** DO NOT use any type of Database. You will be penalized if you do.


1. You MUST use **Node AND Express**, and start your assignment from your completed assignment 2. Remember, you will be asked to explain sections of your code.


2. Store your initial member data as JSON on your server side. (You still don’t have a DB at this stage, so your web app will revert to this default list every time you restart your server.)


3. The initial member data should be loaded using a GET request to your server when your web page loads.


4. Ability to add a new member using a POST request.


5. Ability to delete an individual member.


6. Basic styling. (Do not spend too much time on this, and re-use as much as you’d like from Assignment 1! You will not be graded on Unit 1 material.)

7. Something cool and extra! This is wide open for you to explore, and try to push your knowledge and boundaries. **Must use Unit 3 technology to complete this requirement.**

For example:
- Ability to edit a member(PUT or PATCH)
- Ability to fetch extra information when the member is clicked (not already fetched from server)
- Ability to search/filter/sort when fetching (Searching/filtering/sorting on client side only does not fulfill this requirement.)
- Support pagination of your data - add metadata to your response headers perhaps?

As described in the individual assignment rubric, your code will need to meet these requirements and be functional, up to perhaps a few minor glitches in tricky cases. Note that functionality includes both user-visible and console-visible issues.

It’s up to you! We’re hoping that you’ll use the above requirements as a guide, but that you’ll let your imagination take over, and build something unique and interesting!

You should be ready to demo this to a TA during your second week lab, and should be ready to answer questions about the technology, as well as explain what you’ve done.

HAVE FUN!!!

## Grading Rubric

You can see the [grading rubric here](page_rubric):

## Submission Instructions

- Your final code must be committed to an `Assignment3` branch in a Github repo before the due date.
- You will need to submit a link to your branch on Canvas before the due date.

## Frequently Asked Questions

- **This tutorial I followed already has a DB, can I just leave it in?**
No. Please remove it, and any DB-related code.

- **In assignment 2, I implemented delete and edit and search. Do I need to make sure they all work?**
No, you don’t need to keep all of the functionality from your previous assignments, as long as you’ve met the requirements for this assignment.

- **Do I still need to use React and Redux?**
Yes. Each of your assignments build on each other, so you need to continue to use all of the technology taught in class.
24 changes: 24 additions & 0 deletions notes/part03/workshop03.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Workshop 3: Saturday June 8, 2024

Below are the slides from today's class embedded and [linked here](https://docs.google.com/presentation/d/1AAfZtwk5tG38X3q-Q_kQuI8mml_ma95-eAKbWZUrTco/edit?usp=sharing).

## Pre-Workshop Tasks

Your pre-workshop work will ensure that you're set up for our in-class activities this Saturday!
It should take about 5 minutes (or less), and if you do get stuck, ask your TAs in lab, or post in the #workshop-3 channel.

1. Install node if you haven’t already. You should already have it though.
2. Create a new folder for your backend server and cd into it, run `npx express-generator --no-view`
3. This will setup a basic express application that we will work from during the workshop.
4. Run an `npm install && npm run start` to start the express application.
5. Navigate to `http://localhost:3000` to ensure that it is running.
6. (Optional) Install Postman.
7. (Optional) Familiarize yourself with this repo. This will be the frontend that will be used during class.

That's it !

## Technical Content slides

<div>
<iframe src="" frameborder="0" width="100%" height="600px" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe>
</div>
23 changes: 23 additions & 0 deletions notes/project/progress03.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Progress 3

## Project Requirements:

Must be completed with your group before Workshop 4.

- Begin to **add Redux** to your app. Think of the main type of data you will be storing (e.g. list of recipes, list of songs) and think about how you would like this data to be “connected” to your components.
- Put some **default data** in your reducer(s). (Later it will be stored in the DB.)
- Connect the default data to at least one component in order to **display** it. Note: You have probably already made some components from the previous project work, so now just make sure at least one of them is rendering based on what is in your store.
- Create a minimum of **3 actions** that manipulate your store (e.g. adding a message, deleting a message, etc.)
- Finally, be able to demonstrate that you have made progress toward completing more of your **minimal goals**!

```{note}
You may certainly borrow code from your assignment, but make sure you’re showing us new code that you’ve written specifically for your project!
```

```{tip}
Remember: These requirements are very minimal and are here to make sure that you are making forward progress on the project. We encourage you to make progress beyond the requirements in order to create an awesome project!
```

## How to hand in:

When you are ready, create a branch titled “project_3. Push your finalized code to that branch. Do not push to this branch after 10AM PT on the day of Workshop 4.

0 comments on commit 08bbcaa

Please sign in to comment.