GILDAS-Python binding

Size: px
Start display at page:

Download "GILDAS-Python binding"

Transcription

1 GILDAS-Python binding Using Python from GILDAS, and vice-versa Sébastien BARDEAU, IRAM Grenoble Science Software User Meeting, 08-apr-2016

2 The GILDAS software GILDAS is a collection of state-of-the-art softwares oriented toward (sub-)millimeter radioastronomical applications (either single-dish or interferometer). It is daily used to reduce all data acquired with the IRAM 30M telescope and Plateau de Bure Interferometer PDBI (except VLBI observations). GILDAS is easily extensible. GILDAS is written in Fortran-90, with a few parts in C/C++ (mainly keyboard interaction, plotting, widgets). A kernel: SIC: Sympathetic Interpreter of Commands GreG: Grenoble Graphic Dedicated programs: ASTRO: ephemeris and observation preparation CLASS: single-dish spectra CLIC: calibration of the PdBI MAPPING: aperture synthesis and deconvolution... 08/04/2016 GILDAS Python binding 2

3 Gildas-Python binding: why? Back to 2007 goals: Provide Python functionalities to GILDAS users Provide GILDAS modules to Python users Allow GILDAS to be used simultaneously/interactively with other Python-ported softwares. Prepare users to Python and CASA Prepare a bridge between GILDAS and CASA 08/04/2016 GILDAS Python binding 3

4 Python: developed since 1990 by Guido von Rossum (a Monty Python fan), written in C. current (parallel) releases are Python (05-dec-2015) and (06-dec-2015). interpreted, interactive, object-oriented, extensible programming language. Syntax: Python (like C) is case-sensitive. Python uses indentation as block delimiters (no begin/end, or {}): 1 or more spaces, and always the same number for the same block. * % or $ are forbidden in identifiers (variable names).. (dot) has a special meaning (objects attributes or methods). * (see usingpython.py) Providing new features to python: Built-in modules * (see usingpython.py) External modules: Python developers community provides a large set of packages (modules) for many purposes. Installation: retrieve the module archive, expand it anywhere, setup.py script uses distutils module * (re)define your PYTHONPATH environment variable for non-standard installation. When installed, just import the module into Python. shell> python setup.py build shell> python setup.py install 08/04/2016 GILDAS Python binding 4

5 Arrays in Arrays in Python: Numeric / Numpy / Numarray modules array handling is inefficient in Python* - elements can be any kind of Python object: memory and CPU consuming Numpy provide a better handling * only values are stored, single or double precision Multidimensional-array arrangement in memory: C (and thus Python) uses row-major order (last dimension is contiguous in memory), and indices run from 0. Fortran (and thus GILDAS) uses column-major order (first dimension is contiguous in memory), and indices run from 1. (see usingpython.py) 08/04/2016 GILDAS Python binding 5

6 Requirements Machine / OS: 32 or 64 bits Any Linux, Mac OSX. Python: Versions 2.6, 2.7, 3.* (binaries + headers) Array module: Numpy (tested up to 1.9.2, already released) 08/04/2016 GILDAS Python binding 6

7 1: Using Python from GILDAS 'SIC\PYTHON' command: First call launches Python interpreter in background No arguments jumps to Python prompt * One python file name as argument executes it * Any other string is sent to Python interpreter * Using Python functions: Search in Python main name space for unknown functions called from SIC * Can accept a variable number of arguments * (see usingpygildas.sic, bessel.greg) (see usingpygildas.sic, onefile.py) 08/04/2016 GILDAS Python binding 7

8 2: Using GILDAS from Python Python modules: pysic and other modules launch the process in background provide useful functions * import variables into the Gildas dictionary. Dynamic definition and deletion. * (see usingpygildas.py) Import naming rules: Names are lowercased, and forbidden characters are converted: SIC ABC ABC%DEF Python abc abc.def Names can not overwrite Python commands ('import', 'def', 'del',...) or built-in objects ('range', 'file', 'type',...) Sharing variables: GILDAS process owns the allocated memory area Numpy arrays point to the same memory area (read and write). 08/04/2016 GILDAS Python binding 8

9 Demos Demos Import FITS file into GILDAS A GreG procedure (from GreG) (see importfits.greg) A Python script (from python) (see importfits.py) Crossed call SIC/LineDB and CLASS/Weeds: Extensions of Sic and Class at user level (i.e. using only class procedures and python scripts). (see dedicated talks, gildas doc and sources) 08/04/2016 GILDAS Python binding 9

10 Summary Call Python from GILDAS: 'PYTHON' command SIC> PYTHON Command-line Python arithmetic functions callable from GILDAS Call GILDAS from Python: pysic and py* modules >>> pysic.comm('command line') Specific functions (.exa(),...) Special attributes (.gdict) Variable sharing mechanism Re-entering is not supported Documentation is available in GILDAS sources ( cookbooks/gildas/gildas-python.tex ) and on GILDAS web page ( > GILDAS > Doc > GILDAS-Python ) 08/04/2016 GILDAS Python binding 10

GILDAS-Python binding

GILDAS-Python binding GILDAS-Python binding Using Python from GILDAS, and vice-versa Sébastien BARDEAU, IRAM Grenoble MPIfR, 23-mar-2010 A kernel: SIC: Sympathetic Interpreter of Commands GreG: Grenoble Graphic The GILDAS software

More information

A quick introduction to GILDAS

A quick introduction to GILDAS 1 A quick introduction to GILDAS Last revised in October 2008 Questions? Comments? Bug reports? Mail to: gildas@iram.fr The gildas team welcomes an acknowledgment in publications using gildas software

More information

IRAM Memo CLASS Data Fillers

IRAM Memo CLASS Data Fillers IRAM Memo 2014-1 CLASS Data Fillers S. Bardeau 1, J. Pety 1,2 1. IRAM (Grenoble) 2. LERMA, Observatoire de Paris December, 2 nd 2016 Version 1.2 Abstract CLASS is the program of the GILDAS suite dedicated

More information

PYGILDAS: Interleaving Python and GILDAS

PYGILDAS: Interleaving Python and GILDAS PYGILDAS: Interleaving Python and GILDAS End-user and developer documentation Sébastien Bardeau, Emmanuel Reynier, Jérôme Pety and Stéphane Guilloteau 15-oct-2014 1 Context Version 0.7 Goal: to create

More information

Table of Contents EVALUATION COPY

Table of Contents EVALUATION COPY Table of Contents Introduction... 1-2 A Brief History of Python... 1-3 Python Versions... 1-4 Installing Python... 1-5 Environment Variables... 1-6 Executing Python from the Command Line... 1-7 IDLE...

More information

IRAM Memo MAPPING for NOEMA: Concepts and Usage

IRAM Memo MAPPING for NOEMA: Concepts and Usage Original version at http://iram-institute.org/medias/uploads/mapping-noema.pdf IRAM Memo 2016-1 MAPPING for NOEMA: Concepts and Usage S. Guilloteau 1 1. LAB (Bordeaux) 14-Jul-2016 version 1.0 09-Sep-2016

More information

Programming in Python

Programming in Python COURSE DESCRIPTION This course presents both the programming interface and the techniques that can be used to write procedures in Python on Unix / Linux systems. COURSE OBJECTIVES Each participant will

More information

And Parallelism. Parallelism in Prolog. OR Parallelism

And Parallelism. Parallelism in Prolog. OR Parallelism Parallelism in Prolog And Parallelism One reason that Prolog is of interest to computer scientists is that its search mechanism lends itself to parallel evaluation. In fact, it supports two different kinds

More information

Senthil Kumaran S

Senthil Kumaran S Senthil Kumaran S http://www.stylesen.org/ Agenda History Basics Control Flow Functions Modules History What is Python? Python is a general purpose, object-oriented, high level, interpreted language Created

More information

Chris Simpkins (Georgia Tech) CS 2316 Data Manipulation for Engineers Python Overview 1 / 9

Chris Simpkins (Georgia Tech) CS 2316 Data Manipulation for Engineers Python Overview 1 / 9 http://xkcd.com/353/ Chris Simpkins (Georgia Tech) CS 2316 Data Manipulation for Engineers Python Overview 1 / 9 Python Python is a general-purpose programming language, meaning you can write any kind

More information

Introduction to Python. Prof. Steven Ludtke

Introduction to Python. Prof. Steven Ludtke Introduction to Python Prof. Steven Ludtke sludtke@bcm.edu 1 8512 documented lanuages (vs. 2376) Four of the first modern languages (50s): FORTRAN (FORmula ( TRANslator LISP (LISt ( Processor ALGOL COBOL

More information

The current topic: Python. Announcements. Python. Python

The current topic: Python. Announcements. Python. Python The current topic: Python Announcements! Introduction! reasons for studying languages! language classifications! simple syntax specification Object-oriented programming: Python Types and values Syntax

More information

Python Input, output and variables. Lecture 23 COMPSCI111/111G SS 2018

Python Input, output and variables. Lecture 23 COMPSCI111/111G SS 2018 Python Input, output and variables Lecture 23 COMPSCI111/111G SS 2018 1 Today s lecture What is Python? Displaying text on screen using print() Variables Numbers and basic arithmetic Getting input from

More information

Introduction to Python

Introduction to Python Islamic University Of Gaza Faculty of Engineering Computer Engineering Department Lab 1 Introduction to Python Eng. Ibraheem Lubbad September 17, 2016 Introduction: Python is a high-level, object-oriented

More information

Lecture 1. basic Python programs, defining functions

Lecture 1. basic Python programs, defining functions Lecture 1 basic Python programs, defining functions Lecture notes modified from CS Washington CS 142 Except where otherwise noted, this work is licensed under: http://creativecommons.org/licenses/by-nc-sa/3.0

More information

CLASS tutorial: I. Basics

CLASS tutorial: I. Basics CLASS tutorial: I. Basics Presentation by Sébastien BARDEAU & Jérôme PETY (IRAM/Grenoble) Current CLASS developers: Sébastien BARDEAU, Jérôme PETY, & Stéphane GUILLOTEAU on behalf of the CLASS developers

More information

CHAPTER 2: Introduction to Python COMPUTER PROGRAMMING SKILLS

CHAPTER 2: Introduction to Python COMPUTER PROGRAMMING SKILLS CHAPTER 2: Introduction to Python COMPUTER PROGRAMMING SKILLS 1439-1440 1 Outline 1. Introduction 2. Why Python? 3. Compiler and Interpreter 4. The first program 5. Comments and Docstrings 6. Python Indentations

More information

Programming 1. Lecture 1 COP 3014 Fall August 28, 2017

Programming 1. Lecture 1 COP 3014 Fall August 28, 2017 Programming 1 Lecture 1 COP 3014 Fall 2017 August 28, 2017 Main Components of a computer CPU - Central Processing Unit: The brain of the computer. ISA - Instruction Set Architecture: the specific set of

More information

Python Workshop. January 18, Chaitanya Talnikar. Saket Choudhary

Python Workshop. January 18, Chaitanya Talnikar. Saket Choudhary Chaitanya Talnikar Saket Choudhary January 18, 2012 Python Named after this : Python Slide 1 was a joke! Python Slide 1 was a joke! Python : Conceived in late 1980s by Guido van Rossum as a successor to

More information

Programming: detailed instructions which tell the computer hardware what to do aka software Computer Science: the study NOT of computers, but of what

Programming: detailed instructions which tell the computer hardware what to do aka software Computer Science: the study NOT of computers, but of what Programming: detailed instructions which tell the computer hardware what to do aka software Computer Science: the study NOT of computers, but of what can be computed what processes a computer can execute

More information

Introduction to Python Part 1. Brian Gregor Research Computing Services Information Services & Technology

Introduction to Python Part 1. Brian Gregor Research Computing Services Information Services & Technology Introduction to Python Part 1 Brian Gregor Research Computing Services Information Services & Technology RCS Team and Expertise Our Team Scientific Programmers Systems Administrators Graphics/Visualization

More information

Week - 01 Lecture - 04 Downloading and installing Python

Week - 01 Lecture - 04 Downloading and installing Python Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 04 Downloading and

More information

MAPPING. March 29th, Version 2.0. Questions? Comments? Bug reports? Mail to:

MAPPING. March 29th, Version 2.0. Questions? Comments? Bug reports? Mail to: i MAPPING A gildas software March 29th, 2007 Version 2.0 Questions? Comments? Bug reports? Mail to: gildas@iram.fr The gildas team welcomes an acknowledgment in publications using gildas software to reduce

More information

Introduction to Java Programming

Introduction to Java Programming Introduction to Java Programming Lecture 1 CGS 3416 Spring 2017 1/9/2017 Main Components of a computer CPU - Central Processing Unit: The brain of the computer ISA - Instruction Set Architecture: the specific

More information

Vme Universe Driver. Institut de RadioAstronomie Millimétrique. Sebastien Blanchet IRAM-COMP-032. Revision: Contact Author.

Vme Universe Driver. Institut de RadioAstronomie Millimétrique. Sebastien Blanchet IRAM-COMP-032. Revision: Contact Author. -COMP-032 Revision: 1 2007-03-06 Contact Author Institut de RadioAstronomie Millimétrique Driver Owner Sebastien Blanchet Keywords: vme, universe Approved by: Date: Signature: A.Perrigouard Dec 2005 Change

More information

Python Input, output and variables

Python Input, output and variables Today s lecture Python Input, output and variables Lecture 22 COMPSCI111/111G SS 2016! What is Python?! Displaying text on screen using print()! Variables! Numbers and basic arithmetic! Getting input from

More information

Python Input, output and variables. Lecture 22 COMPSCI111/111G SS 2016

Python Input, output and variables. Lecture 22 COMPSCI111/111G SS 2016 Python Input, output and variables Lecture 22 COMPSCI111/111G SS 2016 Today s lecture u What is Python? u Displaying text on screen using print() u Variables u Numbers and basic arithmetic u Getting input

More information

Introduction to Python. Didzis Gosko

Introduction to Python. Didzis Gosko Introduction to Python Didzis Gosko Scripting language From Wikipedia: A scripting language or script language is a programming language that supports scripts, programs written for a special run-time environment

More information

DSC 201: Data Analysis & Visualization

DSC 201: Data Analysis & Visualization DSC 201: Data Analysis & Visualization Python and Notebooks Dr. David Koop Computer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectively.

More information

Python Basics. Nakul Gopalan With help from Cam Allen-Lloyd

Python Basics. Nakul Gopalan With help from Cam Allen-Lloyd Python Basics Nakul Gopalan ngopalan@cs.brown.edu With help from Cam Allen-Lloyd 1 Introduction to the idea Readable, easy to learn programming language. Created by Guido van Rossum Named after the BBC

More information

Python Scripting for Computational Science

Python Scripting for Computational Science Hans Petter Langtangen Python Scripting for Computational Science Third Edition With 62 Figures 43 Springer Table of Contents 1 Introduction... 1 1.1 Scripting versus Traditional Programming... 1 1.1.1

More information

GREG tutorial: III. Building complex figures

GREG tutorial: III. Building complex figures GREG tutorial: III. Building complex figures Presentation by Jérôme PETY, Sébastien BARDEAU (IRAM/Grenoble) Current kernel developers: Jérôme PETY, Sébastien BARDEAU, & Stéphane GUILLOTEAU on behalf of

More information

CASA Joe McMullin J. McMullin EVLA Advisory Committee Meeting September 6-7, 2007

CASA Joe McMullin J. McMullin EVLA Advisory Committee Meeting September 6-7, 2007 CASA Joe McMullin Outline Organization Purpose/Census Current Status Schedule Testing/Community Use of CASA Demo 2 CASA Organization N. Radziwill End to End Operations J. McMullin Development Lead Scientific

More information

Webgurukul Programming Language Course

Webgurukul Programming Language Course Webgurukul Programming Language Course Take One step towards IT profession with us Python Syllabus Python Training Overview > What are the Python Course Pre-requisites > Objectives of the Course > Who

More information

What you get When you install Python for your computer, you get a number of features:

What you get When you install Python for your computer, you get a number of features: Lab 1 CS161 Exercise 1: In the beginning Why Python? Python is a programming language that was first conceived by Guido van Rossum in the late 1980 s and in 1990. While there are a number of programming

More information

IRAM Memo Introducing Associated Arrays in CLASS

IRAM Memo Introducing Associated Arrays in CLASS IRAM Memo 2015-4 Introducing Associated Arrays in CLASS S. Bardeau 1, J. Pety 1,2 1. IRAM (Grenoble) 2. Observatoire de Paris January, 28 th 2016 Version 1.0 Abstract The concept of Associated Arrays is

More information

Introduction to Python Part 2

Introduction to Python Part 2 Introduction to Python Part 2 v0.2 Brian Gregor Research Computing Services Information Services & Technology Tutorial Outline Part 2 Functions Tuples and dictionaries Modules numpy and matplotlib modules

More information

CS201- Introduction to Programming Latest Solved Mcqs from Midterm Papers May 07,2011. MIDTERM EXAMINATION Spring 2010

CS201- Introduction to Programming Latest Solved Mcqs from Midterm Papers May 07,2011. MIDTERM EXAMINATION Spring 2010 CS201- Introduction to Programming Latest Solved Mcqs from Midterm Papers May 07,2011 Lectures 1-22 Moaaz Siddiq Asad Ali Latest Mcqs MIDTERM EXAMINATION Spring 2010 Question No: 1 ( Marks: 1 ) - Please

More information

Python Training. Complete Practical & Real-time Trainings. A Unit of SequelGate Innovative Technologies Pvt. Ltd.

Python Training. Complete Practical & Real-time Trainings. A Unit of SequelGate Innovative Technologies Pvt. Ltd. Python Training Complete Practical & Real-time Trainings A Unit of. ISO Certified Training Institute Microsoft Certified Partner Training Highlights : Complete Practical and Real-time Scenarios Session

More information

Student Database Challenge Problem

Student Database Challenge Problem Student Database Challenge Problem For this challenge problem, we will create a small database of user information. The python code we write will be able to add new data to the database, save it to a file,

More information

CPS221 Lecture: Operating System Functions

CPS221 Lecture: Operating System Functions CPS221 Lecture: Operating System Functions Objectives 1. To overview key hardware concepts 2. To introduce the process concept 3. To discuss the various kinds of functionality of the OS last revised 8/25/11

More information

Python Scripting for Computational Science

Python Scripting for Computational Science Hans Petter Langtangen Python Scripting for Computational Science Third Edition With 62 Figures Sprin ger Table of Contents 1 Introduction 1 1.1 Scripting versus Traditional Programming 1 1.1.1 Why Scripting

More information

FIT9133 Module 1: Introduction to Algorithms and Python Programming Basics

FIT9133 Module 1: Introduction to Algorithms and Python Programming Basics FIT9133 Module 1: Introduction to Algorithms and Python Programming Basics FIT9133 Foundations of Programming in Python Jojo Wong i FIT9133 Module 1: Introduction to Algorithms and Python Programming Basics

More information

Welcome to BCB/EEOB546X! Computational Skills for Biological Data. Instructors: Matt Hufford Tracy Heath Dennis Lavrov

Welcome to BCB/EEOB546X! Computational Skills for Biological Data. Instructors: Matt Hufford Tracy Heath Dennis Lavrov Welcome to BCB/EEOB546X! Computational Skills for Biological Data Instructors: Matt Hufford Tracy Heath Dennis Lavrov What motivated us to teach this class? What motivated you to take this class? Course

More information

Short, Unique and Mysterious

Short, Unique and Mysterious Short, Unique and Mysterious Q Why is the Programming Language named so? a Monty Python's Flying Circus "A t t h e t i m e w h e n h e b e g a n implementing Python, Guido van R o s s u m w a s a l s o

More information

Python Development with PyDev and Eclipse -

Python Development with PyDev and Eclipse - 1 of 11 4/4/2013 9:41 PM 130 Free tutorial, donate to support Python Development with PyDev and Eclipse - Tutorial Lars Vogel Version 1.8 Copyright 2009, 2010, 2011, 2012 Lars Vogel 01.07.2012 Revision

More information

Computer Science, a Mac, and You. Kevin Cathey Junior, Computer Science

Computer Science, a Mac, and You. Kevin Cathey Junior, Computer Science Computer Science, a Mac, and You Kevin Cathey Junior, Computer Science Roadmap Introduction to Apple s Developer Tools Xcode & Instruments Implement three MP s acm.uiuc.edu Introduction to Developer Tools

More information

Some material adapted from Upenn cmpe391 slides and other sources

Some material adapted from Upenn cmpe391 slides and other sources Some material adapted from Upenn cmpe391 slides and other sources History Installing & Running Python Names & Assignment Sequences types: Lists, Tuples, and Strings Mutability Understanding Reference Semantics

More information

DOWNLOAD OR READ : UNIX FOR MAC OS X 10 4 TIGER VISUAL QUICKPRO GUIDE PDF EBOOK EPUB MOBI

DOWNLOAD OR READ : UNIX FOR MAC OS X 10 4 TIGER VISUAL QUICKPRO GUIDE PDF EBOOK EPUB MOBI DOWNLOAD OR READ : UNIX FOR MAC OS X 10 4 TIGER VISUAL QUICKPRO GUIDE PDF EBOOK EPUB MOBI Page 1 Page 2 unix for mac os x 10 4 tiger visual quickpro guide unix for mac os pdf unix for mac os x 10 4 tiger

More information

Making Dynamic Instrumentation Great Again

Making Dynamic Instrumentation Great Again Making Dynamic Instrumentation Great Again Malware Research Team @ @xabiugarte [advertising space ] Deep Packer Inspector https://packerinspector.github.io https://packerinspector.com Many instrumentation

More information

APEX Control System (APECS)

APEX Control System (APECS) APEX Control System (APECS) 1 The APEX control system: APECS 2 APECS Design APECS is designed as a pipeline system starting with a scan description ( scan object ) and eventually leading to data products

More information

Conda Documentation. Release latest

Conda Documentation. Release latest Conda Documentation Release latest August 09, 2015 Contents 1 Installation 3 2 Getting Started 5 3 Building Your Own Packages 7 4 Getting Help 9 5 Contributing 11 i ii Conda Documentation, Release latest

More information

tutorial : modeling synaptic plasticity

tutorial : modeling synaptic plasticity tutorial : modeling synaptic plasticity Computational Neuroscience by the Mediterranean Winter School, Jan 20th, 2016 Michael Graupner Université Paris Descartes CNRS UMR 8118, Paris, France michael.graupner@parisdescartes.fr

More information

Babes-Bolyai University

Babes-Bolyai University Babes-Bolyai University arthur@cs.ubbcluj.ro Overview 1 Modules programming - a software design technique that increases the extent to which software is composed of independent, interchangeable components

More information

Python Programming, bridging course 2011

Python Programming, bridging course 2011 Python Programming, bridging course 2011 About the course Few lectures Focus on programming practice Slides on the homepage No course book. Using online resources instead. Online Python resources http://www.python.org/

More information

Review. Input, Processing and Output. Review. Review. Designing a Program. Typical Software Development cycle. Bonita Sharif

Review. Input, Processing and Output. Review. Review. Designing a Program. Typical Software Development cycle. Bonita Sharif Input, Processing and Output Bonita Sharif 1 Review A program is a set of instructions a computer follows to perform a task The CPU is responsible for running and executing programs A set of instructions

More information

Fundamentals of Programming (Python) Basic Concepts. Ali Taheri Sharif University of Technology Spring 2018

Fundamentals of Programming (Python) Basic Concepts. Ali Taheri Sharif University of Technology Spring 2018 Fundamentals of Programming (Python) Basic Concepts Ali Taheri Sharif University of Technology Outline 1. What is a Computer? 2. Computer System Organization 3. What is a Computer Program? 4. Programming

More information

PyPI to 0install Documentation

PyPI to 0install Documentation PyPI to 0install Documentation Release 0.1.0 Tim Diels Mar 14, 2017 Contents 1 User documentation 3 1.1 Installation................................................ 3 1.2 Running.................................................

More information

ERTH3021 Exploration and Mining Geophysics

ERTH3021 Exploration and Mining Geophysics ERTH3021 Exploration and Mining Geophysics Practical 1: Introduction to Scientific Programming using Python Purposes To introduce simple programming skills using the popular Python language. To provide

More information

Python Boot Manager PC Interface for loading Python scripts 30/08/07

Python Boot Manager PC Interface for loading Python scripts 30/08/07 PC Interface for loading Python scripts Contents 1.1 Scope... 3 1.2 Introduction... 3 1.3 Using Python Boot Manager Application... 3 1.3.1 Reading the memory... 4 1.3.2 Writing the memory... 5 1.3.3 Flashing

More information

Introduction to Python Part 1

Introduction to Python Part 1 Introduction to Python Part 1 v0.2 Brian Gregor Research Computing Services Information Services & Technology RCS Team and Expertise Our Team Scientific Programmers Systems Administrators Graphics/Visualization

More information

AMath 483/583 Lecture 2. Notes: Notes: Homework #1. Class Virtual Machine. Notes: Outline:

AMath 483/583 Lecture 2. Notes: Notes: Homework #1. Class Virtual Machine. Notes: Outline: AMath 483/583 Lecture 2 Outline: Binary storage, floating point numbers Version control main ideas Client-server version control, e.g., CVS, Subversion Distributed version control, e.g., git, Mercurial

More information

Robot Vision Systems Lecture 8: Python wrappers in OpenCV

Robot Vision Systems Lecture 8: Python wrappers in OpenCV Robot Vision Systems Lecture 8: Python wrappers in OpenCV Michael Felsberg michael.felsberg@liu.se Why Python Wrappers Assume a small library based on OpenCV Python interface for Testing Distribution Prototyping

More information

MRTCAL tutorial. IRAM Science Software User Meeting Apr , St Martin d Hères

MRTCAL tutorial. IRAM Science Software User Meeting Apr , St Martin d Hères MRTCAL tutorial Presentation by Sébastien BARDEAU, Jérôme PETY & Albrecht SIEVERS (IRAM) Current MRTCAL developers: Sébastien BARDEAU, Albrecht SIEVERS & Jérôme PETY IRAM Science Software User Meeting

More information

AMath 483/583 Lecture 2

AMath 483/583 Lecture 2 AMath 483/583 Lecture 2 Outline: Binary storage, floating point numbers Version control main ideas Client-server version control, e.g., CVS, Subversion Distributed version control, e.g., git, Mercurial

More information

ALMA Memo 386 ALMA+ACA Simulation Tool J. Pety, F. Gueth, S. Guilloteau IRAM, Institut de Radio Astronomie Millimétrique 300 rue de la Piscine, F-3840

ALMA Memo 386 ALMA+ACA Simulation Tool J. Pety, F. Gueth, S. Guilloteau IRAM, Institut de Radio Astronomie Millimétrique 300 rue de la Piscine, F-3840 ALMA Memo 386 ALMA+ACA Simulation Tool J. Pety, F. Gueth, S. Guilloteau IRAM, Institut de Radio Astronomie Millimétrique 300 rue de la Piscine, F-38406 Saint Martin d'h eres August 13, 2001 Abstract This

More information

Getting Started with Python

Getting Started with Python Getting Started with Python A beginner course to Python Ryan Leung Updated: 2018/01/30 yanyan.ryan.leung@gmail.com Links Tutorial Material on GitHub: http://goo.gl/grrxqj 1 Learning Outcomes Python as

More information

Phys Techniques of Radio Astronomy Part 1: Python Programming

Phys Techniques of Radio Astronomy Part 1: Python Programming Phys 60441 Techniques of Radio Astronomy Part 1: Python Programming LECTURE 1 Tim O Brien Room 3.214 Alan Turing Building tim.obrien@manchester.ac.uk http://www.jb.man.ac.uk/~tob/python.html Assessment

More information

Computers in Engineering COMP 208. Computer Structure. Computer Architecture. Computer Structure Michael A. Hawker

Computers in Engineering COMP 208. Computer Structure. Computer Architecture. Computer Structure Michael A. Hawker Computers in Engineering COMP 208 Computer Structure Michael A. Hawker Computer Structure We will briefly look at the structure of a modern computer That will help us understand some of the concepts that

More information

Basic Python 3 Programming (Theory & Practical)

Basic Python 3 Programming (Theory & Practical) Basic Python 3 Programming (Theory & Practical) Length Delivery Method : 5 Days : Instructor-led (Classroom) Course Overview This Python 3 Programming training leads the student from the basics of writing

More information

Programming Project #6: Password File Cracker

Programming Project #6: Password File Cracker CSE231 Spring 2017 Programming Project #6: Password File Cracker (Edits: changed itertools permutations to product either works for these passwords, but product is the correct one. Removed lists and tuples

More information

Python Working with files. May 4, 2017

Python Working with files. May 4, 2017 Python Working with files May 4, 2017 So far, everything we have done in Python was using in-memory operations. After closing the Python interpreter or after the script was done, all our input and output

More information

Sunpy Python for Solar Physics Juan Carlos Martínez Oliveros

Sunpy Python for Solar Physics Juan Carlos Martínez Oliveros Sunpy Python for Solar Physics Juan Carlos Martínez Oliveros In the beginning (ENIAC) Evolution Evolution Evolution Introduction The SunPy project is an effort to create an opensource software library

More information

Getting Started. Office Hours. CSE 231, Rich Enbody. After class By appointment send an . Michigan State University CSE 231, Fall 2013

Getting Started. Office Hours. CSE 231, Rich Enbody. After class By appointment send an  . Michigan State University CSE 231, Fall 2013 CSE 231, Rich Enbody Office Hours After class By appointment send an email 2 1 Project 1 Python arithmetic Do with pencil, paper and calculator first Idle Handin Help room 3 What is a Computer Program?

More information

CS 190C: Introduction to Computational Thinking

CS 190C: Introduction to Computational Thinking CS 190C: Introduction to Computational Thinking http://secant.cs.purdue.edu/cs190c:start Python Programming: An Introduction to Computer Science Zelle s book is a gentle introductory computing text used

More information

Chapter 1: Introduction

Chapter 1: Introduction Chapter 1: Introduction Outline Introduction What Is a Computer? Computer Hardware Computer Software Computer Programming Languages Machine Code, Assembly Languages and High-Level Languages. The History

More information

Computer Basics 1/24/13. Computer Organization. Computer systems consist of hardware and software.

Computer Basics 1/24/13. Computer Organization. Computer systems consist of hardware and software. Hardware and Software Computer Basics TOPICS Computer Organization Data Representation Program Execution Computer Languages Computer systems consist of hardware and software. Hardware includes the tangible

More information

Programming 1 - Honors

Programming 1 - Honors Programming 1 - Honors Lecture 1 COP 3014 Spring 2017 January 10, 2017 Main Components of a computer CPU - Central Processing Unit: The brain of the computer. ISA - Instruction Set Architecture: the specific

More information

An SM tutorial for programming and plotting

An SM tutorial for programming and plotting An SM tutorial for programming and plotting Gary Mamon January 2, 2014 1 Introduction SM (a.k.a. SuperMongo), written by Robert Lupton, is advertised by its author as a graphics language. In fact, SM is

More information

History Installing & Running Python Names & Assignment Sequences types: Lists, Tuples, and Strings Mutability

History Installing & Running Python Names & Assignment Sequences types: Lists, Tuples, and Strings Mutability History Installing & Running Python Names & Assignment Sequences types: Lists, Tuples, and Strings Mutability Some material adapted from Upenn cmpe391 slides and other sources Invented in the Netherlands,

More information

Installing Python Modules

Installing Python Modules Installing Python Modules Greg Ward October 16, 2000 E-mail: gward@python.net Abstract This document describes the Python Distribution Utilities ( Distutils ) from the end-user s point-of-view, describing

More information

Command Line and Python Introduction. Jennifer Helsby, Eric Potash Computation for Public Policy Lecture 2: January 7, 2016

Command Line and Python Introduction. Jennifer Helsby, Eric Potash Computation for Public Policy Lecture 2: January 7, 2016 Command Line and Python Introduction Jennifer Helsby, Eric Potash Computation for Public Policy Lecture 2: January 7, 2016 Today Assignment #1! Computer architecture Basic command line skills Python fundamentals

More information

COMP519 Web Programming Lecture 17: Python (Part 1) Handouts

COMP519 Web Programming Lecture 17: Python (Part 1) Handouts COMP519 Web Programming Lecture 17: Python (Part 1) Handouts Ullrich Hustadt Department of Computer Science School of Electrical Engineering, Electronics, and Computer Science University of Liverpool Contents

More information

Shell Scripting. Todd Kelley CST8207 Todd Kelley 1

Shell Scripting. Todd Kelley CST8207 Todd Kelley 1 Shell Scripting Todd Kelley kelleyt@algonquincollege.com CST8207 Todd Kelley 1 If we have a set of commands that we want to run on a regular basis, we could write a script A script acts as a Linux command,

More information

Introduction to Scripting Languages. October 2017

Introduction to Scripting Languages. October 2017 Introduction to Scripting Languages damien.francois@uclouvain.be October 2017 1 Goal of this session: Advocate the use of scripting languages and help you choose the most suitable for your needs 2 Agenda

More information

Data Science with Python Course Catalog

Data Science with Python Course Catalog Enhance Your Contribution to the Business, Earn Industry-recognized Accreditations, and Develop Skills that Help You Advance in Your Career March 2018 www.iotintercon.com Table of Contents Syllabus Overview

More information

CS1 Lecture 3 Jan. 22, 2018

CS1 Lecture 3 Jan. 22, 2018 CS1 Lecture 3 Jan. 22, 2018 Office hours for me and for TAs have been posted, locations will change check class website regularly First homework available, due Mon., 9:00am. Discussion sections tomorrow

More information

Linux Essentials. Smith, Roderick W. Table of Contents ISBN-13: Introduction xvii. Chapter 1 Selecting an Operating System 1

Linux Essentials. Smith, Roderick W. Table of Contents ISBN-13: Introduction xvii. Chapter 1 Selecting an Operating System 1 Linux Essentials Smith, Roderick W. ISBN-13: 9781118106792 Table of Contents Introduction xvii Chapter 1 Selecting an Operating System 1 What Is an OS? 1 What Is a Kernel? 1 What Else Identifies an OS?

More information

Python for Earth Scientists

Python for Earth Scientists Python for Earth Scientists Andrew Walker andrew.walker@bris.ac.uk Python is: A dynamic, interpreted programming language. Python is: A dynamic, interpreted programming language. Data Source code Object

More information

OPERATING SYSTEMS CS136

OPERATING SYSTEMS CS136 OPERATING SYSTEMS CS136 Jialiang LU Jialiang.lu@sjtu.edu.cn Based on Lecture Notes of Tanenbaum, Modern Operating Systems 3 e, 1 Chapter 4 FILE SYSTEMS 2 File Systems Many important applications need to

More information

Session 2. >_ {Code4Loop}; Roochir Purani

Session 2. >_ {Code4Loop}; Roochir Purani Session 2 >_ {Code4Loop}; Roochir Purani RECAP from last session - Computers Overview Evolution of computer, little bit of history Types of Devices, and Concepts of Computers INPUT >> PROCESS >> OUTPUT

More information

Computational Methods of Scientific Programming. Lecturers Thomas A Herring Chris Hill

Computational Methods of Scientific Programming. Lecturers Thomas A Herring Chris Hill 12.010 Computational Methods of Scientific Programming Lecturers Thomas A Herring Chris Hill Overview Part 1: Python Language Basics getting started. Part 2: Python Advanced Usage the utility of Python

More information

Programming for AmI MOTIVATIONS AND GOALS

Programming for AmI MOTIVATIONS AND GOALS Programming for AmI MOTIVATIONS AND GOALS Why AmI needs programming? Define the goals and requirements of software development for an Ambient Intelligent system Ambient Intelligence systems: digital environments

More information

Using Python to Modernize Astronomical Software

Using Python to Modernize Astronomical Software Using Python to Modernize Astronomical Software Richard L. White and Perry Greenfield Space Telescope Science Institute Baltimore MD 21218 http://www.stsci.edu rlw@stsci.edu perry@stsci.edu Abstract We

More information

Flask Web Development Course Catalog

Flask Web Development Course Catalog Flask Web Development Course Catalog Enhance Your Contribution to the Business, Earn Industry-recognized Accreditations, and Develop Skills that Help You Advance in Your Career March 2018 www.iotintercon.com

More information

CPS221 Lecture: Operating System Functions

CPS221 Lecture: Operating System Functions CPS221 Lecture: Operating System Functions Objectives last revised 6/23/10 1. To overview key hardware concepts 2. To iintroduce the process concept 3. To discuss the various kinds of functionality of

More information

Introduction to CASA and Data Structure. Emmanuel Momjian

Introduction to CASA and Data Structure. Emmanuel Momjian Introduction to CASA and Data Structure Emmanuel Momjian 1 CASA CASA is the offline data reduction package for ALMA and the (Jansky) VLA data from other telescopes usually work, too, but not primary goal

More information

CSI Lab 02. Tuesday, January 21st

CSI Lab 02. Tuesday, January 21st CSI Lab 02 Tuesday, January 21st Objectives: Explore some basic functionality of python Introduction Last week we talked about the fact that a computer is, among other things, a tool to perform high speed

More information

Lesson 7 Programming Embedded Galileo, Raspberry Pi, BeagleBone and mbed Platforms

Lesson 7 Programming Embedded Galileo, Raspberry Pi, BeagleBone and mbed Platforms Lesson 7 Programming Embedded Galileo, Raspberry Pi, BeagleBone and mbed Platforms 1 Development Of Programs For Prototype Development Platforms Done using an IDE The cycles of edit-test-debug used When

More information

61A Lecture 2. Wednesday, September 4, 2013

61A Lecture 2. Wednesday, September 4, 2013 61A Lecture 2 Wednesday, September 4, 2013 Names, Assignment, and User-Defined Functions (Demo) Types of Expressions Primitive expressions: 2 add 'hello' Number or Numeral Name String Call expressions:

More information