The Basic Tools Presented by: Robert E., & Jonathan Chase.

Slides:



Advertisements
Similar presentations
Software. What Is Software? software –Also called Computer programs –Are a list of instructions –Instructions are called code –CPU performs the instructions.
Advertisements

TD Ameritrade IT audit intern Ramez Mina. Position definition Department head  IT audit intern Managers  system analyst and developer to build automated.
LECTURE 7 SEP 27, 2010 Building computational pipelines.
Python Programming Chapter 1: The way of the program Saad Bani Mohammad Department of Computer Science Al al-Bayt University 1 st 2011/2012.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Software Language Levels Machine Language (Binary) Assembly Language –Assembler converts Assembly into machine High Level Languages (C, Perl, Shell)
Python Jordan Miller and Lauren Winkleman CS 311 Fall 2011.
Russell Taylor Lecturer in Computing & Business Studies.
Guide To UNIX Using Linux Third Edition
I Information Systems Technology Ross Malaga 3 "Part I Understanding Information Systems Technology" Copyright © 2005 Prentice Hall, Inc. 3-1 SOFTWARE.
Course: Introduction to Computers
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
ECLIPSE IDE N AME : A SHOK P ADMARAJU C OURSE : T OPICS ON S OFTWARE E NGINEERING I NSTRUCTOR : D R. S ERGIU D ASCALU.
Computer Software.
Unit Six Assignment 1 Chris Boardley.
Arc: Programming Options Dr Andy Evans. Programming ArcGIS ArcGIS: Most popular commercial GIS. Out of the box functionality good, but occasionally: You.
1 Integrated Development Environment Building Your First Project (A Step-By-Step Approach)
Computers Are Your Future Tenth Edition Chapter 11: Programming Languages & Program Development Copyright © 2009 Pearson Education, Inc. Publishing as.
Parts of a Computer Why Use Binary Numbers? Source Code - Assembly - Machine Code.
Sikuli Ivailo Dinkov QA Engineer PhoneX Team Telerik QA Academy.
UML Tools ● UML is a language, not a tool ● UML tools make use of UML possible ● Choice of tools, for individual or group use, has a large affect on acceptance.
Software Concepts. Software & Hardware? Computer Instructions or data, anything that can be stored electronically is Software. Hardware is one that is.
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
Learning Objectives Data and Information Six Basic Operations Computer Operations Programs and Programming What is Programming? Types of Languages Levels.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
BIT 1003 – Presentation 7. Contents GENERATIONS OF LANGUAGES COMPILERS AND INTERPRETERS VIRTUAL MACHINES OBJECT-ORIENTED PROGRAMMING SCRIPTING LANGUAGES.
Class03 Introduction to Web Development with PHP MIS 3501, Fall 2015 Brad Greenwood, PhD MBA Department of MIS Fox School of Business Temple University.
CHAPTER FOUR COMPUTER SOFTWARE.
Lesson 6. GCSE Computing – programming languages Candidates should be able to:  describe common tools and facilities available in an integrated development.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Chapter Three The UNIX Editors. 2 Lesson A The vi Editor.
Programming for Geographical Information Analysis: Advanced Skills Lecture 1: Introduction Programming Arc Dr Andy Evans.
Just as there are many human languages, there are many computer programming languages that can be used to develop software. Some are named after people,
1 3. Computing System Fundamentals 3.1 Language Translators.
Copyright © 2006, SAS Institute Inc. All rights reserved. SAS Enterprise Guide Old Proc – New Tricks? Tim Trussell Academic Program, SAS Canada world diabetes.
Guide to Programming with Python Chapter One Getting Started: The Game Over Program.
CHAPTER TWO INTRODUCTION TO VISUAL BASIC © Prepared By: Razif Razali 1.
Debugging Strategies from Software Carpentry. Agan's Rules Many people make debugging harder than it needs to be by: Using inadequate tools Not going.
Technical Presentation
Computing System Fundamentals 3.1 Language Translators.
Chapter Three The UNIX Editors.
In the Labs… X-Bot 2003 by Overtech Technologies.
Intermediate 2 Computing Unit 2 - Software Development Topic 2 - Software Development Languages and Environments.
1 Software. 2 What is software ► Software is the term that we use for all the programs and data on a computer system. ► Two types of software ► Program.
 Programming - the process of creating computer programs.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
The single most important skill for a computer programmer is problem solving Problem solving means the ability to formulate problems, think creatively.
CASE Tools CSC 532 : Advance Topics CSC 532 : Advance Topics Software Engineering Software Engineering Dr. box Dr. box Moayad Almohaishi Moayad Almohaishi.
Perl Ed Finegan. Overview of Pearl Perl is a high-level programming language written by Larry Wall. It derives from the C programming language and to.
Part 1 The Basics of Information Systems. Purpose of Information Systems Information systems ◦ Collects, stores and organizes information ◦ Retrieves.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
Tools Shane Cantrell Zach Crisman. Tools CVS FogBUGZ (Bug Tracking) Unit Testing (JUnit, Jakarta Cactus) Catalyst Web Tools (BB and Surveys) Mailman ( .
A S P. Outline  The introduction of ASP  Why we choose ASP  How ASP works  Basic syntax rule of ASP  ASP’S object model  Limitations of ASP  Summary.
Chapter 2 Build Your First Project A Step-by-Step Approach 2 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta Eaton.
First appeared Features Popular uses Basic This language emphasises on ease of use, allowing general purpose programming to those with a small amount of.
Software Development Languages and Environments. Computer Languages Just as there are many human languages, there are many computer programming languages.
Chapter 3: Mastering Editors Chapter 3 Mastering Editors (Emacs)
Chapter 1. Introduction.
Topic 2: Hardware and Software
Lecture 1b- Introduction
Basic 1960s It was designed to emphasize ease of use. Became widespread on microcomputers It is relatively simple. Will make it easier for people with.
Guide To UNIX Using Linux Third Edition
Microsoft Office Illustrated
Chapter 4 Computer Software.
Unit# 8: Introduction to Computer Programming
and Program Development
IDE’s and Debugging.
SOFTWARE TECHNOLOGIES
Web Application Development Using PHP
Presentation transcript:

The Basic Tools Presented by: Robert E., & Jonathan Chase

The Power of Plain Text What is it?  Printable characters in a form that can be read directly by people Can be structured (xml, html) Possible to achieve self-describing data stream independent of its creator

Plain Text (cont.) Advantages  Insurance against obsolescence Potential use extension Able to parse with partial knowledge of its format  Leverage Many different computing environments operate on plain text (compiler, editors, SCCS, etc.)  Easier testing Easy to modify synthetic test data without special tools Analysis through a scripting tool

Plain Text (cont.) Disadvantages  Potentially occupy more space than compressed binary  Computationally more expensive to interpret and process plain text

Shell Games “For a programmer manipulating files of test, that workbench is the command shell.”

Shell (cont.) Shell  Able to build complex macro commands  Automate tasks GUI  Limited functionality “What you see is what you get”  Can’t create customized macro tools Windows  Windows cmd-line utilities are limited compared to Unix  Try Cygwin UWIN Perl Power Tools

Power Editing Know one editor very well including its advanced features Editor should be  Configurable to your preferences  Extensible to new languages  Programmable with macros or scripting  Able to create templates Language specific features  Syntax highlighting  Auto-completion  Auto-indentation  Document boiler plate Increases productivity

Source Code Control Systems Project-wide time machine that can return back to a previous state Advantages  Undo mistakes  Track changes  Identify of your software  Keep track of compiler and OS versions  Generate branches in the development tree  Concurrent development  Builds that are automatic and repeatable  Automatic regression tests

Debugging No one writes perfect software… Debugging is problem solving and should be approached in that manner. Focus on the problem and not the blame. Don’t Panic.

Where to Begin Make sure the code compiled cleanly without warnings. Ensure your observations are accurate. Clarify all bug reports–particularly third party reports.

Debugging Strategies Visualize Your Data Tracing Rubber Ducking Process of Elimination

Debugging Questions Is the problem being reported a direct result of the underlying bug, or merely a symptom? Is the bug really in the compiler? Is it in the OS? Or is it in your code? If you explained this problem in detail to a coworker, what would you say? If the suspect code passes its unit tests, are the tests complete enough? What happens if you run the unit test with this data? Do the conditions that caused this bug exist anywhere else in the system?

The Element of Surprise “Don’t Assume It–Prove It”

Text Manipulation Tools  Awk  Sed  Python  Tcl  Ruby  Perl

Applying Text Manipulation Database schema maintenance Java property access Test data generation Book Writing C to Object Pascal interface Generating Web documentation

Code Generators Passive code Generators  create freestanding results Active code generators  create reproducible results Code generators can generate more than code  Eg. Html, xml, plain text