Scientific Computing 272

Introduction to Linux; Linux commands; Linux file systems; editors; process control. Introduction to programming in Python: variables, types, control structures, loop structures, functions, files and directories, strings, unit testing, basic data processing. Introduction to numerical computing using Numpy; plotting and curve fitting.

Meet the Gang

Lecturer

Indren Govender

ieg@sun.ac.za

Class Representatives

The class representatives are your delegates to the Natural Sciences Student Council. Also, if there is any course-related matter you do not want to discuss directly with the lecturer or the demis, please contact one of the class representatives.

Module Framework

The module framework is available in Afrikaans and English.

Module Overview

This module is an introduction to scientific computing, using the Python programming language on the Linux operating system. We only use free software in this module. If you want to install anything we use on your own computer, you can download it from our local FTP server, without paying anybody anything, even downloading fees. Information on running Ubuntu, specifically as it pertains to running on the university network and accessing university services, is also available. (By the way, when you see the symbol, it means the link is outside the university network, and that Inetkey should probably be open.)

We start by considering the Linux command line. In particular, we study the construction of pipes, connecting standard command-line tools, to do data processing without the use of a programming language.

Next, we spend six months getting to know Python. In this module, you do learn general programming principles—very useful for getting any job nowadays!—but we focus on mathematical and scientific examples and exercises. Finally, we look at two packages from the SciPy ecosystem: NumPy, for dealing with arrays (in particular, basic linear algebra), and matplotlib, for plotting our data analysis results.