A collection of Python scripts and CLI tools developed as part of the FreeCodeCamp Scientific Computing with Python curriculum. This repository documents my progress in algorithms, data validation, and basic cryptography.
| ID | Project Name | Description | Key Concepts |
|---|---|---|---|
| 01 | Caesar Cipher | Encryption tool that shifts letters by a fixed amount. | Cryptography, Strings |
| 02 | Pin Extractor | Decodes a hidden PIN using a word-length algorithm. | Steganography, List Indexing |
| 03 | Vigenère Cipher | Advanced encryption using a keyword-based shift. | Polyalphabetic Ciphers, Modulo |
| 04 | Luhn Algorithm | Validates credit card numbers using the Luhn formula. | Checksums, Data Verification |
| 05 | Expense Tracker | Tracks expenses using functional programming concepts. | Lambda Functions, Filtering |
| 06 | Snake Case Converter | Utility to convert PascalCase/CamelCase to snake_case. | String Manipulation, Regex |
| 07 | Square Root Calc | Calculates square roots without libraries. | Bisection Method, Algorithms |
| 08 | Password Generator | Generates strong passwords using Regex constraints. | Regex, Secrets Module |
| Cert | Arithmetic Formatter | (First Certification Project) Formats arithmetic problems vertically. | String Formatting, Logic |
Ensure you have Python 3.x installed.
- Clone the repository:
git clone [https://github.com/taco0cat/python-projects.git](https://github.com/taco0cat/python-projects.git)
- Navigate to the directory:
cd python-projects - Run a script:
Note: Use quotes if the filename has spaces.
python "08 - Password Generator using RegEx.py"
Starting with the Caesar Cipher (simple substitution), I progressed to the Vigenère Cipher, which uses a keyword to create a polyalphabetic shift. This makes the encryption much stronger against frequency analysis attacks.
The Password Generator uses the secrets module for cryptographically strong random selection, combined with Regular Expressions (Regex) to strictly enforce user-defined constraints (e.g., "must contain at least 2 special characters").
Implemented the industry-standard Luhn Algorithm (Mod 10), used globally to validate identification numbers like credit cards and IMEI numbers. It demonstrates how real-world systems prevent accidental data entry errors.
The Square Root Calculator moves beyond simple math functions by implementing the Bisection Method, a root-finding method that repeatedly bisects an interval and then selects a sub-interval in which a root must lie.
The Expense Tracker utilizes Python's functional programming features, specifically lambda functions, to handle data filtering and processing concisely.
This project is open source. Curriculum Source: Scientific Computing with Python
Created by taco0cat