Skip to content

Duane-Wegner/Scientific-Computing-with-Python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 

Repository files navigation

Scientific Computing with Python freeCodeCamp Certification

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.

Python freeCodeCamp


Curriculum Overview

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

Project List

Below is a list of projects included in this certification, organized by topic:

Core Python Concepts

  • Certification Project 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.

Functional Programming

  • 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.

Numerical Methods & Algorithms

  • 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.

Object-Oriented Programming (OOP)

  • Certification Project Time Calculator
    • This project calculates what time it will be after adding a given duration to a starting time.
  • Certification Project Build a Budget App
  • Certification Project Build a Polygon Area Calculator
  • Certification Project 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

Certification Requirements

To complete the certification, the following five certification projects must be submitted and pass all test cases:

  1. Arithmetic Formatter
    1. This project formats arithmetic problems vertically and side-by-side, just like students would write them in primary school.
  2. Time Calculator
    1. This project calculates what time it will be after adding a given duration to a starting time.
  3. Budget App
  4. Polygon Area Calculator
  5. Probability Calculator

Once all certification projects are completed and submitted, the official Scientific Computing with Python Certification will be issued by freeCodeCamp. (I will place a link here to certification upon completion.)


Tech Stack

  • Language: Python 3.x
  • IDEs: PyCharm, VS Code, Jupyter Notebook, Replit (optional)
  • Dependencies: None (Standard Library only)

Goals

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.

License

This repository is publicly available for learning and reference.

About

Projects built during my progress in the Scientific Computing with Python course with freeCodeCamp

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages