Exercise 0. Although Python(x,y) comes already with a great variety of scientic Python packages, we might have to install additional dependencies:

Size: px
Start display at page:

Download "Exercise 0. Although Python(x,y) comes already with a great variety of scientic Python packages, we might have to install additional dependencies:"

Transcription

1 Exercise 0 Deadline: None Computer Setup Windows Download Python(x,y) via and install it. Make sure that before installation the installer does not complain about an existing Python version on your computer. Although Python(x,y) comes already with a great variety of scientic Python packages, we might have to install additional dependencies: For instance, we will make use of the vigranumpy package which you can download and install from this website: Now you can test whether your installation was successful: Find the Python(x,y) folder in the Windows start menu and launch the contained Spyder program. In the interactive interpreter on the bottom right, enter import import import vigra numpy sklearn If no output appears, your installation was successful. If the sklearn import failed, try to install the latest version from Ubuntu Either compile everything yourself, use pip, or just execute the following line to install the system libraries we need: sudo apt - get install build - essential python - dev python - numpy python - setuptools python - scipy libatlas - dev libatlas3 - base python - matplotlib python - vigra python - sklearn spyder If you want to start GUI programs such as spyder, always start them from the terminal; this way they inherit all necessary environment variables that have been set in /.bashrc. Mac Install Homebrew ( by running this command: ruby -e "$( curl - fssl https :// raw. github. com / mxcl / homebrew / go )" If you get errors here, follow these instructions: Then, insert the Homebrew directory at the top of your PATH variable by adding the following line at the bottom of your /.bash_profile le: export PATH =/ usr / local / bin : $PATH Now open a new terminal and run the following command: brew doctor 1/6

2 As long as you do not get Your system is ready to brew, try to x the warnings. In the next step, you can install Python using Homebrew via brew install python You can then install most python packages using pip: pip install numpy pip install scikit - learn pip install matplotlib pip install scipy pip install scikit - image pip install spyder Note that it is not possible to install vigranumpy like that. In case you need this dependency for your project, we can assist you installing it. Troubleshooting: If pip install scipy fails, you might have to run brew install gfortran rst. If pip install matplotlib fails, try to do the following brew install freetype brew install libpng brew link -- force freetype and then reinstall scipy. The Scientic Python Ecosystem In this course, we are going to use the Python programming language. There exist many highly usable and well maintained scientic libraries for Python. Packages that will be useful for us are: numpy (numpy.org), provides multi dimensional arrays and fast numeric routines that work with these arrays. scipy (scipy.org), a collection of many scientic algorithms for areas such as optimization, linear algebra, integration, interpolation, FFT, signal and image processing. Makes use of numpy arrays. matplotlib (matplotlib.org), a plotting library which provides a MATLAB like interface. Check out the great gallery with many examples. scikit-learn (scikit-learn.org), a quickly growing collection of machine learning algorithms, such as Support Vector Machines, Decision Trees, Nearest Neighbor Methods and many more. Their website oers good overview documentation and great examples, too. scikit-image (scikit-image.org), a collection of image processing algorithms. vigranumpy (hci.iwr.uni-heidelberg.de/vigra, a C++ library for multidimensional arrays, image processing and machine learning, developed in our group. It exposes most functions to Python via the vigranumpy module. All of these packages can be easily installed on recent Linux distributions, such as Ubuntu. Coming from MATLAB? Read Indexing starts at zero in numpy! IPython For an interactive python shell, start ipython within a shell. It supports auto-completion using the tab key, as well as showing the documentation of functions by appending a? to the function name. 2/6

3 Spyder Spyder ( is a MATLAB-like IDE for scientic Python. You can use the editor on the left or the interactive interpreter on the bottom right, just like in MATLAB. Python For a tutorial introduction to Python, we recommend sections 1 through 6 as well as 7.2 and 9.3. The following sub-sections, which are aimed at advanced users, can be skipped: 2.2, 4.7, 5.1.3, 5.1.4, 5.6, 5.7, 5.8, 6.4. In the following, we give a quick overview of the language in order to get you started quickly. Indentation Python uses indentation to group statements as opposed to curly braces in C-like languages. Always indent using 4 spaces. Also note that braces around statements following if, for, etc. are omitted; instead, a colon : at the end is used. if a == 42: for i in range (5) : print i else : b = 5 Variables Python, as a scripting language, uses dynamic typing. a = 42 # int b1, b2 = 42.0, float (42) # float, cast to float c = MyClass ( a) # instance of MyClass d = None # special ' none ' type e = " Hello " # string f = [1,2,3] # a list of values ( mutable ), f [0]=1 g = (1,2,3) # a tuple of values ( immutable ), g [0]=1 h = {"x": 1, "y": 2} #a dictionary h['x ']=1, h['y ']=2 Functions Functions are declared with def. They take a list of required arguments and optional keyword arguments (with default values), and may return values. def some_func ( arg1, arg2, kwarg1 =True, kwarg2 =42) : return arg1 + arg2 Control Flow if, elif, else: if ( a or b) and c: print "x" elif b: print "y" else : print "z" A for loop: for i in range (0,10) : # range [0,10) print i if i < 2: continue if i >= 7: break Exercise: Fizz-Buzz ( 3/6

4 Write a program that prints the numbers from 1 to 100. But for multiples of three print Fizz instead of the number and for the multiples of ve print Buzz. For numbers which are multiples of both three and ve print FizzBuzz. Lists, tuples and slicing List, tuple or strings can be subscripted using slice notation. s = " Hello " print s [1:] print s [2:4] print s [0: -1:2] print s [::2] Exercise: Can you explain the output? Modules Additional functionality can be accessed by importing modules. If you want to import only parts of a module, use the from module import symbol notation, where the function can be optionally renamed using as: import math from math import pi as circle_number print " cos ( pi ) =% f" % ( math. cos ( circle_number ),) Every python le you write can be imported from you in other les: If le file1.py denes a function function1, you can use it from file2.py in the same directory via from file1 import function1. Files Write import statements always at the beginning of your python le. Always put your main function in if name == " main " at the end of the le. This way, the main code won't be executed if you import this le from another le. Numpy A good tutorial for numpy can be found at Import the numpy module via import numpy Creating and calculating with arrays import numpy # create a 2D array of shape (4,6), data type is unsigned char a = numpy. zeros ((4,6), dtype = numpy. uint8 ) print a. ndim # 2- dimensional print a. shape, a. shape [0], a. shape [1] print a. dtype # numpy. uint8 # uniform random numbers in [0,1) b = numpy. random. random (a. shape ) # basic algebra for arrays c = a+b d = a*b e = a /( b +1) f = numpy. sqrt (b) Array slicing Slicing works similar to the slicing of lists, tuples and strings as introduced above. For multidimensional arrays, a slicing for each dimension is given (comma separated). Please see http: //docs.scipy.org/doc/numpy/reference/arrays.indexing.html for a comprehensive overview. 4/6

5 a [:] = 1 # write a 1 to every entry a [1,2] = 2 # assign 2 to the row 1, col 2 ( indices start at 0!) s = numpy. sum ( a) # sum over all array elements assert s == 7 a [:,0] = 42 # assign 42 to the 0- th column # ':' == > select all rows # '0' == > select the 0- th column a [0,...] = 42 # fill 0- th element of first array dimension ( here : column ) # with 42 's, no matter how many dimensions a has b = a [:,0:2] # make a subarray : select only columns 0 and 1 # ( range [0..2) ) numpy.where To nd the indices in an array where a certain condition matches, use numpy.where. The returned tuple of indices can be passed as an argument to the [] operator of any array: import numpy a = numpy. asarray ([[2,5,4,3,1],[1,2,1,5,7]]) print a. shape print a print numpy. where ( a == 2) print numpy. where ( a == 4) print a[ numpy. where (a == 1) ] Vigra Import the vigranumpy module using import vigra. The documentation can be found at index.html. vigranumpy may be used, among many other functions, to read in images as numpy arrays or write them out to le 1 : import vigra img = vigra. impex. readimage ( './ myimage. png ') img. shape # red channel img = img [...,0] img. shape vigra. impex. writeimage (img, './ redchannel. png ') Note that many functions expect the array to be of a certain data type. If you get errors like Boost.Python.ArgumentError: Python argument types in vigra.filters.gaussiansmoothing(numpy.ndarray, int) did not match C++ signature: gaussiansmoothing(vigra::numpyarray<4u, vigra::multiband<float>, vigra::stridedarraytag> array, boost::python::api::object sigma, vigra::numpyarray<4u, vigra::multiband<float>, vigra::stridedarraytag> out=none, boost::python::api::object sigma_d=0.0, boost::python::api::object step_size=1.0, double window_size=0.0, boost::python::api::object roi=none) gaussiansmoothing(vigra::numpyarray<3u, vigra::multiband<float>, vigra::stridedarraytag> array, boost::python::api::object sigma, vigra::numpyarray<3u, vigra::multiband<float>, vigra::stridedarraytag> out=none, boost::python::api::object sigma_d=0.0, boost::python::api::object step_size=1.0, double window_size=0.0, boost::python::api::object roi=none) you have forgotten to cast to the correct data type (note that it searches above for a vigra::numpyarray<4u, vigra::multiband<float>, vigra::stridedarraytag>, which has pixel type oat). In this case, you can cast to 32-bit oat using array.astype(numpy.float32). Other vigra functions may use data type numpy.uint8 or numpy.uint32. Additionally, check that your array has the correct shape, in this case, the function expects an array with ndim == 3 or ndim == 4. 1 If you did not manage to install vigra on your machine, you might want to check out scikit-image for some of those operations. 5/6

6 Matplotlib The recommended way to import matplotlib is: import matplotlib ; matplotlib. use (" Qt4Agg ") from mpl_toolkits. mplot3d import Axes3D from matplotlib import pyplot as plot See to copy/paste some code. Example: read and display image. import numpy, vigra import matplotlib ; matplotlib. use ( ' Qt4Agg ') from matplotlib import pyplot as plot img = vigra. impex. readimage (" myimage. png ") [...,0] # read in red channel plot. figure () plot. gray () # select grayscale color map plot. imshow ( img ) plot. show () Scikit-learn Scikit-learn is a very powerful machine learning toolbox. Most of the algorithms contained in this package will be reviewed in the Pattern Recognition lecture. A tutorial for scikit-learn including detailed descriptions of the algorithms is available at index.html. Exercises (optional, no pts) 1. Plot sin(x) for x [ 1, 1]. Label the axes and add a title. Then save the gure as png. Implementation hints: Use numpy and matplotlib.pyplot. 2. Write a function computing n! and call the function from your main function for n = Find and output the eigenvalues and eigenvectors of the following matrix: A = (1) Implementation hints: Check out the documentation page of numpy.linalg for eigenvalue computation. 4. Concatenate the eigenvectors as columns in a matrix P, compute P 1, and conrm that P Λ P 1 == A, where Λ is the diagonal matrix of the eigenvalues of A. What does a * p do? Implementation hints: In numpy, nd a function for matrix multiplication and for creating a diagonal matrix. Matrix inversion is implemented in the numpy.linalg package. You might also want to look at numpy.all. 6/6

Intro to scientific programming (with Python) Pietro Berkes, Brandeis University

Intro to scientific programming (with Python) Pietro Berkes, Brandeis University Intro to scientific programming (with Python) Pietro Berkes, Brandeis University Next 4 lessons: Outline Scientific programming: best practices Classical learning (Hoepfield network) Probabilistic learning

More information

CRASH COURSE PYTHON. Het begint met een idee

CRASH COURSE PYTHON. Het begint met een idee CRASH COURSE PYTHON nr. Het begint met een idee This talk Not a programming course For data analysts, who want to learn Python For optimizers, who are fed up with Matlab 2 Python Scripting language expensive

More information

Scientific Programming in Python

Scientific Programming in Python UCSD March 9, 2009 What is Python? Python in a very high level (scripting) language which has gained widespread popularity in recent years. It is: What is Python? Python in a very high level (scripting)

More information

Introduction to Python

Introduction to Python Introduction to Python Sophia Bethany Coban Problem Solving By Computer March 26, 2014 Introduction to Python Python is a general-purpose, high-level programming language. It offers readable codes, and

More information

Computational Mathematics with Python

Computational Mathematics with Python Boolean Arrays Classes Computational Mathematics with Python Basics Olivier Verdier and Claus Führer 2009-03-24 Olivier Verdier and Claus Führer Computational Mathematics with Python 2009-03-24 1 / 40

More information

Modeling with Python

Modeling with Python H Modeling with Python In this appendix a brief description of the Python programming language will be given plus a brief introduction to the Antimony reaction network format and libroadrunner. Python

More information

CIS 192: Lecture 13 Scientific Computing and Unit Testing

CIS 192: Lecture 13 Scientific Computing and Unit Testing CIS 192: Lecture 13 Scientific Computing and Unit Testing Lili Dworkin University of Pennsylvania Scientific Computing I Python is really popular in the scientific and statistical computing world I Why?

More information

Computational Mathematics with Python

Computational Mathematics with Python Numerical Analysis, Lund University, 2011 1 Computational Mathematics with Python Chapter 1: Basics Numerical Analysis, Lund University Claus Führer, Jan Erik Solem, Olivier Verdier, Tony Stillfjord Spring

More information

Computational Mathematics with Python

Computational Mathematics with Python Computational Mathematics with Python Basics Claus Führer, Jan Erik Solem, Olivier Verdier Spring 2010 Claus Führer, Jan Erik Solem, Olivier Verdier Computational Mathematics with Python Spring 2010 1

More information

Python for Scientific Computing. http://bender.astro.sunysb.edu/classes/python-science

Python for Scientific Computing. http://bender.astro.sunysb.edu/classes/python-science http://bender.astro.sunysb.edu/classes/python-science Course Goals Simply: to learn how to use python to do Numerical analysis Data analysis Plotting and visualizations Symbol mathematics Write applications...

More information

Exercise 1: Python Language Basics

Exercise 1: Python Language Basics Exercise 1: Python Language Basics In this exercise we will cover the basic principles of the Python language. All languages have a standard set of functionality including the ability to comment code,

More information

AMATH 352 Lecture 3 MATLAB Tutorial Starting MATLAB Entering Variables

AMATH 352 Lecture 3 MATLAB Tutorial Starting MATLAB Entering Variables AMATH 352 Lecture 3 MATLAB Tutorial MATLAB (short for MATrix LABoratory) is a very useful piece of software for numerical analysis. It provides an environment for computation and the visualization. Learning

More information

Python. Python. 1 Python. M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 1 / 25

Python. Python. 1 Python. M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 1 / 25 Python 1 Python M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 1 / 25 Python makes you fly M.Ulvrova, L.Pouilloux (ENS LYON) Informatique L3 Automne 2011 2 / 25 Let s start ipython vs python

More information

Python programming guide for Earth Scientists. Maarten J. Waterloo and Vincent E.A. Post

Python programming guide for Earth Scientists. Maarten J. Waterloo and Vincent E.A. Post Python programming guide for Earth Scientists Maarten J. Waterloo and Vincent E.A. Post Amsterdam Critical Zone Hydrology group September 2015 Cover page: Meteorological tower in an abandoned agricultural

More information

PGR Computing Programming Skills

PGR Computing Programming Skills PGR Computing Programming Skills Dr. I. Hawke 2008 1 Introduction The purpose of computing is to do something faster, more efficiently and more reliably than you could as a human do it. One obvious point

More information

Simulation Tools. Python for MATLAB Users I. Claus Führer. Automn 2009. Claus Führer Simulation Tools Automn 2009 1 / 65

Simulation Tools. Python for MATLAB Users I. Claus Führer. Automn 2009. Claus Führer Simulation Tools Automn 2009 1 / 65 Simulation Tools Python for MATLAB Users I Claus Führer Automn 2009 Claus Führer Simulation Tools Automn 2009 1 / 65 1 Preface 2 Python vs Other Languages 3 Examples and Demo 4 Python Basics Basic Operations

More information

Programming Exercise 3: Multi-class Classification and Neural Networks

Programming Exercise 3: Multi-class Classification and Neural Networks Programming Exercise 3: Multi-class Classification and Neural Networks Machine Learning November 4, 2011 Introduction In this exercise, you will implement one-vs-all logistic regression and neural networks

More information

Financial Econometrics MFE MATLAB Introduction. Kevin Sheppard University of Oxford

Financial Econometrics MFE MATLAB Introduction. Kevin Sheppard University of Oxford Financial Econometrics MFE MATLAB Introduction Kevin Sheppard University of Oxford October 21, 2013 2007-2013 Kevin Sheppard 2 Contents Introduction i 1 Getting Started 1 2 Basic Input and Operators 5

More information

CS1112 Spring 2014 Project 4. Objectives. 3 Pixelation for Identity Protection. due Thursday, 3/27, at 11pm

CS1112 Spring 2014 Project 4. Objectives. 3 Pixelation for Identity Protection. due Thursday, 3/27, at 11pm CS1112 Spring 2014 Project 4 due Thursday, 3/27, at 11pm You must work either on your own or with one partner. If you work with a partner you must first register as a group in CMS and then submit your

More information

Postprocessing with Python

Postprocessing with Python Postprocessing with Python Boris Dintrans (CNRS & University of Toulouse) dintrans@ast.obs-mip.fr Collaborator: Thomas Gastine (PhD) Outline Outline Introduction - what s Python and why using it? - Installation

More information

SparkLab May 2015 An Introduction to

SparkLab May 2015 An Introduction to SparkLab May 2015 An Introduction to & Apostolos N. Papadopoulos Assistant Professor Data Engineering Lab, Department of Informatics, Aristotle University of Thessaloniki Abstract Welcome to SparkLab!

More information

Theorist HT Induc0on Course Lesson 1: Se6ng up your new computer (Mac OS X >= 10.6) As of 9/27/2012

Theorist HT Induc0on Course Lesson 1: Se6ng up your new computer (Mac OS X >= 10.6) As of 9/27/2012 Theorist HT Induc0on Course Lesson 1: Se6ng up your new computer (Mac OS X >= 10.6) As of 9/27/2012 Caveats These are recommended setup steps for Mac OS X >= 10.6. They are not the only possible setup.

More information

Exercise 4 Learning Python language fundamentals

Exercise 4 Learning Python language fundamentals Exercise 4 Learning Python language fundamentals Work with numbers Python can be used as a powerful calculator. Practicing math calculations in Python will help you not only perform these tasks, but also

More information

Part VI. Scientific Computing in Python

Part VI. Scientific Computing in Python Part VI Scientific Computing in Python Compact Course @ GRS, June 03-07, 2013 80 More on Maths Module math Constants pi and e Functions that operate on int and float All return values float ceil (x) floor

More information

Code::Blocks Student Manual

Code::Blocks Student Manual Code::Blocks Student Manual Lawrence Goetz, Network Administrator Yedidyah Langsam, Professor and Theodore Raphan, Distinguished Professor Dept. of Computer and Information Science Brooklyn College of

More information

Chemical and Biological Engineering Calculations using Python 3. Jeffrey J. Heys

Chemical and Biological Engineering Calculations using Python 3. Jeffrey J. Heys Chemical and Biological Engineering Calculations using Python 3 Jeffrey J. Heys Copyright c 2014 Jeffrey Heys All rights reserved. This version is being made available at no cost. Please acknowledge access

More information

Tutorial. Reference http://www.openflowswitch.org/foswiki/bin/view/openflow/mininetgettingstarted for more thorough Mininet walkthrough if desired

Tutorial. Reference http://www.openflowswitch.org/foswiki/bin/view/openflow/mininetgettingstarted for more thorough Mininet walkthrough if desired Setup Tutorial Reference http://www.openflowswitch.org/foswiki/bin/view/openflow/mininetgettingstarted for more thorough Mininet walkthrough if desired Necessary Downloads 1. Download VM at http://www.cs.princeton.edu/courses/archive/fall10/cos561/assignments/cos561tutorial.zip

More information

The "Eclipse Classic" version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended.

The Eclipse Classic version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended. Installing the SDK This page describes how to install the Android SDK and set up your development environment for the first time. If you encounter any problems during installation, see the Troubleshooting

More information

(!' ) "' # "*# "!(!' +,

(!' ) ' # *# !(!' +, MATLAB is a numeric computation software for engineering and scientific calculations. The name MATLAB stands for MATRIX LABORATORY. MATLAB is primarily a tool for matrix computations. It was developed

More information

ANSA and μeta as a CAE Software Development Platform

ANSA and μeta as a CAE Software Development Platform ANSA and μeta as a CAE Software Development Platform Michael Giannakidis, Yianni Kolokythas BETA CAE Systems SA, Thessaloniki, Greece Overview What have we have done so far Current state Future direction

More information

Building a Python Plugin

Building a Python Plugin Building a Python Plugin QGIS Tutorials and Tips Author Ujaval Gandhi http://google.com/+ujavalgandhi This work is licensed under a Creative Commons Attribution 4.0 International License. Building a Python

More information

Data structures for statistical computing in Python Wes McKinney SciPy 2010 McKinney () Statistical Data Structures in Python SciPy 2010 1 / 31 Environments for statistics and data analysis The usual suspects:

More information

2+2 Just type and press enter and the answer comes up ans = 4

2+2 Just type and press enter and the answer comes up ans = 4 Demonstration Red text = commands entered in the command window Black text = Matlab responses Blue text = comments 2+2 Just type and press enter and the answer comes up 4 sin(4)^2.5728 The elementary functions

More information

Getting Started with the Internet Communications Engine

Getting Started with the Internet Communications Engine Getting Started with the Internet Communications Engine David Vriezen April 7, 2014 Contents 1 Introduction 2 2 About Ice 2 2.1 Proxies................................. 2 3 Setting Up ICE 2 4 Slices 2

More information

Assignment 2: Option Pricing and the Black-Scholes formula The University of British Columbia Science One CS 2015-2016 Instructor: Michael Gelbart

Assignment 2: Option Pricing and the Black-Scholes formula The University of British Columbia Science One CS 2015-2016 Instructor: Michael Gelbart Assignment 2: Option Pricing and the Black-Scholes formula The University of British Columbia Science One CS 2015-2016 Instructor: Michael Gelbart Overview Due Thursday, November 12th at 11:59pm Last updated

More information

Creating a Java application using Perfect Developer and the Java Develo...

Creating a Java application using Perfect Developer and the Java Develo... 1 of 10 15/02/2010 17:41 Creating a Java application using Perfect Developer and the Java Development Kit Introduction Perfect Developer has the facility to execute pre- and post-build steps whenever the

More information

GUI Input and Output. Greg Reese, Ph.D Research Computing Support Group Academic Technology Services Miami University

GUI Input and Output. Greg Reese, Ph.D Research Computing Support Group Academic Technology Services Miami University GUI Input and Output Greg Reese, Ph.D Research Computing Support Group Academic Technology Services Miami University GUI Input and Output 2010-13 Greg Reese. All rights reserved 2 Terminology User I/O

More information

MACHINE LEARNING IN HIGH ENERGY PHYSICS

MACHINE LEARNING IN HIGH ENERGY PHYSICS MACHINE LEARNING IN HIGH ENERGY PHYSICS LECTURE #1 Alex Rogozhnikov, 2015 INTRO NOTES 4 days two lectures, two practice seminars every day this is introductory track to machine learning kaggle competition!

More information

Python for Education. Learning Maths & Science using Python and writing them in L A TEX

Python for Education. Learning Maths & Science using Python and writing them in L A TEX Python for Education Learning Maths & Science using Python and writing them in L A TEX Ajith Kumar B.P. Inter University Accelerator Centre New Delhi 110067 www.iuac.res.in June 2010 2 Preface Mathematics,

More information

CUDAMat: a CUDA-based matrix class for Python

CUDAMat: a CUDA-based matrix class for Python Department of Computer Science 6 King s College Rd, Toronto University of Toronto M5S 3G4, Canada http://learning.cs.toronto.edu fax: +1 416 978 1455 November 25, 2009 UTML TR 2009 004 CUDAMat: a CUDA-based

More information

Analysis Programs DPDAK and DAWN

Analysis Programs DPDAK and DAWN Analysis Programs DPDAK and DAWN An Overview Gero Flucke FS-EC PNI-HDRI Spring Meeting April 13-14, 2015 Outline Introduction Overview of Analysis Programs: DPDAK DAWN Summary Gero Flucke (DESY) Analysis

More information

#include <Gamer.h> Gamer gamer; void setup() { gamer.begin(); } void loop() {

#include <Gamer.h> Gamer gamer; void setup() { gamer.begin(); } void loop() { #include Gamer gamer; void setup() { gamer.begin(); void loop() { Gamer Keywords Inputs Board Pin Out Library Instead of trying to find out which input is plugged into which pin, you can use

More information

Hypercosm. Studio. www.hypercosm.com

Hypercosm. Studio. www.hypercosm.com Hypercosm Studio www.hypercosm.com Hypercosm Studio Guide 3 Revision: November 2005 Copyright 2005 Hypercosm LLC All rights reserved. Hypercosm, OMAR, Hypercosm 3D Player, and Hypercosm Studio are trademarks

More information

An Incomplete C++ Primer. University of Wyoming MA 5310

An Incomplete C++ Primer. University of Wyoming MA 5310 An Incomplete C++ Primer University of Wyoming MA 5310 Professor Craig C. Douglas http://www.mgnet.org/~douglas/classes/na-sc/notes/c++primer.pdf C++ is a legacy programming language, as is other languages

More information

NLP Programming Tutorial 0 - Programming Basics

NLP Programming Tutorial 0 - Programming Basics NLP Programming Tutorial 0 - Programming Basics Graham Neubig Nara Institute of Science and Technology (NAIST) 1 About this Tutorial 14 parts, starting from easier topics Each time: During the tutorial:

More information

Introduction to Python

Introduction to Python Caltech/LEAD Summer 2012 Computer Science Lecture 2: July 10, 2012 Introduction to Python The Python shell Outline Python as a calculator Arithmetic expressions Operator precedence Variables and assignment

More information

G563 Quantitative Paleontology. SQL databases. An introduction. Department of Geological Sciences Indiana University. (c) 2012, P.

G563 Quantitative Paleontology. SQL databases. An introduction. Department of Geological Sciences Indiana University. (c) 2012, P. SQL databases An introduction AMP: Apache, mysql, PHP This installations installs the Apache webserver, the PHP scripting language, and the mysql database on your computer: Apache: runs in the background

More information

u = [ 2 4 5] has one row with three components (a 3 v = [2 4 5] has three rows separated by semicolons (a 3 w = 2:5 generates the row vector w = [ 2 3

u = [ 2 4 5] has one row with three components (a 3 v = [2 4 5] has three rows separated by semicolons (a 3 w = 2:5 generates the row vector w = [ 2 3 MATLAB Tutorial You need a small numb e r of basic commands to start using MATLAB. This short tutorial describes those fundamental commands. You need to create vectors and matrices, to change them, and

More information

Java Crash Course Part I

Java Crash Course Part I Java Crash Course Part I School of Business and Economics Institute of Information Systems HU-Berlin WS 2005 Sebastian Kolbe skolbe@wiwi.hu-berlin.de Overview (Short) introduction to the environment Linux

More information

Introduction to Python

Introduction to Python 1 Daniel Lucio March 2016 Creator of Python https://en.wikipedia.org/wiki/guido_van_rossum 2 Python Timeline Implementation Started v1.0 v1.6 v2.1 v2.3 v2.5 v3.0 v3.1 v3.2 v3.4 1980 1991 1997 2004 2010

More information

[1] Learned how to set up our computer for scripting with python et al. [3] Solved a simple data logistics problem using natural language/pseudocode.

[1] Learned how to set up our computer for scripting with python et al. [3] Solved a simple data logistics problem using natural language/pseudocode. Last time we... [1] Learned how to set up our computer for scripting with python et al. [2] Thought about breaking down a scripting problem into its constituent steps. [3] Solved a simple data logistics

More information

Fundamentals of Java Programming

Fundamentals of Java Programming Fundamentals of Java Programming This document is exclusive property of Cisco Systems, Inc. Permission is granted to print and copy this document for non-commercial distribution and exclusive use by instructors

More information

Introduction to MATLAB (Basics) Reference from: Azernikov Sergei mesergei@tx.technion.ac.il

Introduction to MATLAB (Basics) Reference from: Azernikov Sergei mesergei@tx.technion.ac.il Introduction to MATLAB (Basics) Reference from: Azernikov Sergei mesergei@tx.technion.ac.il MATLAB Basics Where to get help? 1) In MATLAB s prompt type: help, lookfor,helpwin, helpdesk, demos. 2) On the

More information

Outline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage

Outline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage Outline 1 Computer Architecture hardware components programming environments 2 Getting Started with Python installing Python executing Python code 3 Number Systems decimal and binary notations running

More information

CS 103 Lab Linux and Virtual Machines

CS 103 Lab Linux and Virtual Machines 1 Introduction In this lab you will login to your Linux VM and write your first C/C++ program, compile it, and then execute it. 2 What you will learn In this lab you will learn the basic commands and navigation

More information

CE 504 Computational Hydrology Computational Environments and Tools Fritz R. Fiedler

CE 504 Computational Hydrology Computational Environments and Tools Fritz R. Fiedler CE 504 Computational Hydrology Computational Environments and Tools Fritz R. Fiedler 1) Operating systems a) Windows b) Unix and Linux c) Macintosh 2) Data manipulation tools a) Text Editors b) Spreadsheets

More information

Setting up Python 3.4 and numpy and matplotlib on your own Windows PC or laptop

Setting up Python 3.4 and numpy and matplotlib on your own Windows PC or laptop CS-1004, Introduction to Programming for Non-Majors, C-Term 2015 Setting up Python 3.4 and numpy and matplotlib on your own Windows PC or laptop Hugh C. Lauer Adjunct Professor Worcester Polytechnic Institute

More information

Modelling with R and MySQL. - Manual - Gesine Bökenkamp, Frauke Wiese, Clemens Wingenbach

Modelling with R and MySQL. - Manual - Gesine Bökenkamp, Frauke Wiese, Clemens Wingenbach Modelling with R and MySQL - Manual - Gesine Bökenkamp, Frauke Wiese, Clemens Wingenbach October 27, 2014 1 Contents 1 Software Installation 3 1.1 Database...................................... 3 1.1.1

More information

Running and Scheduling QGIS Processing Jobs

Running and Scheduling QGIS Processing Jobs Running and Scheduling QGIS Processing Jobs QGIS Tutorials and Tips Author Ujaval Gandhi http://google.com/+ujavalgandhi Translations by Christina Dimitriadou Paliogiannis Konstantinos Tom Karagkounis

More information

The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications

The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications Joshua Ellul jellul@imperial.ac.uk Overview Brief introduction to Body Sensor Networks BSN Hardware

More information

Structural Health Monitoring Tools (SHMTools)

Structural Health Monitoring Tools (SHMTools) Structural Health Monitoring Tools (SHMTools) Getting Started LANL/UCSD Engineering Institute LA-CC-14-046 c Copyright 2014, Los Alamos National Security, LLC All rights reserved. May 30, 2014 Contents

More information

How to start with 3DHOP

How to start with 3DHOP How to start with 3DHOP Package content, local setup, online deployment http://3dhop.net 30/6/2015 The 3DHOP distribution Where to find it, what s inside The 3DHOP distribution package From the page http://3dhop.net/download.php

More information

Code::Block manual. for CS101x course. Department of Computer Science and Engineering Indian Institute of Technology - Bombay Mumbai - 400076.

Code::Block manual. for CS101x course. Department of Computer Science and Engineering Indian Institute of Technology - Bombay Mumbai - 400076. Code::Block manual for CS101x course Department of Computer Science and Engineering Indian Institute of Technology - Bombay Mumbai - 400076. April 9, 2014 Contents 1 Introduction 1 1.1 Code::Blocks...........................................

More information

CSCE 110 Programming I Basics of Python: Variables, Expressions, and Input/Output

CSCE 110 Programming I Basics of Python: Variables, Expressions, and Input/Output CSCE 110 Programming Basics of Python: Variables, Expressions, and nput/output Dr. Tiffani L. Williams Department of Computer Science and Engineering Texas A&M University Fall 2011 Python Python was developed

More information

1 Topic. 2 Scilab. 2.1 What is Scilab?

1 Topic. 2 Scilab. 2.1 What is Scilab? 1 Topic Data Mining with Scilab. I know the name "Scilab" for a long time (http://www.scilab.org/en). For me, it is a tool for numerical analysis. It seemed not interesting in the context of the statistical

More information

Using MATLAB to Measure the Diameter of an Object within an Image

Using MATLAB to Measure the Diameter of an Object within an Image Using MATLAB to Measure the Diameter of an Object within an Image Keywords: MATLAB, Diameter, Image, Measure, Image Processing Toolbox Author: Matthew Wesolowski Date: November 14 th 2014 Executive Summary

More information

cloud-kepler Documentation

cloud-kepler Documentation cloud-kepler Documentation Release 1.2 Scott Fleming, Andrea Zonca, Jack Flowers, Peter McCullough, El July 31, 2014 Contents 1 System configuration 3 1.1 Python and Virtualenv setup.......................................

More information

Introduction to Matlab

Introduction to Matlab Introduction to Matlab Social Science Research Lab American University, Washington, D.C. Web. www.american.edu/provost/ctrl/pclabs.cfm Tel. x3862 Email. SSRL@American.edu Course Objective This course provides

More information

An Introduction to Using Python with Microsoft Azure

An Introduction to Using Python with Microsoft Azure An Introduction to Using Python with Microsoft Azure If you build technical and scientific applications, you're probably familiar with Python. What you might not know is that there are now tools available

More information

We will learn the Python programming language. Why? Because it is easy to learn and many people write programs in Python so we can share.

We will learn the Python programming language. Why? Because it is easy to learn and many people write programs in Python so we can share. LING115 Lecture Note Session #4 Python (1) 1. Introduction As we have seen in previous sessions, we can use Linux shell commands to do simple text processing. We now know, for example, how to count words.

More information

6.170 Tutorial 3 - Ruby Basics

6.170 Tutorial 3 - Ruby Basics 6.170 Tutorial 3 - Ruby Basics Prerequisites 1. Have Ruby installed on your computer a. If you use Mac/Linux, Ruby should already be preinstalled on your machine. b. If you have a Windows Machine, you

More information

Scicos is a Scilab toolbox included in the Scilab package. The Scicos editor can be opened by the scicos command

Scicos is a Scilab toolbox included in the Scilab package. The Scicos editor can be opened by the scicos command 7 Getting Started 7.1 Construction of a Simple Diagram Scicos contains a graphical editor that can be used to construct block diagram models of dynamical systems. The blocks can come from various palettes

More information

Tentative NumPy Tutorial

Tentative NumPy Tutorial Tentative NumPy Tutorial This tutorial is unfinished. The original authors were not NumPy experts nor native English speakers so it needs reviewing. Please do not hesitate to click the edit button. You

More information

UCINET Quick Start Guide

UCINET Quick Start Guide UCINET Quick Start Guide This guide provides a quick introduction to UCINET. It assumes that the software has been installed with the data in the folder C:\Program Files\Analytic Technologies\Ucinet 6\DataFiles

More information

FIRST STEPS WITH SCILAB

FIRST STEPS WITH SCILAB powered by FIRST STEPS WITH SCILAB The purpose of this tutorial is to get started using Scilab, by discovering the environment, the main features and some useful commands. Level This work is licensed under

More information

Visualization with Excel Tools and Microsoft Azure

Visualization with Excel Tools and Microsoft Azure Visualization with Excel Tools and Microsoft Azure Introduction Power Query and Power Map are add-ins that are available as free downloads from Microsoft to enhance the data access and data visualization

More information

Computational Physics With Python. Dr. Eric Ayars California State University, Chico

Computational Physics With Python. Dr. Eric Ayars California State University, Chico Computational Physics With Python Dr. Eric Ayars California State University, Chico ii Copyright c 2013 Eric Ayars except where otherwise noted. Version 0.9, August 18, 2013 Contents Preface.................................

More information

0 Introduction to Data Analysis Using an Excel Spreadsheet

0 Introduction to Data Analysis Using an Excel Spreadsheet Experiment 0 Introduction to Data Analysis Using an Excel Spreadsheet I. Purpose The purpose of this introductory lab is to teach you a few basic things about how to use an EXCEL 2010 spreadsheet to do

More information

Ohio University Computer Services Center August, 2002 Crystal Reports Introduction Quick Reference Guide

Ohio University Computer Services Center August, 2002 Crystal Reports Introduction Quick Reference Guide Open Crystal Reports From the Windows Start menu choose Programs and then Crystal Reports. Creating a Blank Report Ohio University Computer Services Center August, 2002 Crystal Reports Introduction Quick

More information

Informatica e Sistemi in Tempo Reale

Informatica e Sistemi in Tempo Reale Informatica e Sistemi in Tempo Reale Introduction to C programming Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa October 25, 2010 G. Lipari (Scuola Superiore Sant Anna)

More information

Introduction. Chapter 1

Introduction. Chapter 1 Chapter 1 Introduction MATLAB (Matrix laboratory) is an interactive software system for numerical computations and graphics. As the name suggests, MATLAB is especially designed for matrix computations:

More information

INTEGRATING MICROSOFT DYNAMICS CRM WITH SIMEGO DS3

INTEGRATING MICROSOFT DYNAMICS CRM WITH SIMEGO DS3 INTEGRATING MICROSOFT DYNAMICS CRM WITH SIMEGO DS3 Often the most compelling way to introduce yourself to a software product is to try deliver value as soon as possible. Simego DS3 is designed to get you

More information

DSP First Laboratory Exercise #9 Sampling and Zooming of Images In this lab we study the application of FIR ltering to the image zooming problem, where lowpass lters are used to do the interpolation needed

More information

Python for Data Analysis and Visualiza4on. Fang (Cherry) Liu, Ph.D fang.liu@oit.gatech.edu PACE Gatech July 2013

Python for Data Analysis and Visualiza4on. Fang (Cherry) Liu, Ph.D fang.liu@oit.gatech.edu PACE Gatech July 2013 Python for Data Analysis and Visualiza4on Fang (Cherry) Liu, Ph.D PACE Gatech July 2013 Outline System requirements and IPython Why use python for data analysis and visula4on Data set US baby names 1880-2012

More information

UQC103S1 UFCE47-20-1. Systems Development. uqc103s/ufce47-20-1 PHP-mySQL 1

UQC103S1 UFCE47-20-1. Systems Development. uqc103s/ufce47-20-1 PHP-mySQL 1 UQC103S1 UFCE47-20-1 Systems Development uqc103s/ufce47-20-1 PHP-mySQL 1 Who? Email: uqc103s1@uwe.ac.uk Web Site www.cems.uwe.ac.uk/~jedawson www.cems.uwe.ac.uk/~jtwebb/uqc103s1/ uqc103s/ufce47-20-1 PHP-mySQL

More information

An Introduction to APGL

An Introduction to APGL An Introduction to APGL Charanpal Dhanjal February 2012 Abstract Another Python Graph Library (APGL) is a graph library written using pure Python, NumPy and SciPy. Users new to the library can gain an

More information

Beyond the Mouse A Short Course on Programming

Beyond the Mouse A Short Course on Programming 1 / 22 Beyond the Mouse A Short Course on Programming 2. Fundamental Programming Principles I: Variables and Data Types Ronni Grapenthin Geophysical Institute, University of Alaska Fairbanks September

More information

In-System Programmer USER MANUAL RN-ISP-UM RN-WIFLYCR-UM-.01. www.rovingnetworks.com 1

In-System Programmer USER MANUAL RN-ISP-UM RN-WIFLYCR-UM-.01. www.rovingnetworks.com 1 RN-WIFLYCR-UM-.01 RN-ISP-UM In-System Programmer 2012 Roving Networks. All rights reserved. Version 1.1 1/19/2012 USER MANUAL www.rovingnetworks.com 1 OVERVIEW You use Roving Networks In-System-Programmer

More information

Introduction to Python

Introduction to Python WEEK ONE Introduction to Python Python is such a simple language to learn that we can throw away the manual and start with an example. Traditionally, the first program to write in any programming language

More information

LAB4 Making Classes and Objects

LAB4 Making Classes and Objects LAB4 Making Classes and Objects Objective The main objective of this lab is class creation, how its constructer creation, object creation and instantiation of objects. We will use the definition pane to

More information

INTEL PARALLEL STUDIO EVALUATION GUIDE. Intel Cilk Plus: A Simple Path to Parallelism

INTEL PARALLEL STUDIO EVALUATION GUIDE. Intel Cilk Plus: A Simple Path to Parallelism Intel Cilk Plus: A Simple Path to Parallelism Compiler extensions to simplify task and data parallelism Intel Cilk Plus adds simple language extensions to express data and task parallelism to the C and

More information

Advanced Functions and Modules

Advanced Functions and Modules Advanced Functions and Modules CB2-101 Introduction to Scientific Computing November 19, 2015 Emidio Capriotti http://biofold.org/ Institute for Mathematical Modeling of Biological Systems Department of

More information

Availability of the Program A free version is available of each (see individual programs for links).

Availability of the Program A free version is available of each (see individual programs for links). Choosing a Programming Platform Diane Hobenshield Tepylo, Lisa Floyd, and Steve Floyd (Computer Science and Mathematics teachers) The Tasks Working Group had many questions and concerns about choosing

More information

15.062 Data Mining: Algorithms and Applications Matrix Math Review

15.062 Data Mining: Algorithms and Applications Matrix Math Review .6 Data Mining: Algorithms and Applications Matrix Math Review The purpose of this document is to give a brief review of selected linear algebra concepts that will be useful for the course and to develop

More information

Installation of PHP, MariaDB, and Apache

Installation of PHP, MariaDB, and Apache Installation of PHP, MariaDB, and Apache A few years ago, one would have had to walk over to the closest pizza store to order a pizza, go over to the bank to transfer money from one account to another

More information

Linear Algebra Review. Vectors

Linear Algebra Review. Vectors Linear Algebra Review By Tim K. Marks UCSD Borrows heavily from: Jana Kosecka kosecka@cs.gmu.edu http://cs.gmu.edu/~kosecka/cs682.html Virginia de Sa Cogsci 8F Linear Algebra review UCSD Vectors The length

More information

An introduction to Python Programming for Research

An introduction to Python Programming for Research An introduction to Python Programming for Research James Hetherington November 4, 2015 Contents 1 Introduction 15 1.1 Why teach Python?......................................... 15 1.1.1 Why Python?.........................................

More information

by Jonathan Kohl and Paul Rogers 40 BETTER SOFTWARE APRIL 2005 www.stickyminds.com

by Jonathan Kohl and Paul Rogers 40 BETTER SOFTWARE APRIL 2005 www.stickyminds.com Test automation of Web applications can be done more effectively by accessing the plumbing within the user interface. Here is a detailed walk-through of Watir, a tool many are using to check the pipes.

More information

Programming Languages & Tools

Programming Languages & Tools 4 Programming Languages & Tools Almost any programming language one is familiar with can be used for computational work (despite the fact that some people believe strongly that their own favorite programming

More information