Skip to content

hunk06-eng/Scientific-Computing-with-Python-freeCodeCamp

Repository files navigation

Scientific Computing with Python - freeCodeCamp

projects rewritten in unique approaches whenever possible

📋 Requirements

  • Python ≥3.12 (f-strings might not run correctly in older python versions, please make sure you have python 3.12 or above)
  • No external dependencies required
  • All projects use only Python standard library

🎯 Repository Philosophy

This repository contains reimagined implementations of freeCodeCamp's Scientific Computing with Python certification projects. Rather than following conventional approaches, each project explores alternative algorithms, data structures, and programming paradigms to deepen understanding and showcase creative problem-solving.

📚 Directories Overview

certificate-projects/

  • Includes the 5 necessary projects that must pass fCC test-cases and requirements to obtain the Scientific Computing with Python certificate.

fcc-reimagined-projects/

  • Includes projects in the Scientific Computing curriculum re-implemented from scratch by me, creating unique algorithms and design choices, chosen not for convenience but to maximize learning to truly challenge myself.

practice-projects/

  • Includes a few practice projects in the Scientific Computing curriculum, and while they are different (e.g. test-cases, CLI, or file I/O in Expenses Tracker) the core algorithm is the same, so I can't consider them my own.

🚀 Technical Highlights

Design Principles

  • Educational Focus: Each project prioritizes learning over convenience
  • Alternative Algorithms: Deliberately avoids "obvious" or conventional solutions (e.g. Sudoku Solver non-recursive solution)
  • Comprehensive Documentation: Extensive comments explaining design decisions
  • Error Handling: Production-quality input validation and edge case management

Code Quality Features

  • Memory Safety: Shallow copying to prevent data mutation (e.g. Sudoku Solver)
  • State Management: Explicit tracking of program state and progress (e.g. Password Generator)
  • User Experience: Interactive interfaces with clear feedback (Comprehensive error messages in fcc-reimagined-projects and certificate-projects)
  • Maintainability: Well-structured code with separation of concerns (Menus in name == "main" , each function has a clear role)

📖 Learning Outcomes

Algorithm Design

  • State Management: Manual handling of recursive-like processes
  • Pattern Recognition: Mathematical insights in classic problems (e.g. finding root of a number by bisection in practice-projects )
  • Backtracking: Custom implementation without recursion
  • Data Structure Optimization: Efficient storage and retrieval patterns

Software Engineering

  • Error Handling: Comprehensive validation and user feedback
  • File I/O: Persistent storage with data integrity (e.g. in Expenses Tracker in fcc-reimagined-projects)
  • User Interface: Interactive menu design
  • Code Documentation: Self-documenting code with educational comments

🛠️ Usage

Each project is self-contained and can be run independently. On windows:

  1. Open terminal and choose your desired project directory

  2. Copy those commands into terminal, make sure git is installed:

    cd desired_repository_clone_folder
    git clone repository_link
    
  3. Now choose any of the desired directories in the repository itself (certificate-projects, fcc-reimagined-projects, practice-projects)

  4. Run the python file inside directory, for example:

    cd desired_directory_in_repository
    python .\ScriptName.py
    

🎓 Educational Value

This repository demonstrates that learning often comes from constraints. By refusing conventional solutions and forcing unique approaches, each project becomes a comprehensive study in:

  • Algorithm design and optimization
  • State management and data structures
  • Error handling and user experience
  • Mathematical pattern recognition
  • Alternative problem-solving methodologies

Perfect for developers who want to see familiar problems solved in unexpected ways! 🌟

📄 License

MIT License - Feel free to learn from, modify, and share these implementations.

About

11 of the Scientific Computing with Python freeCodeCamp projects.

Topics

Resources

License

Stars

Watchers

Forks

Languages