pombe205/programming-projects-for-beginners

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

This is a collection of beginner-friendly programming projects designed to help you practice and improve your coding skills. Each project includes a detailed problem statement, test cases, step-by-step algorithm, implementation, and key concepts.

  1. Introduction
  2. How to Use This Repository
  3. Projects
  4. Contributing
  5. License

This repository is designed for beginners to explore programming by solving practical problems. Each project is self-contained and includes the following sections:

  • Problem Statement: Description of the problem to be solved.
  • Test Cases: Example inputs and expected outputs to test your solution.
  • Step-by-Step Algorithm: Detailed logical steps to solve the problem.
  • Implementation: Code written in one or more programming languages.
  • Key Concepts Learned: Summary of the programming concepts applied in the project.
  1. Browse through the Project List to choose a project.
  2. Open the project folder to access:
    • Problem description
    • Algorithms
    • Implementations
    • Test cases
  3. Try solving the problem on your own before referring to the solution.
  4. Use the key concepts section to reinforce your learning.

Here’s a summary of all the projects with their descriptions, difficulty levels, estimated time, and key concepts:

Project NameDescriptionDifficulty LevelEstimated TimeKey Concepts
Swap Two NumbersSwap values of two variables without using a third variable.Easy15 minsVariables, Arithmetic Operations
Number Guessing GameGuess a randomly generated number within a range.Easy30 minsRandom Numbers, Loops, Conditionals
Student Grading SystemCalculate a student’s grade based on their marks.Easy45 minsArrays, Conditional Statements
ATM SimulatorSimulate ATM features like balance check, withdrawal, and deposit.Medium1–2 hoursFunctions, Loops, User Input
Bank Management SystemManage multiple bank accounts with deposit and withdrawal options.Medium2–3 hoursClasses, File Handling, Functions
Contact Book ManagerAdd, view, update, and delete contacts.Medium2–3 hoursData Structures, CRUD Operations
Random Number GeneratorGenerate random numbers within a user-defined range.Easy20 minsRandom Numbers
Random Password GeneratorGenerate random passwords of specified length.Easy30 minsRandomization, Strings
Password Strength CheckerCheck password strength based on its characters and length.Medium1 hourLoops, Strings, Conditionals
Password Hashing ProgramEncrypt/hash passwords using a cryptographic algorithm.Medium1–2 hoursCryptography, Hashing
Area of a CircleCalculate the area of a circle given its radius.Easy10 minsMath Functions, User Input
Temperature ConverterConvert temperatures between Celsius and Fahrenheit.Easy15 minsArithmetic, Functions
Quiz ApplicationBuild a multiple-choice quiz with scoring.Medium1 hourArrays, Conditionals, Loops
Simple CalculatorCreate a basic calculator for arithmetic operations.Easy20 minsFunctions, Arithmetic Operations
Library Management SystemManage books: add, remove, and search.Medium2–3 hoursClasses, File Handling, Arrays
Rock-Paper-Scissors GameSimulate a rock-paper-scissors game between user and computer.Easy30 minsRandomization, Conditionals
Tax CalculatorCalculate tax based on income and predefined tax brackets.Easy30 minsArithmetic, Conditionals
Counter AppBuild a counter with increment, decrement, and reset functions.Easy20 minsVariables, Functions
Tic-Tac-Toe GameCreate a 2-player Tic-Tac-Toe game on a 3x3 grid.Medium2 hoursLoops, Conditionals, Arrays
Palindrome CheckerCheck if a string reads the same backward as forward.Easy30 minsStrings, Loops
FizzBuzzPrint numbers with multiples of 3 as "Fizz," 5 as "Buzz," and both as "FizzBuzz."Easy20 minsLoops, Conditionals
Prime Number CheckerDetermine if a given number is prime.Easy30 minsLoops, Conditionals
To-Do List ManagerAdd, delete, and mark tasks as complete in a to-do list.Medium1–2 hoursCRUD, Data Structures
Word CounterCount the number of words in a given string.Easy20 minsStrings, Loops
Simple StopwatchSimulate a stopwatch with start, stop, and reset functions.Medium1–2 hoursLoops, Timing Functions
Unit ConverterConvert between units like km to miles, kg to pounds, etc.Easy30 minsArithmetic, User Input
BMI CalculatorCalculate BMI from user-provided weight and height.Easy30 minsArithmetic, Conditionals
Anagram CheckerDetermine if two strings are anagrams of each other.Easy30 minsStrings, Sorting
Digital ClockDisplay the current time, updating every second.Medium1 hourLoops, Timing Functions
Factorial CalculatorCompute the factorial of a given number.Easy20 minsLoops, Recursion
Vowel CounterCount the number of vowels in a string.Easy20 minsStrings, Loops
Sorting ProgramSort a list of numbers in ascending order.Easy30 minsArrays, Sorting Algorithms
Leap Year CheckerDetermine if a given year is a leap year.Easy15 minsConditionals
Alarm ClockAllow users to set an alarm and notify them when it’s time.Medium1–2 hoursTiming Functions, Conditionals
Currency ConverterConvert between different currencies using fixed exchange rates.Medium1 hourArithmetic, User Input

NB:: This isn't the end.

Each project is organized in its own folder and follows this structure:

project-name/
├─── implementation/             # solution in different languages
│    └─── solution.cpp
│    └─── solution.py
|    └─── ...
├─── test_cases/                 # test cases
│    └─── case1.txt
|    └─── ...
└─── README.md

Each project folder contains its own README.md structured as follows:

# Programming Projects for Beginners

[This repository description.]

## Project Name

[Individual project description.]

### Problem Statement

[Describe the problem to be solved.]

### Test Cases

| Case | Expected Output |
| ---- | --------------- |
| #1   | ....            |
| #1   | ....            |

### Step-by-Step Algorithm

[Describe Algorithms using Natural Language, Pseudocode or Flowchart]

1. [Step 1]
2. [Step 2]
3. ...

### Implementation

The solution can be found in the `implementation` folder.

### Key Concepts Learned

- [Concept 1]
- [Concept 2]

Contributions are welcome! If you’d like to add a new project or improve an existing one:

  1. Fork the repository.
  2. Create a new branch for your changes.
  3. Submit a pull request with your updates.

This repository is licensed under the MIT License. See the LICENSE file for details.

About

collection of beginner-friendly programming projects

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages