This lesson is in the early stages of development (Alpha version)

Introduction to Python - theory sessions: Cheatsheets for Queuing System Quick Reference

Key Points

Spyder Layout, navigating the IDE, project setup
  • Python and Spyder are not the same thing. Spyder is an IDE that provides you with a convenient way to manage Python projects and Python is the underlying language that enables Spyder.

  • You will not learn everything about Python or Spyder in a day, there are a huge number of tools available to you in Spyder. The more time you commit to exploring and practicing the more you will achieve.

  • Project management is a vital part of ensuring that you are producing maintainable, sharable, and robust software.

Seeking help
  • You will get stuck at some point; needing help is a case of when, not if.

  • Help is available, but it is important you have done your due diligence and are asking for help in the correct places and in the correct format.

Calculating in Spyder
  • PEDMAS

  • Use mathematical functions, you don’t need to reinvent the wheel.

Variables and assignment
  • When naming variables it’s important be consistent and succinct

  • Output assignment has to be explicit to keep the result of an operation

  • Python may make assumptions about data types unless you are explicit

Arrays and vectorisation with NumPy
  • By default arrays hold elements of the same data types.

  • Vectorisation with NumPy allows us to apply operations to all the elements in an array efficiently.

  • Arrays can be indexed using various methods to retrieve/manipulate the specific information you desire.

Lists and dictionaries in Python
  • Dictionaries: Efficient for fast key-based retrieval and storing data with unique identifiers.

  • Lists: Versatile collections for storing ordered heterogeneous data types with various operations like indexing and appending.

Flow control
  • Flow control is an important technique you need to learn to create useful software.

  • Simplicity is often the best option whenever possible.

  • Plan and refactor your code regularly.

Functions
  • Functions can help reduce redundancy and increase reusability in your code

Loading data into Python using Spyder
  • Loading in the data is just the first step

Pandas and manipulating data frames
  • Pandas provides powerful data structures like Series and DataFrame for easy manipulation and analysis of structured data.

  • It offers extensive functionality for data cleaning, selection, transformation, and integration with other libraries like NumPy and Matplotlib.

  • With Pandas, you can efficiently handle data tasks such as handling missing values, merging datasets, and preparing data for machine learning models.

Plotting in Python with Matplotlib
  • Plotting is a useful tool for understanding our data; it is not just for results visualization.

Practical session
  • Solving problems with R and RStudio will improve your skills and confidence

Cheatsheets for Queuing System Quick Reference

Glossary

The following list captures terms that need to be added to this glossary. This is a great way to contribute.

Accelerator
to be defined
Beowulf cluster
to be defined
Central processing unit
to be defined
Cloud computing
to be defined
Cluster
a collection of computers configured to enable collaboration on a common task by means of purposefully configured hardware (e.g., networking) and software (e.g. workload management).
Distributed memory
to be defined
Grid computing
to be defined
High availability computing
to be defined
High performance computing
to be defined
Interconnect
to be defined
Node
to be defined
Parallel
to be defined
Serial
to be defined
Server
to be defined
Shared memory
to be defined
Slurm
to be defined
Supercomputer
… “a major scientific instrument” …
Workstation
to be defined
Grid Engine
to be defined
Parallel File System
to be defined