Skip to content

Commit 528cfd2

Browse files
authored
Merge pull request #8 from tomorrowdevs-projects/feature/learning-path-with-projects
Refactored learning path
2 parents 02adfa0 + 985c015 commit 528cfd2

File tree

3 files changed

+171
-11
lines changed

3 files changed

+171
-11
lines changed

LEARNING-PATH.md

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
## Your Learning Path Tasks
2+
3+
- [ ] [Main Goal](#main-goal)
4+
- [ ] [Step 1 - Learn the Theory](#step-1---learn-the-theory)
5+
- [ ] [Step 2 - Practice!](#step-2---practice)
6+
- [ ] [Step 2 - Build the Project](#step-3---build-the-project)
7+
8+
<hr>
9+
10+
## **Main Goal**
11+
12+
At the end of this path, you will be able to build a **Personalized Diet Calculator** , just using Variables, expressions, statements and strings.
13+
14+
<hr>
15+
16+
## **Step 1** - Learn the theory
17+
18+
Read the following chapters to the key concepts of this specific path
19+
20+
<table>
21+
<th>
22+
<tr>
23+
<td></td>
24+
<td>Javascript</td>
25+
<td>Python</td>
26+
</tr>
27+
</th>
28+
<tr>
29+
<td>Values, Types, and Operators</td>
30+
<td><a href="https://eloquentjavascript.net/01_values.html">Eloquent Javasctipt - Chapter 1</a></td>
31+
<td><a href="https://greenteapress.com/thinkpython2/thinkpython2.pdf">Think Python (Chapter 1 and 2)</a></td>
32+
</tr>
33+
<tr>
34+
<td>Expressions and Statements</td>
35+
<td>
36+
- <a href="https://eloquentjavascript.net/02_program_structure.html#h_5fUOQZwwHx">Eloquent Javascript - Expressions and Statements</a>
37+
<br />
38+
- <a href="https://eloquentjavascript.net/02_program_structure.html#h_lnOC+GBEtu">Eloquent Javascript - Bindings</a>
39+
<br />
40+
- <a href="https://eloquentjavascript.net/02_program_structure.html#h_SbWNrIYjdH">Eloquent Javascript - Bindings Names</a>
41+
<br />
42+
- <a href="https://eloquentjavascript.net/02_program_structure.html#h_K5Yd6h3Axg">Eloquent Javascript - Functions</a>
43+
<br />
44+
- <a href="https://eloquentjavascript.net/02_program_structure.html#h_rDxYNPd65Z">Eloquent Javascript - Control Flow</a>
45+
<br />
46+
- <a href="https://eloquentjavascript.net/02_program_structure.html#h_t54vuASjLD">Eloquent Javascript - Capitalization</a>
47+
<br />
48+
- <a href="https://eloquentjavascript.net/02_program_structure.html#h_/OBuIOX390">Eloquent Javascript - Comments</a>
49+
</td>
50+
<td><a href="https://greenteapress.com/thinkpython2/thinkpython2.pdf">Think Python (Chapter 1 and 2)</a></td>
51+
</tr>
52+
</table>
53+
54+
### Documentation
55+
Use the following documentation as a syntax reference
56+
57+
<table>
58+
<th>
59+
<tr>
60+
<td>Javascript</td>
61+
<td>Python</td>
62+
</tr>
63+
</th>
64+
<tr>
65+
<td>
66+
<a href="https://javascript.info">https://javascript.info</a>
67+
<br />
68+
<a href="https://www.w3schools.com/js/default.asp">https://www.w3schools.com/js/default.asp</a>
69+
</td>
70+
<td><a href="https://docs.python.org/3.11/tutorial/index.html">https://docs.python.org/3.11/tutorial/index.html</a></td>
71+
</tr>
72+
</table>
73+
74+
### **Additional resources**
75+
76+
- [ ] Watch [Introduction to Programming and Computer Science - Full Course](https://www.youtube.com/watch?v=zOjov-2OZ0E&ab_channel=freeCodeCamp.org)
77+
- [ ] Watch [The Programming Language Guide](https://youtu.be/2lVDktWK-pc)
78+
- [ ] Watch [How does the internet work?](https://youtu.be/zN8YNNHcaZc)
79+
- [ ] If you don't already have it, create a [Linkedin](https://www.linkedin.com/) account
80+
- [ ] Follow our [page](https://www.linkedin.com/school/tomorrowdevs)
81+
82+
<hr>
83+
84+
## **Step 2** - Practice!
85+
86+
Code these exercises to capture the concepts you just learned:
87+
88+
- [ ] [Area of a Room](./projects/001-area-of-a-room/)
89+
- [ ] [Bottle Deposits](./projects/002-bottle-deposits/)
90+
- [ ] [Making Change](./projects/003-making-change/)
91+
- [ ] [Units of Time](./projects/004-units-of-time/)
92+
- [ ] [Day old bread](./projects/007-day-old-bread/)
93+
94+
### **Additional tasks**
95+
96+
- [ ] Improve your social presence
97+
- [ ] Create your first Linkedin post by explaining who you are, what are you studying, and why you decided to start this journey
98+
- [ ] Connect with at least 10 software developers. You can search for them in your city for example.
99+
100+
101+
<hr>
102+
103+
## **Step 3** - Build the Project
104+
Carry out a complete project as a certification of your skills
105+
106+
- [ ] [**Personalized Diet Calculator**](./projects/final-project/)
107+
108+
### **Additional tasks**
109+
110+
- [ ] Create and publish a first Github repository containing this project
111+
- [ ] Send a message into our [Discord Community](https://discord.gg/4G5nbXRunZ), with the link of the project you just created, asking for feedbacks

README.md

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,32 @@
1-
# TomorrowDevs Programming Basics Learning Path
1+
# **TomorrowDevs Programming Basics Learning Path**
2+
## **Variables, Expressions, Statements and Strings**
23

3-
This is a repository containing all the projects for **TomorrowDevs** students to learn Programming Basics. <br />
4-
This repo aims to give students a way to discover, study, and implement basic data structures, algorithms, patterns, user interfaces, etc.
4+
This repository is part of the full Programming Basics Learning Path by Tomorrowdevs.
55

6-
Before committing anything to that repo, please read the contribution guide at [CONTRIBUTING.md](/CONTRIBUTING.md).
6+
The aim of this path is to allow people to learn Programming skills by building practical projects.
7+
## **Description**
78

8-
<hr>
9+
The final purpose of this path is to allow you to build a first real-world project, that you can use in your everyday life.
10+
In this case, you will build a Personalized Diet Calculator, just using Variables, expressions, statements and string.
11+
12+
In order to achieve that, youl will be guided into different steps and tasks, composed by a combination of theory and coding.
13+
14+
Furthermore, you will be introduced to the fundamentals of programming and computer science.
15+
16+
You will watch a series of videos that explain the basics of programming languages, how the internet works, and the tools that you'll use throughout the course.
17+
18+
Additionally, you will create an account on LinkedIn to help you expand your professional network.
19+
20+
## **Why It Matters**
21+
Understanding the basics of programming, the internet, and the tools you'll be using is crucial for your journey as a developer. The content we selected will help you build a solid foundation and gain confidence in your ability to learn more advanced topics in the future.
922

10-
<img src="./logo-td.png">
23+
Furthermore, creating a LinkedIn account will allow you to connect with professionals in the industry and access potential job opportunities as you progress through the course.
24+
25+
# 🚀 **[Jump to the Learning Path!](LEARNING-PATH.md)** 💻
26+
27+
28+
## **Credits**
29+
<img src="./logo-td.png" width="300">
1130

1231
### A Mentorship program for developers
1332

@@ -30,8 +49,3 @@ Need help in solution development, guidance, training or capacity building, care
3049
We are a community of Software Engineers with years of technical and leadership experience in a diverse range of technologies and domains.
3150

3251
Let us know what problem you are facing at <b>http://www.tomorrowdevs.com</b> and we can schedule a consultation meeting to help you get through it.
33-
34-
## Contributions Welcome
35-
[![forthebadge](https://forthebadge.com/images/badges/built-with-love.svg)](#)
36-
37-
If you find any bug in the code or have any improvements in mind then feel free to generate a pull request.

projects/final-project/README.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# **Personalized Diet Calculator**
2+
3+
This project consists in the development of a personalized diet calculator which, based on the information provided by the user regarding their caloric needs and food preferences, automatically generates a balanced daily food plan.
4+
5+
## Objective:
6+
The goal of the project is to create a simple tool that allows users to obtain a personalized diet based on their needs and preferences, using only variables, strings and mathematical calculations without the use of conditional operators or other complex constructs.
7+
8+
## Main features:
9+
10+
### Acquisition of user information:
11+
12+
- Ask the user for their gender (male/female) and store it in a variable.
13+
- Ask the user for age and store it in a variable.
14+
- Ask the user for the height in centimeters and store it in a variable.
15+
- Ask the user for the weight in kilograms and store it in a variable.
16+
- Ask the user for the level of physical activity (sedentary/light/moderate/heavy) and store it in a variable.
17+
- Ask the user for any food preferences or restrictions and store them in a text variable.
18+
- Calculation of daily calorie requirement:
19+
20+
- Using only mathematical calculations, calculate the user's daily calorie needs based on their gender, age, height and weight.
21+
Store the daily calorie requirement value in a numeric variable.
22+
Meal plan generation:
23+
24+
- Create separate text variables for foods with their nutritional information (calories, proteins, carbohydrates, fats, etc.).
25+
- Using mathematical calculations, calculate the amount of food to consume for each meal (breakfast, lunch, dinner, snacks) in a balanced way.
26+
- Generate a text string that represents the daily food plan with details of the foods and their quantities.
27+
28+
### Meal plan view:
29+
30+
- Print the text string containing the generated food plan on the screen, showing the foods and the relative quantities for each meal.
31+
If you have provided food preferences or restrictions, adjust your meal plan accordingly.
32+
33+
### End of program:
34+
35+
Show a closing and thank you message to the user.

0 commit comments

Comments
 (0)