On Scientific Computing
Scientific Computing
This “Book”
I created this book, of sorts, as I came across what I think to be a lack of combined “Scientific Computing” and “Scientific Publishing” (or, perhaps, typesetting) courses available that were:
- Based in Python
- Covered command line tools
- Fully open source.
Credits
I would remiss not to credit my two biggest inspirations:
You can view the source and see its history under various forms on GitHub, including how I incorporated this source material.
For Students
Were I a student, I would work through this book, chapter-wise, ensuring I can amicably complete the exercises at the end of each chapter and understand the solutions if they differ from mine (as they often will, given the variety of ways of solving scientific computing problems).
For Instructors
Were I an instructor, as I am, I would either fork this repository and make any changes I wish, recompiling using Quarto and hosting via GitHub Pages, or simply link directly to these pages and slidedecks. I suspect I will keep them up-to-date for some time!
Scientific Computing Environment
- Utilize fundamental command-line tools (Bash) and a text editor (Neovim) for efficient scientific programming and workflow management.
- Write and execute Python scripts for scientific computing tasks, demonstrating proficiency in basic Python syntax and structures.
Numerical Computation
- Apply advanced numerical methods and understand the properties of floating-point arithmetic for accurate scientific computations.
- Implement and analyze high-performance computing techniques using Python libraries such as NumPy, SciPy, and SymPy for numerical analysis and symbolic mathematics.
- Process, analyze, and visualize scientific datasets effectively using Pandas and Matplotlib.
Scientific Publishing
- Create professional scientific documents and presentations using markup languages and tools such as Markdown, HTML/CSS, LaTeX, Quarto, Typst, and Sphinx.