Skip to content

Commit c0f2804

Browse files
Merge pull request HackYourFuture-CPH#186 from HackYourFuture-CPH/project-based-homework-updates
Homework projects
2 parents ebaa12d + 95a3e9f commit c0f2804

File tree

39 files changed

+130
-138
lines changed

39 files changed

+130
-138
lines changed

homework-projects/README.md

Lines changed: 0 additions & 60 deletions
This file was deleted.
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Demo Day Presentation
2+
3+
Your team may choose to run a demo day to present your project and get feedback. If so, here's a brief to guide you through your 15-minute presentation. Each individual will have 40-minutes in total, broken down into 15-minutes for presenting and 25-minutes for discussions. Your presentation will be an opportunity to showcase your project, detail your weekly progress, and share your challenges and learnings.
4+
5+
6+
## Presentation Structure (15 minutes)
7+
8+
### Introduction (2 minutes)
9+
Briefly introduce your chosen project. (Refer to the "projects" folder for details.)
10+
11+
### Weekly Task Breakdown (10 minutes)
12+
For each week of the JS2 and JS3 modules, highlight:
13+
- Your understanding and implementation of their concepts.
14+
- Specific challenges you faced and how you overcame them.
15+
- Any particular successes or insights you gained.
16+
17+
### Project Summary (3 minutes)
18+
Summarize what you learned from this project and how it ties together the concepts learned over JS2 and JS3.
19+
20+
### Feedback and Discussion Session (25 minutes)
21+
22+
After your presentation, there will be an open session for feedback and discussion. This is a valuable time to gain insights from your mentors and peers.
23+
24+
Tips for a Successful Presentation:
25+
- Be Clear and Concise: Focus on the key points and challenges of your project while being mindful of time.
26+
- Reflect on Your Learning Journey: Share how your understanding evolved over the weeks.
27+
- Be Open to Feedback: This is a learning opportunity – embrace the insights and suggestions from mentors and peers.
28+
29+
This is a suggested guideline for you to follow. We look forward to seeing your projects and hearing about your journey through the JS2 and JS3 modules in a way that works for you and your project. Good luck!

homework-projects/projects/currency-converter/currency-converter.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ It is expected that your app will have at least these features and functionality
1313
- Timeout for the market open/close
1414
- Call the currency API to receive the rates dynamically
1515

16-
<br/>
16+
> [!NOTE]
17+
> Take some time to research online for similar apps and how they look and work to gain inspiration. This is an important skill to practice as a developer because you won't always know (or be told) how to approach the design.
1718
1819
## Weekly specs:
1920

homework-projects/projects/memory-game/memory-game.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
You joined an online game platform startup and your task is to build one of the small classic games. <br/>
66
You will build a Memory Game, where a user needs to flip all the cards in a game in pairs until they find all the matching pairs. You aspire to make the game smooth and pleasant, so the user is compelled to spend more time playing it.
77

8+
> [!NOTE]
9+
> Take some time to research online for similar apps and how they look and work to gain inspiration. This is an important skill to practice as a developer because you won't always know (or be told) how to approach the design.
10+
811
## Weekly specs:
912

1013
### `JS2 week1` - Browser environment, DOM manipulation, DOM event listeners

homework-projects/projects/movie-app/movie-app.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ You joined a startup that has the ambition to build the best new movie streaming
66
Your taks will be to build a simple prototype to showcase the look of the platform and some simple functionality. <br/>
77
Your way to impress is to not only build a nice-looking main movie list page, but to also include some interesting features that the competitors do not have!
88

9+
> [!NOTE]
10+
> Take some time to research online for similar apps and how they look and work to gain inspiration. This is an important skill to practice as a developer because you won't always know (or be told) how to approach the design.
11+
912
## Weekly specs:
1013

1114
### `JS2 week1` - Browser environment, DOM manipulation, DOM event listeners

homework-projects/projects/quiz-app/quiz-app.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
The most popular quiz app has become very expensive... so there came a startup that aspires to build a new one that will be better, cheaper to use and more fun!
66
You join the startup as a developer and your task is to build a nice prototype of the product while the rest of the product team works to define what the final version will be.
77

8+
> [!NOTE]
9+
> Take some time to research online for similar apps and how they look and work to gain inspiration. This is an important skill to practice as a developer because you won't always know (or be told) how to approach the design.
10+
811
## Weekly specs:
912

1013
### `JS2 week1` - Browser environment, DOM manipulation, DOM event listeners

homework-projects/projects/recipe-app/recipe-app.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44

55
You are a foood lover, a cooking enthusiast and you want to share your passion with the web. You aspire to build a cool recipe website as a hobby project and eventually earn a little bit on the side from it.
66

7+
> [!NOTE]
8+
> Take some time to research online for similar apps and how they look and work to gain inspiration. This is an important skill to practice as a developer because you won't always know (or be told) how to approach the design.
9+
710
## Weekly specs:
811

912
### `JS2 week1` - Browser environment, DOM manipulation, DOM event listeners

homework-projects/readme.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# WHAT
2+
3+
During the JS2 and JS3 modules, you will be working on a project instead of the usual weekly homework assignments (which you can still do, as optional practice). Each week, you will be required to add new features to your project. By the end of JS3, you will have built an actual app using your newly gained knowledge and coding skills!
4+
<br/>
5+
6+
![](assets/project-flow.png)
7+
8+
<br/>
9+
10+
# WHY
11+
12+
We're doing this for four main reasons:
13+
14+
- You will gain experience and an understanding of what it's like to work on **one continuous project**, instead of switching contexts with each new homework assignment.
15+
- You will apply what you learned every week and understand how each new method can be implemented into an actual product.
16+
- You will build a solid project for your portfolio that you can showcase on your CV and in future tech interviews!
17+
- You will gain experience presenting your project and code in a 'mini-tech interview' at the end of JS3.
18+
19+
<br/>
20+
21+
# PROJECT IDEAS
22+
23+
[Currency Converter](projects/currency-converter/currency-converter.md) <br/>
24+
[Memory Game](projects/memory-game/memory-game.md)<br/>
25+
[Movie App](projects/movie-app/movie-app.md)<br/>
26+
[Quiz App](projects/quiz-app/quiz-app.md)<br/>
27+
[Recipe App](projects/recipe-app/recipe-app.md)<br/>
28+
29+
> [!NOTE]
30+
> New projects are welcome to be added by mentors. Just follow a similar structure to the existing ones, and submit it as a PR for review by staff and other mentors.
31+
32+
<br/>
33+
34+
# HOW
35+
36+
The projects will either be worked on individually, in a pair or as a group. You may also be set up to peer review another's project. This is up to the staff and mentors running the module.
37+
38+
<br/>
39+
40+
First, you will pick a project idea from above. Each week, you will have specific tasks that you have to deliver. Those tasks are provided in your chosen project description. The tasks are designed to help you practice the main learning points throughout the JS2 and JS3 modules.
41+
42+
<br/>
43+
44+
You will work in your project repository for JS2 and JS3 (not the central homework repository!), and you will submit the weekly task in the usual way by creating a Pull Request.
45+
46+
During JS2 and JS3, refer to the relevant [homework submission guide](guides/weekly-submission-guide.md).
47+
48+
The main difference is that you will be on a different repository and that you will merge the PR after implementing the review-based improvements, while all the technical steps are the same as always.
49+
50+
<br/>
51+
52+
# DEPLOYMENT
53+
54+
So you can demo your project easily both at the end of the project, but also to future employers, it is a requirement that you deploy the project. You can use the [HackYourFuture project template](https://github.com/HackYourFuture-CPH/hyf-project-template) as a starting point, or an otherwise agreed upon process by the staff and mentors.
55+
56+
<br/>
57+
58+
# CONCLUSION
59+
60+
When you wrap up your project in JS3 week3, you will get a chance to present your project either as a video recording or on a demo day. If your team is hosting a demo day, then check out [this guide](guides/demo-day-presentation.md) for how to prepare for the presentation.

javascript2/readme.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
| Week | Topic | Preparation | Homework | Lesson plan |
44
| ---- | ----- | ----------- | -------- |------------ |
5-
| 1. | Browser environment<br>DOM manipulation <br> DOM event listeners | [Preparation](week1/preparation.md) | [Homework](week1/homework.md) | [Lesson plan](week1/lesson-plan.md)|
6-
| 2. | Array functions <br> [Arrow function](week2/readme.md#arrow-function) | [Preparation](week2/preparation.md) | [Homework](week2/homework.md) | [Lesson plan](week2/lesson-plan.md)|
7-
| 3. | Callback function <br> Asyncronicity <br> Scope | [Preparation](week3/preparation.md) | [Homework](week3/homework.md) | [Lesson plan](week3/lesson-plan.md)|
5+
| 1. | Browser environment<br>DOM manipulation <br> DOM event listeners | [Preparation](week1/preparation.md) | [Homework](/homework-projects/readme.md) | [Lesson plan](week1/lesson-plan.md)|
6+
| 2. | Array functions <br> [Arrow function](week2/readme.md#arrow-function) | [Preparation](week2/preparation.md) | [Homework](/homework-projects/readme.md) | [Lesson plan](week2/lesson-plan.md)|
7+
| 3. | Callback function <br> Asyncronicity <br> Scope | [Preparation](week3/preparation.md) | [Homework](/homework-projects/readme.md) | [Lesson plan](week3/lesson-plan.md)|

javascript2/week1/homework.md renamed to javascript2/week1/optional-homework.md

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
> [!WARNING]
2-
> You do not need to complete these homeworks. We are currently testing new homeworks for JS2 and JS3. More info [here](https://github.com/HackYourFuture-CPH/js-projects).
2+
> These are optional homework exercises that you can complete on top of your [homework project](/homework-projects/readme.md), if you wish. There is no requirement for these to be reviewed, but feel free to ask a mentor if you wish for some feedback.
33
4-
# Homework
5-
6-
## Start the homework
7-
8-
Need to brush up on the homework setup process? Check [this](https://github.com/HackYourFuture-CPH/Git/blob/main/homework-submission.md) out before you get into some git confusion!
4+
# Optional Homework
95

106
## So why this homework?
117

@@ -117,8 +113,3 @@ Here is a possible way to render the products
117113
3. [Append the `li`](https://developer.mozilla.org/en-US/docs/Web/API/Node/appendChild) to the `ul`
118114

119115
<br/>
120-
121-
## Hand in homework
122-
123-
Need to brush up on the homework hand-in process?<br/>
124-
Check [this resource](https://github.com/HackYourFuture-CPH/Git/blob/main/homework-submission.md) to remember how to hand in the homework correctly!

javascript2/week1/readme.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Event listeners
1919

2020
## Relevant links
2121
* [Preparation](preparation.md)
22-
* [Homework](homework.md)
22+
* [Homework](/homework-projects/readme.md)
2323
* [Lesson plan](lesson-plan.md)
2424

2525

javascript2/week2/homework.md renamed to javascript2/week2/optional-homework.md

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
> [!WARNING]
2-
> You do not need to complete these homeworks. We are currently testing new homeworks for JS2 and JS3. More info [here](https://github.com/HackYourFuture-CPH/js-projects).
2+
> These are optional homework exercises that you can complete on top of your [homework project](/homework-projects/readme.md), if you wish. There is no requirement for these to be reviewed, but feel free to ask a mentor if you wish for some feedback.
33
4-
# Homework
5-
6-
## Start the homework
7-
8-
Need to brush up on the homework setup process? Check [this](https://github.com/HackYourFuture-CPH/Git/blob/main/homework-submission.md) out before you get into some git confusion!
4+
# Optional Homework
95

106
## Why should i even do this homework?
117

@@ -139,9 +135,4 @@ This task is more open ended! So you need to come up with fx how the user should
139135

140136
Give the user the possibility to sort the products. That could fx be on price, name, rating or all of the above!
141137

142-
<br/>
143-
144-
## Hand in homework
145-
146-
Need to brush up on the homework hand-in process?<br/>
147-
Check [this resource](https://github.com/HackYourFuture-CPH/Git/blob/main/homework-submission.md) to remember how to hand in the homework correctly!
138+
<br/>

javascript2/week2/readme.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
-->
1010
## Relevant links
1111
* [Preparation](preparation.md)
12-
* [Homework](homework.md)
12+
* [Homework](/homework-projects/readme.md)
1313
* [Lesson plan](lesson-plan.md)
1414

1515

javascript2/week3/homework.md renamed to javascript2/week3/optional-homework.md

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
> [!WARNING]
2-
> You do not need to complete these homeworks. We are currently testing new homeworks for JS2 and JS3. More info [here](https://github.com/HackYourFuture-CPH/js-projects).
2+
> These are optional homework exercises that you can complete on top of your [homework project](/homework-projects/readme.md), if you wish. There is no requirement for these to be reviewed, but feel free to ask a mentor if you wish for some feedback.
33
4-
# Homework
5-
6-
## Start the homework
7-
8-
Need to brush up on the homework setup process? Check [this](https://github.com/HackYourFuture-CPH/Git/blob/main/homework-submission.md) out before you get into some git confusion!
4+
# Optional Homework
95

106
## So why this homework?
117

@@ -111,15 +107,4 @@ Use the library in your page by adding this line before you load your main.js:
111107

112108
`<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/index.min.js"></script>`
113109

114-
<br/>
115-
116-
## Hand in homework
117-
118-
Need to brush up on the homework hand-in process?<br/>
119-
Check [this resource](https://github.com/HackYourFuture-CPH/Git/blob/main/homework-submission.md) to remember how to hand in the homework correctly!
120-
121-
<br/>
122-
123-
## Feedback
124-
125-
And finally, please take 5 minutes to give the mentors and staff feedback by filling out the survey [here](https://forms.gle/Kdt8WEdmx595hijN9).
110+
<br/>

javascript2/week3/readme.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Functions advanced
1010

1111
## Relevant links
1212
* [Preparation](preparation.md)
13-
* [Homework](homework.md)
13+
* [Homework](/homework-projects/readme.md)
1414
* [Lesson plan](lesson-plan.md)
1515

1616

javascript3/readme.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
| Week | Topic | Preparation | Homework | Lesson plan |
44
| ---- | ----- | ----------- | -------- |------------ |
5-
| 7. | Json <br> Apis <br> Fetch| [Preparation](week1/preparation.md) | [Homework](week1/homework.md) | [Lesson plan](week1/lesson-plan.md)|
6-
| 8. | Promises <br> Async/Await | [Preparation](week2/preparation.md) | [Homework](week2/homework.md) | [Lesson plan](week2/lesson-plan.md)|
7-
| 9. | Classes <br> Promises advanced | [Preparation](week3/preparation.md)| [Homework](week3/homework.md) | [Lesson plan](week3/lesson-plan.md) |
5+
| 7. | Json <br> Apis <br> Fetch| [Preparation](week1/preparation.md) | [Homework](/homework-projects/readme.md) | [Lesson plan](week1/lesson-plan.md)|
6+
| 8. | Promises <br> Async/Await | [Preparation](week2/preparation.md) | [Homework](/homework-projects/readme.md) | [Lesson plan](week2/lesson-plan.md)|
7+
| 9. | Classes <br> Promises advanced | [Preparation](week3/preparation.md)| [Homework](/homework-projects/readme.md) | [Lesson plan](week3/lesson-plan.md) |

javascript3/week1/homework.md renamed to javascript3/week1/optional-homework.md

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
> [!WARNING]
2-
> You do not need to complete these homeworks. We are currently testing new homeworks for JS2 and JS3. More info [here](https://github.com/HackYourFuture-CPH/js-projects).
2+
> These are optional homework exercises that you can complete on top of your [homework project](/homework-projects/readme.md), if you wish. There is no requirement for these to be reviewed, but feel free to ask a mentor if you wish for some feedback.
33
4-
# Homework
5-
6-
## Start the homework
7-
8-
Need to brush up on the homework setup process? Check [this](https://github.com/HackYourFuture-CPH/Git/blob/main/homework-submission.md) out before you get into some git confusion!
4+
# Optional Homework
95

106
## Why should i even do this homework?
117

@@ -103,9 +99,4 @@ Try break this problem into **smaller problems** and write down how you are goin
10399

104100
![giphy search](assets/giphy-search.gif)
105101

106-
<br/>
107-
108-
## Hand in homework
109-
110-
Need to brush up on the homework hand-in process?<br/>
111-
Check [this resource](https://github.com/HackYourFuture-CPH/Git/blob/main/homework-submission.md) to remember how to hand in the homework correctly!
102+
<br/>

javascript3/week1/readme.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@
55

66
# Relevant links
77
* [Preparation](preparation.md)
8-
* [Homework](homework.md)
8+
* [Homework](/homework-projects/readme.md)
99
* [Lesson plan](lesson-plan.md)

javascript3/week2/homework.md renamed to javascript3/week2/optional-homework.md

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
> [!WARNING]
2-
> You do not need to complete these homeworks. We are currently testing new homeworks for JS2 and JS3. More info [here](https://github.com/HackYourFuture-CPH/js-projects).
2+
> These are optional homework exercises that you can complete on top of your [homework project](/homework-projects/readme.md), if you wish. There is no requirement for these to be reviewed, but feel free to ask a mentor if you wish for some feedback.
33
4-
# Homework
5-
6-
## Start the homework
7-
8-
Need to brush up on the homework setup process? Check [this](https://github.com/HackYourFuture-CPH/Git/blob/main/homework-submission.md) out before you get into some git confusion!
4+
# Optional Homework
95

106
## Why should i even do this homework?
117

javascript3/week2/readme.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
# Relevant links
66
* [Preparation](preparation.md)
7-
* [Homework](homework.md)
7+
* [Homework](/homework-projects/readme.md)
88
* [Lesson plan](lesson-plan.md)
99

1010
## Promise chaining

0 commit comments

Comments
 (0)