This is a beginner course suitable for anyone wanting to process scientific data with minimal or no prior knowledge.
- To be able to write programs in Python.
- To master the rich set of Python libraries and modules.
- Understand procedural control flow in Python
- The course includes presentations, assignments, and a final project.
- Experience with a text editor similar to notepad.
- Understanding of files and directories.
- Dealing with projects on GitHub. (eg. biopython)
- Creating GitHub pages.
- Writing nice documents using Markdown.
- What is programming?
- The parts of a computer and a mobile phone
- Different types of programming languages: Compiled vs. Interpreted
- Programming paradigms: imperative, procedural, oop, declarative, functional, logic, mathematical.
- Software licensing model (Closed Source, Share-ware, Open Source, Free Software)
- Software distribution model (packaged, service, application).
- Single core, multi core, cluster
- Complexity - run time, memory usage
-
Various ways to write Python code
-
VS Code - application development.
-
Jupyter Notebook - Analyzing data in an interactive way
-
Notepad++ and the command line.
-
Running from the IDE vs. the command line vs. on a server vs. in a cluster.
-
Compare the above with Matlab.
- NumPy
- Pandas
- SciPy
- Matplotlib
- Seaborn
- Comparing with Matlab and R
- Installing Python
- Where and why to use Python
- Using the Python interactive interpreter
- Documentation and how to get help?
- Indentation
- Strings
- Numbers
- Lists (arrays)
- Tuples
- Dictionaries (hashes)
- Sorting
- Why not GUI?
sys.argvargparse
- Function parameters
- Positional parameters
- Named parameters
- Default values
- Optional parameters
- Return values
- Function documentation
- Lambda functions
- For loops
- While loops
- Loop controls
- Conditionals
- Chained comparison
- Enumerate
- Boolean and logical operators
- print formatting
- read/write files
- Matching all
- Searching for a single match
- Meta characters
- Character classes
- Special character classes
- Quantifiers
- Alternatives
- Modifier flags
- Anchors
- Back-references
- Substitution
- Filesystem related functions
- Running external processes
- Loading a module
- Finding a module in a private directory
- Changing the search path to a relative directory
- Importing selected functions
- Namespaces
- Creating executable module
- Creating non-fatal warnings
- Catching exceptions
- Handling exceptions
- Throwing a new exception
- The final block
- Creating your own exception
- Reading and writing Excel files
csvopenpyxlpandas
- The concept of creating a Graphical User Interface (GUI).
- Demo various widgets of Tk.
- Simple example.
- Installing and using 3rd party modules
- Writing simple web scraping program
- Writing a simple Web application
- Accessing SQL databases
Upon successful completion of this course students should be able to
- Write simple data processing programs in Python
- Convert files from one format to another format required in scientific environments.
- Differentiate between major programming environments.