Profiling, debugging and testing with Python. Jonathan Bollback, Georg Rieckh and Jose Guzman
|
|
|
- Alice Scott
- 10 years ago
- Views:
Transcription
1 Profiling, debugging and testing with Python Jonathan Bollback, Georg Rieckh and Jose Guzman
2
3 Overview 1.- Profiling 4 Profiling: timeit 5 Profiling: exercise Debugging 7 Debugging: pdb 8 Debugging: exercise Testing 12 Simple case testing 13 Unittesting: exercise 16 Documentation it is all about writing good code
4 1.- Profiling Code optimization refers to the practice of reducing the processor time of an algorithm or function. Two rules to write optimized code (in Python) 1. avoid for loops if possible 2. use existing routines or modules (e.g NumPy/Scipy libraries) To evaluate where the code spends more of its time we need a Profiler 1.- Profiling
5 Profiling: timeit Syntax: Timer("main statement", "setup statement") timeit() returns the time (in seconds) that takes to execute the main statement. It takes the number of executions as argument. from timeit import Timer myprofiler = Timer("np.random.rand(1e6)", "import numpy as np") myprofiler.timeit(2) # call main statement 2 times repeat(n, m) calls timeit(m) n-times to execute the main statement m-times and returns a list. myprofiler.repeat(3, 2) # call timeit(2) 3 times [ , , ] Profiling: timeit
6 Profiling: exercise We will evaluate the following functions described in matrices.py 1. matrix_python0(n,p) 2. matrix_python1(n,p) 3. matrix_python2(n,p) 4. matrix_numpy(n,p) 5. matrix_numpy1(n,p) 6. matrix_c(n,p) where n is the size of a quadratic matrix whose elements are one with a probability of p, or zero otherwise. To profile generate 10 matrices of size 1000 and 0.5 probabilities (n=1000, p=0.5) return the average of at least 20 profiles to have a representative measurement Profiling: exercise
7 2.- Debugging A bug is a failure in a routine that blocks the standard execution of a program. A bug is not: An exception (i.e the program does not work under specified conditions) A not implemented feature (i.e a program do not cover all features) Example Find 2+1 bugs in the code above def sphere_volume(radius): returns the volume of a sphere of radius given as argument vol = (3/4)*PI*(raduis)**3 return(vol) 2.- Debugging
8 Debugging: pdb pdb is a command-line based debugger it opens an interactive shell that allows us: to examine and change the value of variables execute code line by line set up breakpoints examine call stacks To execute the Python debugger we simply type in our shell: $ pdb <filename>.py Debugging: pdb
9 pdb basic commands: Demo quit [q] quit debugging next [n] executes the next statement print [p] prints the value of a variable list [l] list the current code continue [c] continues until pdb.set_trace() statement We will run the pdb debugger on simple.py to know if the variable val is taking the right values. def parabola(x, c): returns the solution to f(x) = x^2 + c return(x**2+c) if name == ' main ': offset = 8 for i in range(0,10,2): val = parabola(x=i, c=offset) pdb basic commands:
10 pdb basic commands:
11 Debugging: exercise Use a debugger to find the following discrepancy in debugme.py : from debugme import average1 mydata = range(10) average1(mydata) >>> 0 sum(mydata)/10. # point in denominator to return a float >>> 4.5 Debugging: exercise
12 3.- Testing Test suites are fundamental part of modern programming techniques. unittest is the standard Python testing library Unittesting is designed to avoid errors of the type described bellow: from math import pi as PI def sphere_volume(radius): returns the volume of a sphere of radius given as argument volume(r) = 4/3*pi*r^3 vol = (3/4)*PI*(radius)**3 return(vol) 3.- Testing
13 Simple case testing A basic schema for unittesting look like this: import unittest class FirstTestCase(unittest.TestCase): first sets of tests def test_true(self): methods beginning with 'test' are executed self.asserttrue() self.assertfalse() if name == ' main ': unittest.main() Simple case testing
14 Simple case testing A first implementation for testing that the volume of a sphere is a float would be... import unittest from volume import sphere_volume as v_sphere class ReturnValues(unittest.TestCase): def test_is_float(self): Test if return values are floats sol = v_sphere(radius=1) self.asserttrue( type(sol) == float ) def test_is_not_int(self): Test if return values are floats sol = v_sphere(radius=1) self.assertfalse( type(sol) == int) Simple case testing
15 Unittesting cases TestCase methods Examples asserttrue() asserttrue( isinstance([1,2], list) ) asserttrue( 'Hi'.islower() ) assertfalse() assertfalse( isinstance([1,2], float) ) assertfalse( isinstance('hello', str) ) assertequal() assertequal( [2,3], [2,3] ) assertequal( 3.14, ) assertnotequal() assertnotequal( 1.2, 1.21 ) assertnotequal( 3.14, 3.14 ) assertalmostequal() assertalmostequal( 1.125, 1.12, 2 ) assertnotequal( 1.125, 1.12, 3) Unittesting cases
16 Unittesting: exercise Perform the testing of the function sphere_volume in volumen.py. For that, you can test that it returns its correct value: for radius=2 units the volume of a sphere is units^3 Unittesting: exercise
17 Documentation Despite the whole debugging techniques, one of the best practices to write good code is to provide a good documentation: To Provide a thoughtful documentation of your code 1. Enter docstrings at the beginning of your file models.py Date: Sat Sep this script contains probability distribution functions... import numpy as np This allows the reader to have additional information about the file (titles tend to be rather unspecific). Documentation
18 2. Use doc strings in every new function/method def random(n, seed=none): returns a NumPy array with random numbers Arguments: n -- number of random in the array seed -- the seed Example: >>> random(5, 100) array([ , , , , ]) if seed is not None: np.random.seend(seed) return np.random.rand(n) 3. Comment any non obvious piece of code np.random.rand(1e6) # we did not use a seed here Your doc strings will be accessible via the help statement in Python. To create HTML documentation of your scripts use pydoc -w myscript Documentation
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
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?
Advanced Topics: Biopython
Advanced Topics: Biopython Day Three Testing Peter J. A. Cock The James Hutton Institute, Invergowrie, Dundee, DD2 5DA, Scotland, UK 23rd 25th January 2012, Workshop on Genomics, Český Krumlov, Czech Republic
Survey of Unit-Testing Frameworks. by John Szakmeister and Tim Woods
Survey of Unit-Testing Frameworks by John Szakmeister and Tim Woods Our Background Using Python for 7 years Unit-testing fanatics for 5 years Agenda Why unit test? Talk about 3 frameworks: unittest nose
Writing robust scientific code with testing (and Python) Pietro Berkes, Enthought UK
Writing robust scientific code with testing (and Python) Pietro Berkes, Enthought UK Modern programming practices and science } Researchers and scientific software developers write software daily, but
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
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
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
Computing Concepts with Java Essentials
2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Computing Concepts with Java Essentials 3rd Edition Cay Horstmann
CSE 6040 Computing for Data Analytics: Methods and Tools
CSE 6040 Computing for Data Analytics: Methods and Tools Lecture 12 Computer Architecture Overview and Why it Matters DA KUANG, POLO CHAU GEORGIA TECH FALL 2014 Fall 2014 CSE 6040 COMPUTING FOR DATA ANALYSIS
Exercise 0. Although Python(x,y) comes already with a great variety of scientic Python packages, we might have to install additional dependencies:
Exercise 0 Deadline: None Computer Setup Windows Download Python(x,y) via http://code.google.com/p/pythonxy/wiki/downloads and install it. Make sure that before installation the installer does not complain
Self-review 9.3 What is PyUnit? PyUnit is the unit testing framework that comes as standard issue with the Python system.
Testing, Testing 9 Self-Review Questions Self-review 9.1 What is unit testing? It is testing the functions, classes and methods of our applications in order to ascertain whether there are bugs in the code.
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
Computer Science 1 CSci 1100 Lecture 3 Python Functions
Reading Computer Science 1 CSci 1100 Lecture 3 Python Functions Most of this is covered late Chapter 2 in Practical Programming and Chapter 3 of Think Python. Chapter 6 of Think Python goes into more detail,
HPC Wales Skills Academy Course Catalogue 2015
HPC Wales Skills Academy Course Catalogue 2015 Overview The HPC Wales Skills Academy provides a variety of courses and workshops aimed at building skills in High Performance Computing (HPC). Our courses
CS 1133, LAB 2: FUNCTIONS AND TESTING http://www.cs.cornell.edu/courses/cs1133/2015fa/labs/lab02.pdf
CS 1133, LAB 2: FUNCTIONS AND TESTING http://www.cs.cornell.edu/courses/cs1133/2015fa/labs/lab02.pdf First Name: Last Name: NetID: The purpose of this lab is to help you to better understand functions:
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...
Applications to Computational Financial and GPU Computing. May 16th. Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61
F# Applications to Computational Financial and GPU Computing May 16th Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61 Today! Why care about F#? Just another fashion?! Three success stories! How Alea.cuBase
AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping
AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping 3.1.1 Constants, variables and data types Understand what is mean by terms data and information Be able to describe the difference
Microsoft Windows PowerShell v2 For Administrators
Course 50414B: Microsoft Windows PowerShell v2 For Administrators Course Details Course Outline Module 1: Introduction to PowerShell the Basics This module explains how to install and configure PowerShell.
Test Driven Development in Python
Test Driven Development in Python Kevin Dahlhausen [email protected] My (pythonic) Background learned of python in 96 < Vim Editor Fast-Light Toolkit python wrappers PyGallery one of the early
Python programming Testing
Python programming Testing Finn Årup Nielsen DTU Compute Technical University of Denmark September 8, 2014 Overview Testing frameworks: unittest, nose, py.test, doctest Coverage Testing of numerical computations
Python Classes and Objects
Python Classes and Objects A Basic Introduction Coming up: Topics 1 Topics Objects and Classes Abstraction Encapsulation Messages What are objects An object is a datatype that stores data, but ALSO has
personalkollen fredag 5 juli 13
personalkollen It is getting better! Photo: http://www.flickr.com/photos/bee/3290452839/ from django.test import TestCase class TestHelloWorld(TestCase): def test_hello_world(self): response
CME 193: Introduction to Scientific Python Lecture 8: Unit testing, more modules, wrap up
CME 193: Introduction to Scientific Python Lecture 8: Unit testing, more modules, wrap up Sven Schmit stanford.edu/~schmit/cme193 8: Unit testing, more modules, wrap up 8-1 Contents Unit testing More modules
Software Testing with Python
Software Testing with Python Magnus Lyckå Thinkware AB www.thinkware.se EuroPython Conference 2004 Chalmers, Göteborg, Sweden 2004, Magnus Lyckå In the next 30 minutes you should... Learn about different
Monitoring, Tracing, Debugging (Under Construction)
Monitoring, Tracing, Debugging (Under Construction) I was already tempted to drop this topic from my lecture on operating systems when I found Stephan Siemen's article "Top Speed" in Linux World 10/2003.
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
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?.........................................
Python and Google App Engine
Python and Google App Engine Dan Sanderson June 14, 2012 Google App Engine Platform for building scalable web applications Built on Google infrastructure Pay for what you use Apps, instance hours, storage,
Software Testing. Theory and Practicalities
Software Testing Theory and Practicalities Purpose To find bugs To enable and respond to change To understand and monitor performance To verify conformance with specifications To understand the functionality
Objects and classes. Objects and classes. Jarkko Toivonen (CS Department) Programming in Python 1
Objects and classes Jarkko Toivonen (CS Department) Programming in Python 1 Programming paradigms of Python Python is an object-oriented programming language like Java and C++ But unlike Java, Python doesn
Python Testing with unittest, nose, pytest
Python Testing with unittest, nose, pytest Efficient and effective testing using the 3 top python testing frameworks Brian Okken This book is for sale at http://leanpub.com/pythontesting This version was
FEEG6002 - Applied Programming 5 - Tutorial Session
FEEG6002 - Applied Programming 5 - Tutorial Session Sam Sinayoko 2015-10-30 1 / 38 Outline Objectives Two common bugs General comments on style String formatting Questions? Summary 2 / 38 Objectives Revise
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.
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
Python 2 and 3 compatibility testing via optional run-time type checking
Python 2 and 3 compatibility testing via optional run-time type checking Raoul-Gabriel Urma Work carried out during a Google internship & PhD https://github.com/google/pytypedecl Python 2 vs. Python 3
Welcome to Introduction to programming in Python
Welcome to Introduction to programming in Python Suffolk One, Ipswich, 4:30 to 6:00 Tuesday Jan 14, Jan 21, Jan 28, Feb 11 Welcome Fire exits Toilets Refreshments 1 Learning objectives of the course An
WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math
Textbook Correlation WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math Following Directions Unit FIRST QUARTER AND SECOND QUARTER Logic Unit
How to write a bash script like the python? Lloyd Huang. KaLUG - Kaohsiung Linux User Group COSCUP Aug 18 2012
How to write a bash script like the python? Lloyd Huang KaLUG - Kaohsiung Linux User Group COSCUP Aug 18 2012 Before the start Before the start About Bash Python and me. The ipython and lpython.py. A trick,
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
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
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
Slides from INF3331 lectures - web programming in Python
Slides from INF3331 lectures - web programming in Python Joakim Sundnes & Hans Petter Langtangen Dept. of Informatics, Univ. of Oslo & Simula Research Laboratory October 2013 Programming web applications
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)
WebIOPi. Installation Walk-through Macros
WebIOPi Installation Walk-through Macros Installation Install WebIOPi on your Raspberry Pi Download the tar archive file: wget www.cs.unca.edu/~bruce/fall14/webiopi-0.7.0.tar.gz Uncompress: tar xvfz WebIOPi-0.7.0.tar.gz
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
Optimizing and interfacing with Cython. Konrad HINSEN Centre de Biophysique Moléculaire (Orléans) and Synchrotron Soleil (St Aubin)
Optimizing and interfacing with Cython Konrad HINSEN Centre de Biophysique Moléculaire (Orléans) and Synchrotron Soleil (St Aubin) Extension modules Python permits modules to be written in C. Such modules
Software Tool Seminar WS1516 - Taming the Snake
Software Tool Seminar WS1516 - Taming the Snake November 4, 2015 1 Taming the Snake 1.1 Understanding how Python works in N simple steps (with N still growing) 1.2 Step 0. What this talk is about (and
Objectives. Python Programming: An Introduction to Computer Science. Lab 01. What we ll learn in this class
Python Programming: An Introduction to Computer Science Chapter 1 Computers and Programs Objectives Introduction to the class Why we program and what that means Introduction to the Python programming language
Testing for Security
Testing for Security Kenneth Ingham September 29, 2009 1 Course overview The threat that security breaches present to your products and ultimately your customer base can be significant. This course is
Visual Basic Programming. An Introduction
Visual Basic Programming An Introduction Why Visual Basic? Programming for the Windows User Interface is extremely complicated. Other Graphical User Interfaces (GUI) are no better. Visual Basic provides
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
Peach Fuzzer Platform
Fuzzing is a software testing technique that introduces invalid, malformed, or random data to parts of a computer system, such as files, network packets, environment variables, or memory. How the tested
ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science
ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science Program Schedule CTech Computer Science Credits CS101 Computer Science I 3 MATH100 Foundations of Mathematics and
Course MS10975A Introduction to Programming. Length: 5 Days
3 Riverchase Office Plaza Hoover, Alabama 35244 Phone: 205.989.4944 Fax: 855.317.2187 E-Mail: [email protected] Web: www.discoveritt.com Course MS10975A Introduction to Programming Length: 5 Days
Chapter 12 Programming Concepts and Languages
Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Paradigm Publishing, Inc. 12-1 Presentation Overview Programming Concepts Problem-Solving Techniques The Evolution
Python Programming: An Introduction to Computer Science
Python Programming: An Introduction to Computer Science Chapter 1 Computers and Programs 1 Objectives To understand the respective roles of hardware and software in a computing system. To learn what computer
Python Loops and String Manipulation
WEEK TWO Python Loops and String Manipulation Last week, we showed you some basic Python programming and gave you some intriguing problems to solve. But it is hard to do anything really exciting until
latest Release 0.2.6
latest Release 0.2.6 August 19, 2015 Contents 1 Installation 3 2 Configuration 5 3 Django Integration 7 4 Stand-Alone Web Client 9 5 Daemon Mode 11 6 IRC Bots 13 7 Bot Events 15 8 Channel Events 17 9
Visual Basic. murach's TRAINING & REFERENCE
TRAINING & REFERENCE murach's Visual Basic 2008 Anne Boehm lbm Mike Murach & Associates, Inc. H 1-800-221-5528 (559) 440-9071 Fax: (559) 440-0963 [email protected] www.murach.com Contents Introduction
The Clean programming language. Group 25, Jingui Li, Daren Tuzi
The Clean programming language Group 25, Jingui Li, Daren Tuzi The Clean programming language Overview The Clean programming language first appeared in 1987 and is still being further developed. It was
Programmierpraktikum
Programmierpraktikum Claudius Gros, SS2012 Institut für theoretische Physik Goethe-University Frankfurt a.m. 1 of 21 10/16/2012 09:29 AM Java - A First Glance 2 of 21 10/16/2012 09:29 AM programming languages
Introduction to Python for Text Analysis
Introduction to Python for Text Analysis Jennifer Pan Institute for Quantitative Social Science Harvard University (Political Science Methods Workshop, February 21 2014) *Much credit to Andy Hall and Learning
How To Train A Face Recognition In Python And Opencv
TRAINING DETECTORS AND RECOGNIZERS IN PYTHON AND OPENCV Sept. 9, 2014 ISMAR 2014 Joseph Howse GOALS Build apps that learn from p h o to s & f r o m real-time camera input. D e te c t & recognize the faces
Compute Cluster Server Lab 3: Debugging the parallel MPI programs in Microsoft Visual Studio 2005
Compute Cluster Server Lab 3: Debugging the parallel MPI programs in Microsoft Visual Studio 2005 Compute Cluster Server Lab 3: Debugging the parallel MPI programs in Microsoft Visual Studio 2005... 1
Driving a Time-based Simulation from MATLAB for Custom Calculations and Control
Driving a Time-based Simulation from MATLAB for Custom Calculations and Control Wes Sunderman Roger Dugan June 2010 The OpenDSS allows other programs to drive the simulations and perform custom calculations
Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation
Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science updated 03/08/2012 Unit 1: JKarel 8 weeks http://www.fcps.edu/is/pos/documents/hs/compsci.htm
#820 Computer Programming 1A
Computer Programming I Levels: 10-12 Units of Credit: 1.0 CIP Code: 11.0201 Core Code: 35-02-00-00-030 Prerequisites: Secondary Math I, Keyboarding Proficiency, Computer Literacy requirement Semester 1
Introduction to FreeNAS development
Introduction to FreeNAS development John Hixson [email protected] ixsystems, Inc. Abstract FreeNAS has been around for several years now but development on it has been by very few people. Even with corporate
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
Rake Task Management Essentials
Rake Task Management Essentials Andrey Koleshko Chapter No. 8 "Testing Rake Tasks" In this package, you will find: A Biography of the author of the book A preview chapter from the book, Chapter NO.8 "Testing
Invitation to Ezhil : A Tamil Programming Language for Early Computer-Science Education 07/10/13
Invitation to Ezhil: A Tamil Programming Language for Early Computer-Science Education Abstract: Muthiah Annamalai, Ph.D. Boston, USA. Ezhil is a Tamil programming language with support for imperative
Unit testing with JUnit and CPPUnit. Krzysztof Pietroszek [email protected]
Unit testing with JUnit and CPPUnit Krzysztof Pietroszek [email protected] Old-fashioned low-level testing Stepping through a debugger drawbacks: 1. not automatic 2. time-consuming Littering code
Obfuscation: know your enemy
Obfuscation: know your enemy Ninon EYROLLES [email protected] Serge GUELTON [email protected] Prelude Prelude Plan 1 Introduction What is obfuscation? 2 Control flow obfuscation 3 Data flow
Python Documentation & Startup
Python Documentation & Startup Presented 16 DEC 2010: Training Module Version 1.01 By Dr. R. Don Green, Ph.D. Email: [email protected] Website: http://drdg.tripod.com Prerequisites If needed, refer to and
Slides prepared by : Farzana Rahman TESTING WITH JUNIT IN ECLIPSE
TESTING WITH JUNIT IN ECLIPSE 1 INTRODUCTION The class that you will want to test is created first so that Eclipse will be able to find that class under test when you build the test case class. The test
Introducing Tetra: An Educational Parallel Programming System
Introducing Tetra: An Educational Parallel Programming System, Jerome Mueller, Shehan Rajapakse, Daniel Easterling May 25, 2015 Motivation We are in a multicore world. Several calls for more parallel programming,
Unit Testing. and. JUnit
Unit Testing and JUnit Problem area Code components must be tested! Confirms that your code works Components must be tested t in isolation A functional test can tell you that a bug exists in the implementation
General Software Development Standards and Guidelines Version 3.5
NATIONAL WEATHER SERVICE OFFICE of HYDROLOGIC DEVELOPMENT Science Infusion Software Engineering Process Group (SISEPG) General Software Development Standards and Guidelines 7/30/2007 Revision History Date
Debugging and Profiling Lab. Carlos Rosales, Kent Milfeld and Yaakoub Y. El Kharma [email protected]
Debugging and Profiling Lab Carlos Rosales, Kent Milfeld and Yaakoub Y. El Kharma [email protected] Setup Login to Ranger: - ssh -X [email protected] Make sure you can export graphics
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
GPU Tools Sandra Wienke
Sandra Wienke Center for Computing and Communication, RWTH Aachen University MATSE HPC Battle 2012/13 Rechen- und Kommunikationszentrum (RZ) Agenda IDE Eclipse Debugging (CUDA) TotalView Profiling (CUDA
River Dell Regional School District. Computer Programming with Python Curriculum
River Dell Regional School District Computer Programming with Python Curriculum 2015 Mr. Patrick Fletcher Superintendent River Dell Regional Schools Ms. Lorraine Brooks Principal River Dell High School
GET 114 Computer Programming Course Outline. Contact: [email protected] Office Hours: TBD 403.342.3415 (or by appointment)
GET 114 Computer Programming Course Outline Electrical Engineering Technology Fall 2015 Instructor: Craig West Office: 2915-11 Contact: [email protected] Office Hours: TBD 403.342.3415 (or by appointment)
QEngine Technical Paper. Building Maintainable Test Cases with QEngine
QEngine Technical Paper Building Maintainable Test Cases with QEngine Table of Contents Abstract...... 3 Introduction...... 4 Preface........ 4 Problem Definition.......... 5 Reusing Scripts through External
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
Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur
Module 10 Coding and Testing Lesson 23 Code Review Specific Instructional Objectives At the end of this lesson the student would be able to: Identify the necessity of coding standards. Differentiate between
A Comparison of C, MATLAB, and Python as Teaching Languages in Engineering
A Comparison of C, MATLAB, and Python as Teaching Languages in Engineering Hans Fangohr University of Southampton, Southampton SO17 1BJ, UK [email protected] Abstract. We describe and compare the programming
Parallel Debugging with DDT
Parallel Debugging with DDT Nate Woody 3/10/2009 www.cac.cornell.edu 1 Debugging Debugging is a methodical process of finding and reducing the number of bugs, or defects, in a computer program or a piece
Setting up PostgreSQL
Setting up PostgreSQL 1 Introduction to PostgreSQL PostgreSQL is an object-relational database management system based on POSTGRES, which was developed at the University of California at Berkeley. PostgreSQL
SQL and PL/SQL Development and Leveraging Oracle Multitenant in Visual Studio. Christian Shay Product Manager, NET Technologies Oracle
SQL and PL/SQL Development and Leveraging Oracle Multitenant in Visual Studio Christian Shay Product Manager, NET Technologies Oracle Oracle Confidential Internal/Restricted/Highly Restricted Program Agenda
Big Data Analytics with Spark and Oscar BAO. Tamas Jambor, Lead Data Scientist at Massive Analytic
Big Data Analytics with Spark and Oscar BAO Tamas Jambor, Lead Data Scientist at Massive Analytic About me Building a scalable Machine Learning platform at MA Worked in Big Data and Data Science in the
Python. KS3 Programming Workbook. Name. ICT Teacher Form. Do you speak Parseltongue?
Python KS3 Programming Workbook Do you speak Parseltongue? Name ICT Teacher Form Welcome to Python The python software has two windows that we will use. The main window is called the Python Shell and allows
Intel Tunnel Mountain Software Development Platform Overview, IHV Tools Update
Intel Tunnel Mountain Software Development Platform Overview, IHV Tools Update Bailey Cross Intel Corporation 1 Intel UEFI SW Development Platform - Tunnel Mountain Tunnel Mountain is a new software development
Syntax Check of Embedded SQL in C++ with Proto
Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 383 390. Syntax Check of Embedded SQL in C++ with Proto Zalán Szűgyi, Zoltán Porkoláb
WAYNESBORO AREA SCHOOL DISTRICT CURRICULUM INTRODUCTION TO COMPUTER SCIENCE (June 2014)
UNIT: Programming with Karel NO. OF DAYS: ~18 KEY LEARNING(S): Focus on problem-solving and what it means to program. UNIT : How do I program Karel to do a specific task? Introduction to Programming with
