# Codes

A collection of my publicly available research & outreach codes.**Astrophysics**

### WIP

This section is currently under construction while I’m busy cleaning up my codes.

**Programming**

##### Collection of Python Exercises

**Description: **A collection of 100+ Python exercises (including solutions) covering: Basic operations, variables, output and input, string operators, math operators, libraries, logical operators, IF and ELSE statements, lists, loops, and file operations.

The exercises can be used in programming courses and for independent study. They come in three levels of difficult (easy, medium, hard) and are suitable for students with no or very limited initial knowledge of programming.

**Access: **The workbook and solutions can be cloned/downloaded from my PythonExercises repository on GitHub.

##### Simple Sorting Algorithm

**Description:**A Jupyter Notebook to visualize a simple sorting algorithm for one of my coding courses.

**Access: **The Jupyter Notebook can be cloned/downloaded from my SimpleSortingAlgorithm repository on GitHub.

##### Estimating Pi with a Monte Carlo Algorithm

**Description:**A Jupyter Notebook that uses a Monte Carlo Algorithm to determine the value of Pi.

**Access:**The Jupyter Notebook can be cloned/downloaded from my MonteCarloForPi repository on GitHub.

**Mathematics**

##### MandelPy

**Description:**MandelPy is a Mandelbrot visualization tool for Linux, Windows, and Macs based on Python3. It can be executed as a Jupyter Notebook or inside a Widget with the option to change the computational grid, the resolution, the number of iterations, the threshold, and the colour map. Generated Mandelbrot plots can be saved as png files if the corresponding option is selected.

Some MandelPy plots are available in my gallery.

**Access:**The Jupyter Notebook, the GUI, and the User Manual can be cloned/downloaded from my MandelPy repository on GitHub.

##### Determining the Maximum of a Function using a Basic Random Walker

**Description:**A Jupyter Notebook that determines the maximum of a function (1D or 2D) by using a basic random walker.

**Access:**The Jupyter Notebook can be cloned/downloaded from my RandomWalkerForMaximum repository on GitHub.