Table of Contents

- Introduction to Python. Elementary values and data types.
- Straight line programs, assignments to variables, type conversion, math library.
- Strings, lists, and tuples. Vectors and arrays. Conditionals and loop structures.
- Plotting using MatPlotLib and 3D visualization in VPython.
- Functions, parameters, and scope. Recursion.
- Exam 1

- Arithmetic and random numbers. Using NumPy. Numerical and problem stability.
- Computational Physics: Applications of Monte Carlo Simulation
- Introduction to trees and graphs, using NetworkX, graphs in science applications.
- Bioinformatics: Analyzing biological structures and their visualization using Cytoscape.
- Grand challenges in scientific computing.
- Exam 2

- Object-oriented design. Use and design of classes, OO concepts.
- History of computer science.
- Limits of computing, intractability, computability.
- Future models of computation: DNA computing, quantum computing.
- Comprehensive Final Exam