This repository contains my solutions to the projects from the Scientific Computing with Python certification offered by freeCodeCamp. The course covers core programming concepts in Python and introduces important computational and algorithmic techniques used in scientific programming.
The course equips learners with essential skills in:
- Python fundamentals
- Data structures and algorithms
- Object-Oriented Programming (OOP)
- Numerical methods and recursion
- Regular expressions and file handling
- Encapsulation, interfaces, and abstract classes
Below is a list of projects included in this certification, organized by topic:
Arithmetic Formatter
- This project formats arithmetic problems vertically and side-by-side, just like students would write them in primary school.
- Learn String Manipulation by Building a Cipher
- This project walks through the fundamentals of encryption using Python. It introduces two classical cipher systems, Caesar Cipher and Vigenère Cipher, alongside a practical exploration of string manipulation, control flow, and functional programming.
- Work with Numbers and Strings: Luhn Algorithm
- This Python script checks whether a given credit card number is valid using the Luhn algorithm—a checksum formula used to validate identification numbers such as credit card numbers.
- Build a Password Generator Using Regular Expressions
- This project puts regular expressions and secure randomness to work by generating customizable passwords with specific character constraints. You'll explore how to combine cryptography and validation logic to create robust, criteria-based outputs.
- Use Lambda Functions: Build an Expense Tracker
- A simple command-line program that helps you track, categorize, and summarize expenses using Python. Built as part of freeCodeCamp’s lambda function curriculum, this project puts core concepts of functional programming and list manipulation into practice.
- Python List Comprehension: Case Converter
- This project converts strings written in PascalCase or camelCase into snake_case. It's a clean, expressive example of how to use list comprehension, conditional expressions, and string manipulation in Python to build practical tools that align with naming conventions in Python and beyond.
- Bisection Method: Square Root Finder
- This project implements the bisection method to approximate the square root of a non-negative number using pure Python. It’s a clear and methodical demonstration of numerical methods applied in scientific computing, designed to reinforce concepts from freeCodeCamp’s Scientific Computing with Python curriculum.
- Algorithm Design: Shortest Path Algorithm
- This project implements Dijkstra's algorithm to calculate the shortest distance between nodes in a weighted graph.
- Recursion: Tower of Hanoi
- This program implements the classic recursive algorithm to solve the Tower of Hanoi puzzle using Python.
- Sorting: Merge Sort Algorithm
- This script demonstrates one of the most efficient and foundational sorting algorithms in computer science.
Time Calculator
- This project calculates what time it will be after adding a given duration to a starting time.
Build a Budget App
Build a Polygon Area Calculator
Build a Probability Calculator
- Classes and Objects: Sudoku Solver
- Encapsulation: Projectile Trajectory Calculator
- Special Methods: Vector Space
- Interfaces: Equation Solver
- Tree Traversal: Binary Search Tree
To complete the certification, the following five certification projects must be submitted and pass all test cases:
- Arithmetic Formatter
- This project formats arithmetic problems vertically and side-by-side, just like students would write them in primary school.
- Time Calculator
- This project calculates what time it will be after adding a given duration to a starting time.
- Budget App
- Polygon Area Calculator
- Probability Calculator
Once all certification projects are completed and submitted, the official Scientific Computing with Python Certification will be issued by . (I will place a link here to certification upon completion.)
- Language: Python 3.x
- IDEs: PyCharm, VS Code, Jupyter Notebook, Replit (optional)
- Dependencies: None (Standard Library only)
By the end of this course, I will have:
- Strengthened my Python programming fundamentals
- Gained hands-on experience with algorithms and numerical methods
- Improved my understanding of Object-Oriented Design in Python
- Built a strong foundation for further learning in data science and machine learning
- This certification is part of my learning journey through freeCodeCamp’s self-paced curriculum. I’m committed to writing clean, readable, and well-documented code.
This repository is publicly available for learning and reference.