EKG Sampling Script John Thornton Brian Walden. What does it do? The psych lab in the science center runs experiments that sample the amplitude of brain.

Slides:



Advertisements
Similar presentations
This Time Whitespace and Input/Output revisited The Programming cycle Boolean Operators The “if” control structure LAB –Write a program that takes an integer.
Advertisements

Hand Trace and Output for: int digit = 0; int number = 1423; do { digit = number % 10; System.out.println(digit); number = number / 10; } while (number.
Intro to Python Welcome to the Wonderful world of GIS programing!
XML: Managing Data Exchange Stylesheets. Lesson Contents CSS The basic XSL file XSL transforms Templates Sort Numbering Parameters and Variables Datatypes.
Coding Practices. Why do we care? Good code is more than just functionality Other people will read your code You will forget what you code does Debugging.
CS 206 Introduction to Computer Science II 09 / 14 / 2009 Instructor: Michael Eckmann.
COSC 120 Computer Programming
Strings and Dynamic Memory Allocation CS-2301, B-Term Programming Assignment #6 Strings and Dynamic Memory Allocation CS-2301, System Programming.
Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 9 Structures and Sequential Access Files.
CS211 Data Structures Sami Rollins Fall 2004.
CS31: Introduction to Computer Science I Discussion 1A 4/2/2010 Sungwon Yang
CS 101 Problem Solving and Structured Programming in C Sami Rollins Spring 2003.
Moving To Code 3 More on the Problem-Solving Process §The final step in the problem-solving process is to evaluate and modify (if necessary) the program.
Starting Out with C++: Early Objects 5/e © 2006 Pearson Education. All Rights Reserved Starting Out with C++: Early Objects 5 th Edition Chapter 1 Introduction.
Computer Skills Preparatory Year Presented by: L.Obead Alhadreti.
Chapter 1: Introduction To Computer | SCP1103 Programming Technique C | Jumail, FSKSM, UTM, 2005 | Last Updated: July 2005 Slide 1 Introduction To Computers.
Copyright 2003 Scott/Jones Publishing Brief Version of Starting Out with C++, 4th Edition Chapter 1 Introduction to Computers and Programming.
Computer Programming Lab(5).
Prototype & Design Computer Inputs. How to Prototype & Design Computer Inputs Step 1: Review Input Requirements Step 2: Select the GUI Controls Step 3:
Group practice in problem design and problem solving
Alternate Version of STARTING OUT WITH C++ 4 th Edition Chapter 1 Introduction to Computers and Programming.
CSC 125 Introduction to C++ Programming Chapter 1 Introduction to Computers and Programming.
INTRODUCTION TO C PROGRAMMING LANGUAGE Computer Programming Asst. Prof. Dr. Choopan Rattanapoka and Asst. Prof. Dr. Suphot Chunwiphat.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
General Programming Introduction to Computing Science and Programming I.
CSC-115 Introduction to Computer Programming
Chapter 1 What is Programming? Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition) by S.N. Kamin, D. Mickunas, E.
{ Graphite Grigory Arashkovich, Anuj Khanna, Anirban Gangopadhyay, Michael D’Egidio, Laura Willson.
Systems Development Lifecycle Testing and Documentation.
EZYFLO. Aim of EZYFLO To draw simple flowcharts To reduce the memory size of the flowchart To create a software which runs in DOS environment also.
Array Cs212: DataStructures Lab 2. Array Group of contiguous memory locations Each memory location has same name Each memory location has same type a.
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
Slide 1 Project 1 Task 2 T&N3311 PJ1 Information & Communications Technology HD in Telecommunications and Networking Task 2 Briefing The Design of a Computer.
1 COMS 261 Computer Science I Title: C++ Fundamentals Date: September 05, 2005 Lecture Number: 4.
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
AUDIT SOFTWARE Chapter 16. Generalized Audit Software Off-the-shelf software that provides a means to gain access to and manipulate data maintained on.
1 Chapter 3 – JavaScript Outline Introduction Flowcharts Control Structures if Selection Structure if/else Selection Structure while Repetition Structure.
Python Let’s get started!.
TREES!!. POST PROCESSING Things that need work Place_Trees.py is poorly documented Some assumptions needed in creation of tree list – ex. %50 crown.
Programming. Exam Validation 1-10 Technical words such as Method of validation Do not use “Something”.
Brief Version of Starting Out with C++ Chapter 1 Introduction to Computers and Programming.
CSCI-1411 F UNDAMENTALS O F C OMPUTING L AB Shane Transue Summer
CS307P-SYSTEM PRACTICUM CPYNOT. B13107 – Amit Kumar B13141 – Vinod Kumar B13218 – Paawan Mukker.
Irvine, Kip R. Assembly Language for x86 Processors 7/e, What's Next Linking to an External Library The Book's Link Library Stack Operations Defining.
Software. Introduction n A computer can’t do anything without a program of instructions. n A program is a set of instructions a computer carries out.
CCSA 221 Programming in C CHAPTER 3 COMPILING AND RUNNING YOUR FIRST PROGRAM 1 ALHANOUF ALAMR.
STRUCTURED PROGRAMMING Complete C++ Program. Content 2  Main Function  Preprocessor directives  User comments  Escape characters  cout statement.
Testing and Debugging UCT Department of Computer Science Computer Science 1015F Hussein Suleman March 2009.
Introduction to Computers
Topic 2: Hardware and Software
Fundamentals of Programming I Overview of Programming
Basic concepts of C++ Presented by Prof. Satyajit De
TK1913 C++ Programming Basic Elements of C++.
Why don’t programmers have to program in machine code?
Introduction to Computing Science and Programming I
Completing the Problem-Solving Process
Basic Elements of C++.
Diamond Box Developed by: Darshan Patel 13bce071 Kirtik Patel 13bce078.
INTRODUCTION TO UNIX: The Shell Command Interface
Basic Elements of C++ Chapter 2.
Introduction to Computers
PROGRAMMING Program Development.
Programming Fundamentals (750113) Ch1. Problem Solving
CMDP: NC Experience.
C-to-LC3 Compiler Over the course of the next two weeks, you will build a program that will compile C code to LC-3 assembly language Don't panic! You.
Programming Fundamentals (750113) Ch1. Problem Solving
Review of C++ Language Basics
Programming Fundamentals (750113) Ch1. Problem Solving
CSE 1020:Software Development
Virginia Lenvik Geography 375 Spring 2013
Presentation transcript:

EKG Sampling Script John Thornton Brian Walden

What does it do? The psych lab in the science center runs experiments that sample the amplitude of brain waves of subjects in the experiments Our program utilizes pre-existing code to allow the user to write a script which allows them to run multiple samples consecutively on the EKG detection device in the psych lab

Scripting Language Template test1 sec 150 hz 100 chan 0-14 write test1a.txt ; Template test2 sec 30 hz 200 chan write test2a.txt ; Template test3 min 1 hz 50 chan 0-29 write test3a.txt ; Run test1 ; Run test2 ; Run test1 min 2 write test1b.txt ; Run test2 min 1 write test2b.txt ; Run test1 sec 90 write test1c.txt ; Run test2 sec 90 write test2c txt ; Run test3 ; Run test3 hz 100 chan 0-14 append test3a.txt ; Run test 3 sec 45 hz 150 chan 0-14 append test3a.txt ; Sample Script

Scripting Language Template min||sec hz||perMin chan i*[ write||append ] ; i is an element of {1,2,3,4,5,6,7,8,9,10} and are strings of characters and are integers is a list of ints separated by, or – ex: 3,8,11-17,21-15,29 Making a Template

Scripting Language Run j*[ min||sec ] j*[ hz||perMin frequency# ] j*[ chan ] (iUj)*[ write||append ] ; i is an element of {1,2,3,4,5,6,7,8,9,10} j is an element of {0,1} (iUj) is an element of {0,1,2,3,4,5,6,7,8,9,10} Running a Sample

Program Flow Chart Post Processor Sample runner Sample Container Sample Reader Temp Output Files Final Output Files

Technical Challenges Making sure rate of writing output keeps up with reading the input Keeping the time between samples as small as possible Developing a powerful scripting language that’s easy to use Developing in a fairly limited environment Understanding poorly documented code when the programmer is unavailable

What We Learned Smart data structures make integrating different parts of the program easy Working with non-professional code is hard Keeping documentation really helps

Future Improvements/Bugs Improvements – Allowing for the user to administer a stimulus – Additional post processing capabilities Bugs – Right now you can’t insert the frequency in samples per minute – Improve script reader so that errors don’t cascade