Phyton will be the programming language for the course. No prior knowledge of Python is expected.
Python is among the most popular high level programming languages, its application areas are wide and extensive and includes scientific and numerical computation. It has a large community of developers and contributors, hence it is very well supported. In recent years it has gained popularity among data scientists with the inclusion of highly capable statistics and data analysis toolboxes.
Student are highly recommended to install Anconda Python distribution , it is free and very easy to install on most computers. It comes with all the packages we will need during this course. Another way to install Python and all the required packages is to install Canopy Express (free Enthought Python Distribution). Students with no prior exposure to Python are discouraged to attempt manual installation of Python or its packages, instead should install either Anconda Python distribution or Canopy Express (free Enthought Python Distribution). Students that encounter problems installing Python, should contact the Instructor.
Basic Python tutorials/books/notes/guides:
- A byte of Python by Swaroop CH.   This book is one of the best tutorials for beginners.
- Introduction to Python for Econometrics, Statistics and Data Analysis by Kevin Sheppard. Useful notes for the course.
- Introduction to Python for Computational Science and Engineering (A beginner's guide) by Hans Fangohr Tutorials for the packages we will be using in the course:
- NumPy Tutorial and Tentative NumPy Tutorial (in pdf)
- NumPy User Guide and NumPy reference
- SciPy Tutorial
- An introduction to Numpy and SciPy (in pdf)
- Matplotlib tutorial by Nicolas P. Rougier
- IPython notebook tutorial , Jupyter documentation and Notebook Gallery
Visualization is a critical component of network analysis. Some of the popular tools used for network visualization are listed below.