Jump to content

Programming project ideas

piratemonkey

I'm looking to learn Python, but I don't know what I should make to get that experience. So share what you first did, or any other ideas to make. And share the libraries needed if applicable

Either @piratemonkey or quote me when responding to me. I won't see otherwise

Put a reaction on my post if I helped

My privacy guide | Why my name is piratemonkey PSU Tier List Motherboard VRM Tier List

What I say is from experience and the internet, and may not be 100% correct

Link to comment
Share on other sites

Link to post
Share on other sites

- Any sort of calculator you already use in real life (maybe not currency, because that changes. but think about units of measurement for height, temperature, etc.)

- Text to morse code/NATO phonetic alphabet - teaches you to handle collections of text, work with user input, etc.

"We're all in this together, might as well be friends" Tom, Toonami.

 

mini eLiXiVy: my open source 65% mechanical PCB, a build log, PCB anatomy and discussing open source licenses: https://linustechtips.com/topic/1366493-elixivy-a-65-mechanical-keyboard-build-log-pcb-anatomy-and-how-i-open-sourced-this-project/

 

mini_cardboard: a 4% keyboard build log and how keyboards workhttps://linustechtips.com/topic/1328547-mini_cardboard-a-4-keyboard-build-log-and-how-keyboards-work/

Link to comment
Share on other sites

Link to post
Share on other sites

48 minutes ago, Slottr said:

What experience in programming do you have as is?

Very little. I know the fundamentals (variables, loops, that type of stuff), but that's about it

Either @piratemonkey or quote me when responding to me. I won't see otherwise

Put a reaction on my post if I helped

My privacy guide | Why my name is piratemonkey PSU Tier List Motherboard VRM Tier List

What I say is from experience and the internet, and may not be 100% correct

Link to comment
Share on other sites

Link to post
Share on other sites

22 minutes ago, piratemonkey said:

Very little. I know the fundamentals (variables, loops, that type of stuff), but that's about it

Oh man, there's so much you can do

 

Like @miniboissaid, calculators are a really easy and intuitive way to get into things

 

Something that might be a little more fun when you get more comfortable with programming principles and logic, is you can do something like a number guesser, hangman, rock paper scissors, etc.

 

These are projects you can do over and over again in different methods to up the difficulty over time

 

It should help you learn data allocation, arrays and such

 

Pythons really awesome because of it's lists. Use them to your advantage

Community Standards || Tech News Posting Guidelines

---======================================================================---

CPU: R5 3600 || GPU: RTX 3070|| Memory: 32GB @ 3200 || Cooler: Scythe Big Shuriken || PSU: 650W EVGA GM || Case: NR200P

Link to comment
Share on other sites

Link to post
Share on other sites

52 minutes ago, piratemonkey said:

Very little. I know the fundamentals (variables, loops, that type of stuff), but that's about it

The best thing, of course, would be to try to work on a project which would be actually useful for your current work or daily life, as, when you work on something abstract, you quickly lose motivation. I taught Python myself, and I started with web scraping of some electoral data - which I actually used later for an academic article I was writing (which ended up being rejected - but, by that time, I already left the academia and got a Python-related job anyway :)). Also, I made a small reminder app for my ex-girlfriend (nothing too sophisticated, just a cute desktop app in Tkinter which worked as an alarm/organizer).

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, minibois said:

- Any sort of calculator you already use in real life (maybe not currency, because that changes.

Actually a currency calculator is quite good idea, if you ask me. A get request to a web api, little json parsing and you've got a program that gets stuff from the internet.

Example code:

Spoiler

import requests
import json

res = requests.get("https://api.exchangeratesapi.io/latest")
data = json.loads(res.text)

print("Base currency: %s" % (data["base"]))
print("1 EUR is %s CAD" % (data["rates"]["CAD"]))

example output:

Base currency: EUR
1 EUR is 1.5528 CAD

 

you can also look at it in your browser: https://api.exchangeratesapi.io/latest

ಠ_ಠ

Link to comment
Share on other sites

Link to post
Share on other sites

Here's a suggestion

 

Write a program that compresses / decompresses a text file, for example get a free TXT or HTML book from project gutenberg : https://www.gutenberg.org/browse/scores/top

 

Make up your own compression algorithm or inspire yourself from various compression techniques  (run length encoding, dictionary based, using various number of bits for most commonly used letters etc)

 

You'll probably want to use loops to read chunks of the file (for example 4KB ... 64 KB chunks) , you'll use arrays or maps/dictionaries to analyze the chunk of data to see what can be compressed inside it (find sequences that repeat inside the chunk), you deal with opening files, reading and writing, closing, writing bytes and chunks of bytes (you'll want to make up your own compressed format, could be something as basic as   [ compressed chunk size 4 bytes ] [ uncompressed chunk size ] [ optional crc 4 bytes ] [ data - n bytes ]

 

See as inspiration maybe https://en.wikipedia.org/wiki/Dictionary_coder

or https://en.wikipedia.org/wiki/LZ77_and_LZ78

or https://en.wikipedia.org/wiki/Burrows–Wheeler_transform

or https://en.wikipedia.org/wiki/Byte_pair_encoding

 

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

@Sakuriru sent me this list a long time ago. Could have swore he had a different username at the time. 

Quote

1) Hello, world!

2) Print out your name and age which if you feed to the program.

 

3) Monty Hall Simulator. Should store statistics.

 

4) Create a dice roller program. Input should be in the format like 2d6, where 2 is the number of dice, and 6 is how many sides it has.

 

5) User can write into a file and save it through the console.

 

6) Tic-tac-toe (GUI required) game. Should store statistics.

 

7) Create a SQL database for storing inventory, say computer parts.

 

😎 Create a GUI for interacting with the database. Should be able to add new inventory items, delete actual inventory, and move inventory from one location to another. Make sure to use DataAdapters.

 

 

I'd also recommend making like a 4 function calculator as an early project. 

Link to comment
Share on other sites

Link to post
Share on other sites

My plan:
A program that copies photos from Android smartphones to the PC via USB. Then rename and sort the pictures in various folders using a few settings.

 

I originally tried it with Java but failed because I could not read or move the files. The built-in functions in Java for reading and moving files do not work because Windows seems to have limited access priviliges. The problem is that Android drives connected via USB do not behave like regular PC storage drives. I hope that it is easier with Python. I will try the next semester break.

 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×