๐ฅ It's your turn!
Let's have an open projects submission this week. What kind of projects have you worked on since the beginning of Weekly Coder?
Whether that's a small one hour project or one that took months to finish, let you submit your best (max. of 5) projects here.
Share your works in the comments.
@WeeklyCoder | Week 56
Let's have an open projects submission this week. What kind of projects have you worked on since the beginning of Weekly Coder?
Whether that's a small one hour project or one that took months to finish, let you submit your best (max. of 5) projects here.
Share your works in the comments.
@WeeklyCoder | Week 56
๐1
Weekly Coder
๐ฅ It's your turn! Let's have an open projects submission this week. What kind of projects have you worked on since the beginning of Weekly Coder? Whether that's a small one hour project or one that took months to finish, let you submit your best (max. ofโฆ
๐ Did you just miss a prize of Monthly Unlimited Internet & Voice Package by not partaking in last week's challenge?
Of course you did.
Let's see who learns. Challenge extended till next Thursday 23:59.
๐ The prizes of then maybe bigger, maybe not. Only one way to find out.
Share your works in the comments.
@WeeklyCoder | Week 57
Of course you did.
Let's see who learns. Challenge extended till next Thursday 23:59.
๐ The prizes of then maybe bigger, maybe not. Only one way to find out.
Share your works in the comments.
@WeeklyCoder | Week 57
๐ Let's make something delicious this week!
Bakers have a system called "Bakers' Percentage" where the weight of each ingredient is expressed as a percentage of the flour weight, which is always 100%.
This simplifies scaling and recipe adjustments, as all other ingredients are calculated relative to the flour.
๐ฅ Goal: Create a program that, given the desired weight (g) of a loaf of bread, that calculates the amount of ingredients required โ taking account a 15% loss in weight of dough when becoming a bread after baking.
๐ Base this Sheets to see details and get your formulae.
Eg:
- Input: weight of bread (g): 100
- Output: Flour (70.25g), Water (42.15ml), Yeast (0.84g), Salt (1.41), and Improver (0.35).
โ๏ธ Recommended Learning:
-
-
-
๐ช Submit your code in the comments!
@WeeklyCoder | Week 58
Bakers have a system called "Bakers' Percentage" where the weight of each ingredient is expressed as a percentage of the flour weight, which is always 100%.
This simplifies scaling and recipe adjustments, as all other ingredients are calculated relative to the flour.
๐ฅ Goal: Create a program that, given the desired weight (g) of a loaf of bread, that calculates the amount of ingredients required โ taking account a 15% loss in weight of dough when becoming a bread after baking.
๐ Base this Sheets to see details and get your formulae.
Eg:
- Input: weight of bread (g): 100
- Output: Flour (70.25g), Water (42.15ml), Yeast (0.84g), Salt (1.41), and Improver (0.35).
โ๏ธ Recommended Learning:
-
operators, variables-
input handling-
rounding, concatenation๐ช Submit your code in the comments!
@WeeklyCoder | Week 58
๐ฐ Receipt Detective
A cashier at a boutique is tasked to verify the validity of a transaction using an RN (Reference Number). To do this, she manually creates a link using an RN and the last 8 digits of their account number.
Template Link:
https://apps.cbe.com.et:100/?id=<REFERENCE NUMBER><LAST 8 DIGITS>
Boutique's last 8 digits: 61108592
Example RN: FT24341HNN9T
Receipt Link:
https://apps.cbe.com.et:100/?id=FT24341HNN9T61108592
๐ฅ Goal: Given the account number of the boutique is always the same, let you take as an input the RN from a user and verify the transaction.
๐พ Steps:
- take RN as input from user
- use the RN and 8 last digits of the account number to build the receipt URL
- let your code download the PDF receipt using the URL
- load the PDF and obtain its contents as text (example here)
- extract useful information and do the verification
๐ Submissions: Sunday Morning, 2:00 LT
๐ช Send your submissions in the comments!
@WeeklyCoder | Week 59
A cashier at a boutique is tasked to verify the validity of a transaction using an RN (Reference Number). To do this, she manually creates a link using an RN and the last 8 digits of their account number.
Template Link:
https://apps.cbe.com.et:100/?id=<REFERENCE NUMBER><LAST 8 DIGITS>
Boutique's last 8 digits: 61108592
Example RN: FT24341HNN9T
Receipt Link:
https://apps.cbe.com.et:100/?id=FT24341HNN9T61108592
๐ฅ Goal: Given the account number of the boutique is always the same, let you take as an input the RN from a user and verify the transaction.
๐พ Steps:
- take RN as input from user
- use the RN and 8 last digits of the account number to build the receipt URL
- let your code download the PDF receipt using the URL
- load the PDF and obtain its contents as text (example here)
- extract useful information and do the verification
๐ Submissions: Sunday Morning, 2:00 LT
๐ช Send your submissions in the comments!
@WeeklyCoder | Week 59
๐ฅ3
๐ค๐ Wo wo wo! But can you paint?
Let's build a simple paint app this week. Much like MS Paint, let it allow to draw, erase, and save on a digital canvas.
๐ฅ Goal: create a program that allows users to draw on a canvas with the following features:
- brush Tool: Choose a shape (circle, square, triangle, or plus) to draw with.
- brush size: Offer finite options for brush sizes.
- color tool: Choose a color (could be random or via a color picker/input dialog).
- eraser tool: Erase parts of the drawing.
- clear canvas: An option to start fresh.
โ๏ธ Recommended Learning:
-
-
-
-
๐ช Submit your creations in the comments!
@WeeklyCoder | Week 60
Let's build a simple paint app this week. Much like MS Paint, let it allow to draw, erase, and save on a digital canvas.
๐ฅ Goal: create a program that allows users to draw on a canvas with the following features:
- brush Tool: Choose a shape (circle, square, triangle, or plus) to draw with.
- brush size: Offer finite options for brush sizes.
- color tool: Choose a color (could be random or via a color picker/input dialog).
- eraser tool: Erase parts of the drawing.
- clear canvas: An option to start fresh.
โ๏ธ Recommended Learning:
-
mouseX, mouseY, pmouseX, pmouseY-
mousePressed, mouseReleased, mouseDragged-
point (), line ()-
saveFrame ()๐ช Submit your creations in the comments!
@WeeklyCoder | Week 60
โ
The To-Not-Do List
A "to-not-do list" is a list of things you want to avoid doing. Whether that's unhelpful habits or vices, the goal is to eliminate unproductive activities to free up time for what truly matters.
๐ค We're borrowing Charlie Munger's Inversion Thinking this week. Instead of asking how to succeed, ask how to fail and then avoid those pitfalls.
๐ฅ Goal: create a program that helps users manage their unproductive habits by tracking what they successfully avoided in a day
โ๏ธ Example of a to-not-do list:
- binge Social Media for more than 30mins
- procrastinate โ do not start that assignment
- stay up and wake up late
- hit snooze button when alarm goes off
- drink less than 2L water a day
- do not participate in WeeklyCoder
โ๏ธ Task: here
๐จ Usage: here
โ๏ธ Recommended Learning:
-
-
-
-
โก๏ธ Introduce streaks, badges, and progress indicators.
๐ช Submit your code in the comments!
@WeeklyCoder | Week 61
A "to-not-do list" is a list of things you want to avoid doing. Whether that's unhelpful habits or vices, the goal is to eliminate unproductive activities to free up time for what truly matters.
๐ค We're borrowing Charlie Munger's Inversion Thinking this week. Instead of asking how to succeed, ask how to fail and then avoid those pitfalls.
๐ฅ Goal: create a program that helps users manage their unproductive habits by tracking what they successfully avoided in a day
โ๏ธ Example of a to-not-do list:
- binge Social Media for more than 30mins
- procrastinate โ do not start that assignment
- stay up and wake up late
- hit snooze button when alarm goes off
- drink less than 2L water a day
- do not participate in WeeklyCoder
โ๏ธ Task: here
๐จ Usage: here
โ๏ธ Recommended Learning:
-
IntDict (Str - int pair โ 1 check, 0 uncheck)-
input handling-
mouseClicked-
keyTypedโก๏ธ Introduce streaks, badges, and progress indicators.
๐ช Submit your code in the comments!
@WeeklyCoder | Week 61
This media is not supported in your browser
VIEW IN TELEGRAM
๐พ Let's bounce!
This week's challenge is a game that hardly needs a description. Watch and recreate!
โ๏ธ Recommended Learning:
-
-
โก๏ธ Use APDE to make a real Android game from your Processing sketch!
๐ช Submit your code in the comments!
@WeeklyCoder | Week 62
This week's challenge is a game that hardly needs a description. Watch and recreate!
โ๏ธ Recommended Learning:
-
variables, arithmetic & logical operators -
background, mouseClicked, functionsโก๏ธ Use APDE to make a real Android game from your Processing sketch!
๐ช Submit your code in the comments!
@WeeklyCoder | Week 62
๐ฅ2
This media is not supported in your browser
VIEW IN TELEGRAM
๐ Tap Snap
This week, let's see how quickly you can respond to a visual stimulus. The rule is simple, tap your screen the moment a shape appears.
๐ฅ Goal:
Create a game that measures and displays a player's reaction time after showing a shape on the screen for a random duration.
๐ฎ Game Flow:
1. A random delay hides the shape
2. The shape appears on the screen
3. Player reacts by tapping their screen
4. The program records and displays the reaction time (best time & last time)
โ๏ธ Random Time Boundary: use 500ms (min time) - 3500ms (max time)
โ๏ธ Recommended Learning:
-
-
-
-
-
โก๏ธ Bring the Thunder: here
๐Special gifts for any 3 who first recreate the game and set sub-200ms, sub-150ms, and sub-130ms reaction times! Only until Christmas!
๐ช Submit your code in the comments!
@WeeklyCoder | Week 63
This week, let's see how quickly you can respond to a visual stimulus. The rule is simple, tap your screen the moment a shape appears.
๐ฅ Goal:
Create a game that measures and displays a player's reaction time after showing a shape on the screen for a random duration.
๐ฎ Game Flow:
1. A random delay hides the shape
2. The shape appears on the screen
3. Player reacts by tapping their screen
4. The program records and displays the reaction time (best time & last time)
โ๏ธ Random Time Boundary: use 500ms (min time) - 3500ms (max time)
โ๏ธ Recommended Learning:
-
millis ()-
text (), textSize (), textAlign ()-
random ()-
casting-
if, mousePressedโก๏ธ Bring the Thunder: here
๐
๐ช Submit your code in the comments!
@WeeklyCoder | Week 63
This media is not supported in your browser
VIEW IN TELEGRAM
๐ Psst ...
How are we on week 64 without having made a snake game already? Beats me!
๐ฅ Goal: Recreate the classic Snake game.
โ๏ธ Recommended Learning:
-
-
-
-
๐ช Submit your code in the comments!
@WeeklyCoder | Week 64
How are we on week 64 without having made a snake game already? Beats me!
๐ฅ Goal: Recreate the classic Snake game.
โ๏ธ Recommended Learning:
-
Arrays or Lists-
PVector-
Loops-
keyPressed (), keyCode๐ช Submit your code in the comments!
@WeeklyCoder | Week 64
โก1
๐งฉ It's Anagram time!
An anagram is a word, phrase, or name formed by rearranging the letters of another, such as "cinema" formed from "iceman."
๐ฅ Goal:
- Create a program that, given a word, finds all possible anagrams from a predefined list or dictionary.
๐ฎ Game Flow:
- user inputs a word
- the program searches through a dictionary for words that are anagrams of the input
- display all found anagrams or a message if none exist
โ๏ธ Words List: here [370,000 + words]
โ๏ธ Recommended Learning:
-
-
-
-
๐ช Submit your code in the comments!
@WeeklyCoder | Week 65
An anagram is a word, phrase, or name formed by rearranging the letters of another, such as "cinema" formed from "iceman."
๐ฅ Goal:
- Create a program that, given a word, finds all possible anagrams from a predefined list or dictionary.
๐ฎ Game Flow:
- user inputs a word
- the program searches through a dictionary for words that are anagrams of the input
- display all found anagrams or a message if none exist
โ๏ธ Words List: here [370,000 + words]
โ๏ธ Recommended Learning:
-
loadStrings (),-
.sort (),-
loops and nested loops,-
List๐ช Submit your code in the comments!
@WeeklyCoder | Week 65
๐ DTMF Tones!
The Dual-Tone Multi-Frequency (DTMF) system is how phones dialers send signals to dial numbers.
These signals are commonly heard on telephone dial pads. Each tone is simply the sum of two sine waves โ one from a low-frequency group and one from a high-frequency group.
๐ต Listen to a sample dial tone here.
๐ Click here and interact with an online DMTF generator.
๐ฅ Goal: create a program that accepts a phone number as input and produces tones for each digit as if it were pressed on a physical phone keypad. Include pauses between tones for clarity.
๐ฆถ Get started
โ๏ธ Recommended Learning:
-
-
-
-
-
๐ This is the first part of a two-part challenge for an epic project we'll complete next week. Can you guess what part 2 will be?
๐ช Submit your code in the comments!
@WeeklyCoder | Week 66
The Dual-Tone Multi-Frequency (DTMF) system is how phones dialers send signals to dial numbers.
These signals are commonly heard on telephone dial pads. Each tone is simply the sum of two sine waves โ one from a low-frequency group and one from a high-frequency group.
๐ต Listen to a sample dial tone here.
๐ Click here and interact with an online DMTF generator.
๐ฅ Goal: create a program that accepts a phone number as input and produces tones for each digit as if it were pressed on a physical phone keypad. Include pauses between tones for clarity.
๐ฆถ Get started
โ๏ธ Recommended Learning:
-
Array/ArrayList-
Minim Library โ for sound generation using oscillators like Oscil-
PVector โ for paired digits-
.toCharArray (), .indexOf (), str (), โ for String manipulation-
delay () โ add pauses between tones๐ช Submit your code in the comments!
@WeeklyCoder | Week 66
๐ DTMF Tones 2!
In the TV series Fringe (Season 1 Episode 19 - 36:00-36:44), Olivia hears dialing tones from an abduction's recording and uses an app to decode them into the phone number that was called. By tracing this number, she identifies the perpetrator, pushing the investigation forward.
Let's continue on last week's challenge and create a similar tool this time.
๐ต Listen to a sample dial tone here.
๐ฅ Goal: create a program that accepts dialing tones as an input (.wav file or other) and outputs the numbers decoded.
โ๏ธ Recommended Learning:
-
-
๐ช Submit your code in the comments!
@WeeklyCoder | Week 67
In the TV series Fringe (Season 1 Episode 19 - 36:00-36:44), Olivia hears dialing tones from an abduction's recording and uses an app to decode them into the phone number that was called. By tracing this number, she identifies the perpetrator, pushing the investigation forward.
Let's continue on last week's challenge and create a similar tool this time.
๐ต Listen to a sample dial tone here.
๐ฅ Goal: create a program that accepts dialing tones as an input (.wav file or other) and outputs the numbers decoded.
โ๏ธ Recommended Learning:
-
Array/ArrayList-
Minim Library โ for sound generation using oscillators like Oscil๐ช Submit your code in the comments!
@WeeklyCoder | Week 67
๐ฅ It's your turn, again.
Let's have an open projects submission this week. What projects have you been working on since last time?
Whether that's a small one hour project or one that took weeks to finish, let you submit your best (max. of 3) projects here.
Share your works in the comments.
@WeeklyCoder | Week 68
Let's have an open projects submission this week. What projects have you been working on since last time?
Whether that's a small one hour project or one that took weeks to finish, let you submit your best (max. of 3) projects here.
Share your works in the comments.
@WeeklyCoder | Week 68
๐ง M is for Music and L is for Lyrics
Let's use the Genius API to create a lyrics fetching project this week.
๐ฅ Goal: Create a program that, given the name of a song, fetches its lyrics and displays it.
โ๏ธ It takes < 1min to authorize Genius and obtain your Access Token. You may benefit from using the PY library lyricsgenius or you could just do HTTP.
๐ช Submit your code in the comments!
@WeeklyCoder | Week 69
Let's use the Genius API to create a lyrics fetching project this week.
๐ฅ Goal: Create a program that, given the name of a song, fetches its lyrics and displays it.
โ๏ธ It takes < 1min to authorize Genius and obtain your Access Token. You may benefit from using the PY library lyricsgenius or you could just do HTTP.
๐ช Submit your code in the comments!
@WeeklyCoder | Week 69
๐1
Weekly Coder
Photo
๐ Near Ping
Weโre re-revisiting the Haversine formula to calculate the distance between two points on Earthโs surface using latitude and longitude coordinates.
๐ฅ Goal:
To build an app that allows users to add reminders tied to specific locations (lat & lng) and reminders them when their current location is within 1 kilometer of a reminderโs location.
To keep it simple, store your data in a local file where each reminder has a task (string) and coordinates (latitude, longitude as floats).
โก๏ธ Bring the thunder!
As with many of the challenges here, nothing's stopping you from making this a full-fledged mobile app.
- Fetch current location from device's GPS
- Push notifications when near a reminder spot
- Allow custom distance for nearness calculation
- Use your friend's live location so that you don't unknowingly pass by a friend you've been meaning to meet next time
๐ช Send your submissions in the comments!
@WeeklyCoder | Week 70
Case: After boarding the taxi and a few kilometers away, your friend calls to check if you bought the phone case they asked for while you were near the marketโ๐คฆโโ๏ธ, you forgot, and now you feel bad. If only something had reminded you when you were near the phone center!
Weโre re-revisiting the Haversine formula to calculate the distance between two points on Earthโs surface using latitude and longitude coordinates.
๐ฅ Goal:
To build an app that allows users to add reminders tied to specific locations (lat & lng) and reminders them when their current location is within 1 kilometer of a reminderโs location.
To keep it simple, store your data in a local file where each reminder has a task (string) and coordinates (latitude, longitude as floats).
๐พ Steps:
- Allow user to enter reminders and store them (e.g., task, latitude, longitude)
- Let user enter their current location
- Check current location against all reminders and display tasks if within 1 km.
โ Testing coordinates:
Reminder: Buy phone case
Shop: 9.020274156181737, 38.801150775048335
Your Location: 9.020383152979795, 38.800234352160246
โ๏ธ Recommended Learning:
- Haversine Formula
- asin(), sin(), cos()
- sqrt(), pow(), radians()
- lists, dictionaries
โก๏ธ Bring the thunder!
As with many of the challenges here, nothing's stopping you from making this a full-fledged mobile app.
- Fetch current location from device's GPS
- Push notifications when near a reminder spot
- Allow custom distance for nearness calculation
- Use your friend's live location so that you don't unknowingly pass by a friend you've been meaning to meet next time
๐ช Send your submissions in the comments!
@WeeklyCoder | Week 70
Weekly Coder
๐ Near Ping Case: After boarding the taxi and a few kilometers away, your friend calls to check if you bought the phone case they asked for while you were near the marketโ๐คฆโโ๏ธ, you forgot, and now you feel bad. If only something had reminded you when youโฆ
๐ What did the Moon look like on your birthday?
The Moon cycles through phasesโnew, waxing, full, and waningโeach altering its glow and shadow over about 29.5 days.
With the AstronomyAPI, you can reveal the Moonโs appearance for any specific day and location.
๐ฅ Goal: Given a date (YYYY-MM-DD) and coordinates (LAT, LNG), write a program to fetch and display the Moonโs image for that moment.
โ๏ธ Sign up (takes < 2 minutes) to create your Application and get its ID and Secretโcheck this guide for details.
โ๏ธ Recommended Learning:
-
-
-
-
๐ช Submit your code in the comments!
@WeeklyCoder | Week 71
The Moon cycles through phasesโnew, waxing, full, and waningโeach altering its glow and shadow over about 29.5 days.
With the AstronomyAPI, you can reveal the Moonโs appearance for any specific day and location.
๐ฅ Goal: Given a date (YYYY-MM-DD) and coordinates (LAT, LNG), write a program to fetch and display the Moonโs image for that moment.
โ๏ธ Sign up (takes < 2 minutes) to create your Application and get its ID and Secretโcheck this guide for details.
โ๏ธ Recommended Learning:
-
http.requests-
java.util.base64-
JSONObject, .setString (), .setJSONObject (), .getJSONObject ()-
loadImage (), image ()๐ช Submit your code in the comments!
@WeeklyCoder | Week 71
๐ Kids' Shoe Fit Finder
Kidsโ feet grow fastโup to 1-2 sizes a yearโmaking online shoe shopping a guessing game, with over 30% of returns due to fit issues.
To help with this, let's make a program where parents input their childโs age and foot length (cm) and get instant US, UK, and EU sizes.
We'll use Adidas's Kids Shoes Size Chart as a reference.
๐ฅ Goal: Given age of a child and their foot length (cm), write a program to output shoe size (in US, UK, and EU).
โ๏ธ Recommended Learning:
-
-
-
-
๐ช Submit your code in the comments!
@WeeklyCoder | Week 72
Kidsโ feet grow fastโup to 1-2 sizes a yearโmaking online shoe shopping a guessing game, with over 30% of returns due to fit issues.
To help with this, let's make a program where parents input their childโs age and foot length (cm) and get instant US, UK, and EU sizes.
We'll use Adidas's Kids Shoes Size Chart as a reference.
๐ฅ Goal: Given age of a child and their foot length (cm), write a program to output shoe size (in US, UK, and EU).
โ๏ธ Recommended Learning:
-
arrays-
selection statements-
logical & relational operators-
loadJSONObject, JSONObject, JSON๐ช Submit your code in the comments!
@WeeklyCoder | Week 72
๐ฅง Happy Pi Day!
Let's return to visual coding challenges and tackle Circle Packing this week.
In geometry, circle packing is the study of the arrangement of circles (of equal or varying sizes) on a given surface such that no overlapping occurs and so that all circles touch one another.
There are different variations of CP. What kind would you come up with? Excited to see.
โ๏ธ Recommended Learning:
-
-
-
-
๐ช Submit your code in the comments!
@WeeklyCoder | Week 73
Let's return to visual coding challenges and tackle Circle Packing this week.
In geometry, circle packing is the study of the arrangement of circles (of equal or varying sizes) on a given surface such that no overlapping occurs and so that all circles touch one another.
There are different variations of CP. What kind would you come up with? Excited to see.
โ๏ธ Recommended Learning:
-
random (), translate (), circle ()-
PI, TWO_PI-
constrain (), cos (), sin (), dist ()-
List, class, functions, methods๐ช Submit your code in the comments!
@WeeklyCoder | Week 73
This media is not supported in your browser
VIEW IN TELEGRAM
โจ๏ธ Case Shifter
What do you do to fix the casing of an already written text? Probably rewrite it properly. This wastes time when you need it polished fast.
To tackle this, letโs build a program where you highlight text, press the Shift key, and cycle through lowercase, uppercase, or title case like in this video.
๐ฅ Goal: Given highlighted text, write a program to cycle through case options and replace the highlighted text.
โ๏ธ Recommended Learning:
-
-
-
๐ช Submit your code in the comments!
@WeeklyCoder | Week 74
What do you do to fix the casing of an already written text? Probably rewrite it properly. This wastes time when you need it polished fast.
To tackle this, letโs build a program where you highlight text, press the Shift key, and cycle through lowercase, uppercase, or title case like in this video.
๐ฅ Goal: Given highlighted text, write a program to cycle through case options and replace the highlighted text.
โ๏ธ Recommended Learning:
-
.lower(), .upper(), .title()-
conditionals & loops -
libraries: pyperclip, keyboard๐ช Submit your code in the comments!
@WeeklyCoder | Week 74
๐1