Technical paper review. Program visualization and explanation for novice C programmers by Matthew Heinsen Egan and Chris McDonald.
|
|
- Jayson Horton
- 8 years ago
- Views:
Transcription
1 Technical paper review Program visualization and explanation for novice C programmers by Matthew Heinsen Egan and Chris McDonald Garvit Pahal Indian Institute of Technology, Kanpur October 28, 2014 Garvit Pahal (IITK) Technical paper review October 28, / 28
2 Overview 1 Introduction 2 Prior Work 3 Foundation project - SeeC 4 System developed Graph Visualization Natural Language Explanation 5 Integration with SeeC 6 Problems with the system 7 Overview Garvit Pahal (IITK) Technical paper review October 28, / 28
3 Table of Contents 1 Introduction 2 Prior Work 3 Foundation project - SeeC 4 System developed Graph Visualization Natural Language Explanation 5 Integration with SeeC 6 Problems with the system 7 Overview Garvit Pahal (IITK) Technical paper review October 28, / 28
4 Introduction Task Introduce novice-focused systems for creating graphical visualizations of the runtime memory state of C language programs, and for generating natural language explanations of C program fragments. Garvit Pahal (IITK) Technical paper review October 28, / 28
5 Introduction Why Program visualization and natural language explanations of program behaviour have been shown to assist novice programmers with improving their programming knowledge, correcting misunderstandings, and debugging programs. These techniques have been used in several novice-focused debugging systems, but few have been developed for the C programming language despite it being widely reported as a difficult language for novices. Garvit Pahal (IITK) Technical paper review October 28, / 28
6 Table of Contents 1 Introduction 2 Prior Work 3 Foundation project - SeeC 4 System developed Graph Visualization Natural Language Explanation 5 Integration with SeeC 6 Problems with the system 7 Overview Garvit Pahal (IITK) Technical paper review October 28, / 28
7 Systems developed Zimmermann and Zeller (2002): Their tool extracts information about a programs memory state using the GNU Project Debugger VIP (2005): It is a novice-focused program visualization system that supports a subset of the C++ programming language Hundhausen and Brown (2007) described ALVIS, a radically dynamic programming environment which updates the visualization on every change. It also supports only a subset of C HDPV (2008): It is a data structure visualization system for programs written in C, C++, or Java ITEM/IP-II: This program visualization system supports an educational mini-language named Tortoise, and generates textual explanations of program execution. Bradman (1995): A system designed to assist novice programmers learning C, presented by Smith and Webb Garvit Pahal (IITK) Technical paper review October 28, / 28
8 Evaluation of these systems Graphical program visualizations and automatically generated explanations of program behaviour have been shown to assist novice programmers with constructing knowledge and debugging programs in most of the evaluations. Garvit Pahal (IITK) Technical paper review October 28, / 28
9 Table of Contents 1 Introduction 2 Prior Work 3 Foundation project - SeeC 4 System developed Graph Visualization Natural Language Explanation 5 Integration with SeeC 6 Problems with the system 7 Overview Garvit Pahal (IITK) Technical paper review October 28, / 28
10 SeeC SeeC project was introduced by Heinsen Egan and McDonald (2013) It is a novice-focused system for the standard C programming language that provides execution tracing and runtime error detection. It is built upon the Clang project which is a modular collection of libraries which implement a front-end for compiling C, C++, Objective C, and Objective C++ Garvit Pahal (IITK) Technical paper review October 28, / 28
11 SeeC Clangs parsing and semantic analysis libraries are used to create an Abstract Syntax Tree (AST) from a programs source code. Figure : Source code Figure : Abstract syntax tree Garvit Pahal (IITK) Technical paper review October 28, / 28
12 SeeC Each node in the AST represents a declaration or statement in the program and provides rich semantic information. When an execution trace is loaded the programs AST is reconstructed, allowing us to link runtime states to relevant AST nodes. This provides a mapping between the programs static source code and its dynamic state Garvit Pahal (IITK) Technical paper review October 28, / 28
13 SeeC The AST nodes can be used to retrieve Value objects which can be of type Scalars Arrays Records Pointers File pointers Garvit Pahal (IITK) Technical paper review October 28, / 28
14 Table of Contents 1 Introduction 2 Prior Work 3 Foundation project - SeeC 4 System developed Graph Visualization Natural Language Explanation 5 Integration with SeeC 6 Problems with the system 7 Overview Garvit Pahal (IITK) Technical paper review October 28, / 28
15 Graph Visualization The system for graph visualization is built upon SeeC s representation of recreated stated (Value objects). The system produces a graph in the DOT language. Figure : Source code Figure : Graph visualization Garvit Pahal (IITK) Technical paper review October 28, / 28
16 Layout generation for different value types Scalar: Fill the cell with the string description of the Value. Garvit Pahal (IITK) Technical paper review October 28, / 28
17 Layout generation for different value types Array: Create a new sub-table in the cell, with two columns, and one row for each element in the array. Place the index of the elements in the left columns cells, and then recursively layout the right columns cells using the elements Values. Garvit Pahal (IITK) Technical paper review October 28, / 28
18 Layout generation for different value types Record: Create a new sub-table in the cell, with two columns, and one row for each member of the record. Place the names of the members in the left columns cells, and then recursively layout the right columns cells using the members Values. Garvit Pahal (IITK) Technical paper review October 28, / 28
19 Layout generation for different value types Pointer: If the pointer is uninitialized then fill the cell with the placeholder?. If the pointers raw value is zero then fill the cell with the text NULL. If the pointer has no valid dereferences then fill the cell with the placeholder!. Otherwise, leave the cell empty it will be connected appropriately when edges are created. Garvit Pahal (IITK) Technical paper review October 28, / 28
20 Natural Language Explanation Previous studies have shown that automatically generated natural language explanations of program source code can be useful for novice programmers. Unfortunately, this area lacks new developments for the C programming language. This may be due to the difficulties of developing tools for the C programming language. Garvit Pahal (IITK) Technical paper review October 28, / 28
21 Natural Language Explanation The explanatory system is built upon the Clang libraries, providing robust and sustainable parsing and semantic analysis of the C programming language. Clang produces the AST (Abstract Syntax Tree) and the system creates natural language explanations for individual nodes in Clangs AST. Garvit Pahal (IITK) Technical paper review October 28, / 28
22 Natural Language Explanation Figure : Source code Figure : Abstract syntax tree Natural Language Explanation for IfStmt It consists of a condition, a body, and an else. Garvit Pahal (IITK) Technical paper review October 28, / 28
23 Natural Language Explanation The system can optionally use information about the runtime state of the program when generating explanations. This information is provided to the message formatting system in the same manner as the semantic information provided by the AST nodes. To return to our example, the explanation of if statements can explain whether the body or the else statement is executed based on the value that was produced by the condition statement. Garvit Pahal (IITK) Technical paper review October 28, / 28
24 Table of Contents 1 Introduction 2 Prior Work 3 Foundation project - SeeC 4 System developed Graph Visualization Natural Language Explanation 5 Integration with SeeC 6 Problems with the system 7 Overview Garvit Pahal (IITK) Technical paper review October 28, / 28
25 Integration with SeeC The graphical visualization system and explanation generation system are integrated into SeeCs graphical trace viewer. Figure : Integrated system Garvit Pahal (IITK) Technical paper review October 28, / 28
26 Features of the integrated system Execution of programs are recorded in trace files. The graphical trace viewer can load these traces files, allowing students to inspect the recorded state of the program at any point during its execution. The system also supports contextual navigation based on particular items in the state. A student may also select a particular function call and rewind to the beginning of the call or move forwards until the call is complete. Garvit Pahal (IITK) Technical paper review October 28, / 28
27 Table of Contents 1 Introduction 2 Prior Work 3 Foundation project - SeeC 4 System developed Graph Visualization Natural Language Explanation 5 Integration with SeeC 6 Problems with the system 7 Overview Garvit Pahal (IITK) Technical paper review October 28, / 28
28 Problems with the system and modifications required There are some problems with this approach Task of determining which of multiple competing types should be rendered for a particular area of memory. For example in unions. With some modifications, this can be solved. Even relatively simple statements in the C programming language may consist of several AST nodes. A student considering an entire statement must view the explanations for the individual AST nodes. It may be possible to create a system which can combine fragments of explanations to create a unified explanation for an entire statement. Garvit Pahal (IITK) Technical paper review October 28, / 28
29 Table of Contents 1 Introduction 2 Prior Work 3 Foundation project - SeeC 4 System developed Graph Visualization Natural Language Explanation 5 Integration with SeeC 6 Problems with the system 7 Overview Garvit Pahal (IITK) Technical paper review October 28, / 28
30 Overview Program Visualization and natural language explanations of program behavious have been used in several debugging systems, but very few have been developed for novices and specially for novice C programmers. The system described in the paper might become a useful tool in assisting novice C programmers that can help them improve their programming knowledge and dedug their programs. Garvit Pahal (IITK) Technical paper review October 28, / 28
31 Thank You! Questions please Garvit Pahal (IITK) Technical paper review October 28, / 28
Using Eclipse CDT/PTP for Static Analysis
PTP User-Developer Workshop Sept 18-20, 2012 Using Eclipse CDT/PTP for Static Analysis Beth R. Tibbitts IBM STG tibbitts@us.ibm.com "This material is based upon work supported by the Defense Advanced Research
More informationThomas 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
More informationComponent visualization methods for large legacy software in C/C++
Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University mcserep@caesar.elte.hu
More informationScoping (Readings 7.1,7.4,7.6) Parameter passing methods (7.5) Building symbol tables (7.6)
Semantic Analysis Scoping (Readings 7.1,7.4,7.6) Static Dynamic Parameter passing methods (7.5) Building symbol tables (7.6) How to use them to find multiply-declared and undeclared variables Type checking
More informationDATA STRUCTURES USING C
DATA STRUCTURES USING C QUESTION BANK UNIT I 1. Define data. 2. Define Entity. 3. Define information. 4. Define Array. 5. Define data structure. 6. Give any two applications of data structures. 7. Give
More informationThe C Programming Language course syllabus associate level
TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming
More informationIntegrating SNiFF+ with the Data Display Debugger (DDD)
1.1 1 of 5 Integrating SNiFF+ with the Data Display Debugger (DDD) 1. Introduction In this paper we will describe the integration of SNiFF+ with the Data Display Debugger (DDD). First we will start with
More informationTool Support for Inspecting the Code Quality of HPC Applications
Tool Support for Inspecting the Code Quality of HPC Applications Thomas Panas Dan Quinlan Richard Vuduc Center for Applied Scientific Computing Lawrence Livermore National Laboratory P.O. Box 808, L-550
More informationTEACHING COMPUTER PROGRAMMING WITH PROGRAM ANIMATION
TEACHING COMPUTER PROGRAMMING WITH PROGRAM ANIMATION Theodore S. Norvell and Michael P. Bruce-Lockhart Electrical and Computer Engineering Faculty of Engineering and Applied Science Memorial University
More informationEastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students
Eastern Washington University Department of Computer Science Questionnaire for Prospective Masters in Computer Science Students I. Personal Information Name: Last First M.I. Mailing Address: Permanent
More informationWESTMORELAND 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
More informationToad for Oracle 8.6 SQL Tuning
Quick User Guide for Toad for Oracle 8.6 SQL Tuning SQL Tuning Version 6.1.1 SQL Tuning definitively solves SQL bottlenecks through a unique methodology that scans code, without executing programs, to
More informationSome Scanner Class Methods
Keyboard Input Scanner, Documentation, Style Java 5.0 has reasonable facilities for handling keyboard input. These facilities are provided by the Scanner class in the java.util package. A package is a
More informationFor Introduction to Java Programming, 5E By Y. Daniel Liang
Supplement H: NetBeans Tutorial For Introduction to Java Programming, 5E By Y. Daniel Liang This supplement covers the following topics: Getting Started with NetBeans Creating a Project Creating, Mounting,
More information1 Introduction. 2 Overview of the Tool. Program Visualization Tool for Educational Code Analysis
Program Visualization Tool for Educational Code Analysis Natalie Beams University of Oklahoma, Norman, OK nataliebeams@gmail.com Program Visualization Tool for Educational Code Analysis 1 Introduction
More informationComputing 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
More informationA Thread Monitoring System for Multithreaded Java Programs
A Thread Monitoring System for Multithreaded Java Programs Sewon Moon and Byeong-Mo Chang Department of Computer Science Sookmyung Women s University, Seoul 140-742, Korea wonsein@nate.com, chang@sookmyung.ac.kr
More informationInter-Table Indexing in SNMP MIBs
Inter-Table ing in SNMP MIBs David T. Perkins, 14-june-1998 Copyright 1998 SNMPinfo. All rights resevered. This memo looks into indexing for SNMP s when the indexing is used to describe relationships between
More informationTATJA: A Test Automation Tool for Java Applets
TATJA: A Test Automation Tool for Java Applets Matthew Xuereb 19, Sanctuary Street, San Ġwann mxue0001@um.edu.mt Abstract Although there are some very good tools to test Web Applications, such tools neglect
More informationDepartamento de Investigación. LaST: Language Study Tool. Nº 143 Edgard Lindner y Enrique Molinari Coordinación: Graciela Matich
Departamento de Investigación LaST: Language Study Tool Nº 143 Edgard Lindner y Enrique Molinari Coordinación: Graciela Matich Noviembre 2005 Para citar este documento: Lindner, Edgard; Enrique Molinari,
More informationVisCG: Creating an Eclipse Call Graph Visualization Plug-in. Kenta Hasui, Undergraduate Student at Vassar College Class of 2015
VisCG: Creating an Eclipse Call Graph Visualization Plug-in Kenta Hasui, Undergraduate Student at Vassar College Class of 2015 Abstract Call graphs are a useful tool for understanding software; however,
More informationEastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students
Eastern Washington University Department of Computer Science Questionnaire for Prospective Masters in Computer Science Students I. Personal Information Name: Last First M.I. Mailing Address: Permanent
More informationSemester Review. CSC 301, Fall 2015
Semester Review CSC 301, Fall 2015 Programming Language Classes There are many different programming language classes, but four classes or paradigms stand out:! Imperative Languages! assignment and iteration!
More informationAn Exception Monitoring System for Java
An Exception Monitoring System for Java Heejung Ohe and Byeong-Mo Chang Department of Computer Science, Sookmyung Women s University, Seoul 140-742, Korea {lutino, chang@sookmyung.ac.kr Abstract. Exception
More informationAdvanced compiler construction. General course information. Teacher & assistant. Course goals. Evaluation. Grading scheme. Michel Schinz 2007 03 16
Advanced compiler construction Michel Schinz 2007 03 16 General course information Teacher & assistant Course goals Teacher: Michel Schinz Michel.Schinz@epfl.ch Assistant: Iulian Dragos INR 321, 368 64
More informationI. INTRODUCTION. International Journal of Computer Science Trends and Technology (IJCST) Volume 3 Issue 2, Mar-Apr 2015
RESEARCH ARTICLE An Exception Monitoring Using Java Jyoti Kumari, Sanjula Singh, Ankur Saxena Amity University Sector 125 Noida Uttar Pradesh India OPEN ACCESS ABSTRACT Many programmers do not check for
More informationIBM Operational Decision Manager Version 8 Release 5. Getting Started with Business Rules
IBM Operational Decision Manager Version 8 Release 5 Getting Started with Business Rules Note Before using this information and the product it supports, read the information in Notices on page 43. This
More informationJiST Graphical User Interface Event Viewer. Mark Fong mjf21@cornell.edu
JiST Graphical User Interface Event Viewer Mark Fong mjf21@cornell.edu Table of Contents JiST Graphical User Interface Event Viewer...1 Table of Contents...2 Introduction...3 What it does...3 Design...3
More informationDatabase Application Developer Tools Using Static Analysis and Dynamic Profiling
Database Application Developer Tools Using Static Analysis and Dynamic Profiling Surajit Chaudhuri, Vivek Narasayya, Manoj Syamala Microsoft Research {surajitc,viveknar,manojsy}@microsoft.com Abstract
More informationLecture 1 Introduction to Android
These slides are by Dr. Jaerock Kwon at. The original URL is http://kettering.jrkwon.com/sites/default/files/2011-2/ce-491/lecture/alecture-01.pdf so please use that instead of pointing to this local copy
More information1/20/2016 INTRODUCTION
INTRODUCTION 1 Programming languages have common concepts that are seen in all languages This course will discuss and illustrate these common concepts: Syntax Names Types Semantics Memory Management We
More informationJavaFX Session Agenda
JavaFX Session Agenda 1 Introduction RIA, JavaFX and why JavaFX 2 JavaFX Architecture and Framework 3 Getting Started with JavaFX 4 Examples for Layout, Control, FXML etc Current day users expect web user
More informationLecture 11 Doubly Linked Lists & Array of Linked Lists. Doubly Linked Lists
Lecture 11 Doubly Linked Lists & Array of Linked Lists In this lecture Doubly linked lists Array of Linked Lists Creating an Array of Linked Lists Representing a Sparse Matrix Defining a Node for a Sparse
More informationLecture 9. Semantic Analysis Scoping and Symbol Table
Lecture 9. Semantic Analysis Scoping and Symbol Table Wei Le 2015.10 Outline Semantic analysis Scoping The Role of Symbol Table Implementing a Symbol Table Semantic Analysis Parser builds abstract syntax
More information1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.
1 Copyright 2011, Oracle and/or its affiliates. All rights Building Visually Appealing Web 2.0 Data Dashboards Frank Nimphius Senior Principal Product Manager, Oracle 2 Copyright 2011, Oracle and/or its
More informationOracle Solaris Studio Code Analyzer
Oracle Solaris Studio Code Analyzer The Oracle Solaris Studio Code Analyzer ensures application reliability and security by detecting application vulnerabilities, including memory leaks and memory access
More informationKITES TECHNOLOGY COURSE MODULE (C, C++, DS)
KITES TECHNOLOGY 360 Degree Solution www.kitestechnology.com/academy.php info@kitestechnology.com technologykites@gmail.com Contact: - 8961334776 9433759247 9830639522.NET JAVA WEB DESIGN PHP SQL, PL/SQL
More informationLanguage-Independent Interactive Data Visualization
Language-Independent Interactive Data Visualization Alistair E. R. Campbell, Geoffrey L. Catto, and Eric E. Hansen Hamilton College 198 College Hill Road Clinton, NY 13323 acampbel@hamilton.edu Abstract
More informationMicrosoft. Access HOW TO GET STARTED WITH
Microsoft Access HOW TO GET STARTED WITH 2015 The Continuing Education Center, Inc., d/b/a National Seminars Training. All rights reserved, including the right to reproduce this material or any part thereof
More informationA QUICK OVERVIEW OF THE OMNeT++ IDE
Introduction A QUICK OVERVIEW OF THE OMNeT++ IDE The OMNeT++ 4.x Integrated Development Environment is based on the Eclipse platform, and extends it with new editors, views, wizards, and additional functionality.
More informationThe Mjølner BETA system
FakePart I FakePartTitle Software development environments CHAPTER 2 The Mjølner BETA system Peter Andersen, Lars Bak, Søren Brandt, Jørgen Lindskov Knudsen, Ole Lehrmann Madsen, Kim Jensen Møller, Claus
More informationRelease 2.1 of SAS Add-In for Microsoft Office Bringing Microsoft PowerPoint into the Mix ABSTRACT INTRODUCTION Data Access
Release 2.1 of SAS Add-In for Microsoft Office Bringing Microsoft PowerPoint into the Mix Jennifer Clegg, SAS Institute Inc., Cary, NC Eric Hill, SAS Institute Inc., Cary, NC ABSTRACT Release 2.1 of SAS
More informationData Structure Reverse Engineering
Data Structure Reverse Engineering Digging for Data Structures Polymorphic Software with DSLR Scott Hand October 28 th, 2011 Outline 1 Digging for Data Structures Motivations Introduction Laika Details
More informationPattern-based Program Visualization
Pattern-based Program Visualization Daniela da Cruz 1, Pedro Rangel Henriques 1, and Maria João Varanda Pereira 2 1 University of Minho - Department of Computer Science, Campus de Gualtar, 4715-057, Braga,
More informationA tool to facilitate interactive and collaborative learning of execution flow and code for novice computer science students
Institution of Innovation, Design and Engineering A tool to facilitate interactive and collaborative learning of execution flow and code for novice computer science students Author: Robert Westerlund Examiner:
More informationInterpreters and virtual machines. Interpreters. Interpreters. Why interpreters? Tree-based interpreters. Text-based interpreters
Interpreters and virtual machines Michel Schinz 2007 03 23 Interpreters Interpreters Why interpreters? An interpreter is a program that executes another program, represented as some kind of data-structure.
More informationObject Oriented program execution Visualization of Dynamic Program
Object Oriented program execution Visualization of Dynamic Program Kees Huizing Ruurd Kuiper Pieter Deelen Huub van de Wetering Frank van Ham Technische Universiteit Eindhoven Netherlands IPA Herfst 2008
More informationSQL Server Array Library 2010-11 László Dobos, Alexander S. Szalay
SQL Server Array Library 2010-11 László Dobos, Alexander S. Szalay The Johns Hopkins University, Department of Physics and Astronomy Eötvös University, Department of Physics of Complex Systems http://voservices.net/sqlarray,
More informationHow to make the computer understand? Lecture 15: Putting it all together. Example (Output assembly code) Example (input program) Anatomy of a Computer
How to make the computer understand? Fall 2005 Lecture 15: Putting it all together From parsing to code generation Write a program using a programming language Microprocessors talk in assembly language
More informationProgramming Languages
Programming Languages Qing Yi Course web site: www.cs.utsa.edu/~qingyi/cs3723 cs3723 1 A little about myself Qing Yi Ph.D. Rice University, USA. Assistant Professor, Department of Computer Science Office:
More informationIntroduction and Overview for Oracle 11G 4 days Weekends
Introduction and Overview for Oracle 11G 4 days Weekends The uses of SQL queries Why SQL can be both easy and difficult Recommendations for thorough testing Enhancing query performance Query optimization
More informationPattern-based Program Visualization
Proceedings of the International Multiconference on Computer Science and Information Technology pp. 1025 1036 ISSN 1896-7094 c 2007 PIPS Pattern-based Program Visualization Daniela da Cruz 1, Pedro Rangel
More informationEl Dorado Union High School District Educational Services
El Dorado Union High School District Course of Study Information Page Course Title: ACE Computer Programming I (#494) Rationale: A continuum of courses, including advanced classes in technology is needed.
More information<Insert Picture Here> Web 2.0 Data Visualization with JSF. Juan Camilo Ruiz Senior Product Manager Oracle Development Tools
Web 2.0 Data Visualization with JSF Juan Camilo Ruiz Senior Product Manager Oracle Development Tools 1 The preceding is intended to outline our general product direction. It is intended
More informationAn Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases
An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases Paul L. Bergstein, Priyanka Gariba, Vaibhavi Pisolkar, and Sheetal Subbanwad Dept. of Computer and Information Science,
More informationTowards Checking the Usefulness of Verification Tools
Towards Checking the Usefulness of Verification Tools Willem Visser and Jaco Geldenhuys Computer Science Division Department of Mathematical Sciences University of Stellenbosch, South Africa {wvisser,jaco}@cs.sun.ac.za
More informationCourse MS10975A Introduction to Programming. Length: 5 Days
3 Riverchase Office Plaza Hoover, Alabama 35244 Phone: 205.989.4944 Fax: 855.317.2187 E-Mail: rwhitney@discoveritt.com Web: www.discoveritt.com Course MS10975A Introduction to Programming Length: 5 Days
More informationSAS BI Dashboard 4.3. User's Guide. SAS Documentation
SAS BI Dashboard 4.3 User's Guide SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2010. SAS BI Dashboard 4.3: User s Guide. Cary, NC: SAS Institute
More informationCourse Information Course Number: IWT 1229 Course Name: Web Development and Design Foundation
Course Information Course Number: IWT 1229 Course Name: Web Development and Design Foundation Credit-By-Assessment (CBA) Competency List Written Assessment Competency List Introduction to the Internet
More informationUsing the Query Analyzer
Using the Query Analyzer Using the Query Analyzer Objectives Explore the Query Analyzer user interface. Learn how to use the menu items and toolbars to work with SQL Server data and objects. Use object
More informationCTutor. Tiago Aguiar tiago.afonso.aguiar@ist.utl.pt. Instituto Superior Técnico, Lisboa, Portugal November 2014
CTutor Tiago Aguiar tiago.afonso.aguiar@ist.utl.pt Instituto Superior Técnico, Lisboa, Portugal November 2014 Abstract CTutor is a program visualization tool for the programming language, C. As the name
More informationMaintaining Stored Procedures in Database Application
Maintaining Stored Procedures in Database Application Santosh Kakade 1, Rohan Thakare 2, Bhushan Sapare 3, Dr. B.B. Meshram 4 Computer Department VJTI, Mumbai 1,2,3. Head of Computer Department VJTI, Mumbai
More informationSemester Thesis Traffic Monitoring in Sensor Networks
Semester Thesis Traffic Monitoring in Sensor Networks Raphael Schmid Departments of Computer Science and Information Technology and Electrical Engineering, ETH Zurich Summer Term 2006 Supervisors: Nicolas
More informationProgramming and Software Development CTAG Alignments
Programming and Software Development CTAG Alignments This document contains information about four Career-Technical Articulation Numbers (CTANs) for Programming and Software Development Career-Technical
More informationNo no-argument constructor. No default constructor found
Every software developer deals with bugs. The really tough bugs aren t detected by the compiler. Nasty bugs manifest themselves only when executed at runtime. Here is a list of the top ten difficult and
More informationProfessional Organization Checklist for the Computer Science Curriculum Updates. Association of Computing Machinery Computing Curricula 2008
Professional Organization Checklist for the Computer Science Curriculum Updates Association of Computing Machinery Computing Curricula 2008 The curriculum guidelines can be found in Appendix C of the report
More informationData Tool Platform SQL Development Tools
Data Tool Platform SQL Development Tools ekapner Contents Setting SQL Development Preferences...5 Execution Plan View Options Preferences...5 General Preferences...5 Label Decorations Preferences...6
More informationFreeForm Designer. Phone: +972-9-8309999 Fax: +972-9-8309998 POB 8792, Natanya, 42505 Israel www.autofont.com. Document2
FreeForm Designer FreeForm Designer enables designing smart forms based on industry-standard MS Word editing features. FreeForm Designer does not require any knowledge of or training in programming languages
More information1 Abstract Data Types Information Hiding
1 1 Abstract Data Types Information Hiding 1.1 Data Types Data types are an integral part of every programming language. ANSI-C has int, double and char to name just a few. Programmers are rarely content
More informationSchema Classes. Polyhedra Ltd
Schema Classes Polyhedra Ltd Copyright notice This document is copyright 1994-2006 by Polyhedra Ltd. All Rights Reserved. This document contains information proprietary to Polyhedra Ltd. It is supplied
More informationAll Your Code Belongs To Us Dismantling Android Secrets With CodeInspect. Steven Arzt. 04.10.2015 Secure Software Engineering Group Steven Arzt 1
All Your Code Belongs To Us Dismantling Android Secrets With CodeInspect Steven Arzt 04.10.2015 Secure Software Engineering Group Steven Arzt 1 04.10.2015 Secure Software Engineering Group Steven Arzt
More informationApplying Clang Static Analyzer to Linux Kernel
Applying Clang Static Analyzer to Linux Kernel 2012/6/7 FUJITSU COMPUTER TECHNOLOGIES LIMITED Hiroo MATSUMOTO 管 理 番 号 1154ka1 Copyright 2012 FUJITSU COMPUTER TECHNOLOGIES LIMITED Abstract Now there are
More informationJava 6 'th. Concepts INTERNATIONAL STUDENT VERSION. edition
Java 6 'th edition Concepts INTERNATIONAL STUDENT VERSION CONTENTS PREFACE vii SPECIAL FEATURES xxviii chapter i INTRODUCTION 1 1.1 What Is Programming? 2 J.2 The Anatomy of a Computer 3 1.3 Translating
More informationDEVELOPMENT OF AN ANALYSIS AND REPORTING TOOL FOR ORACLE FORMS SOURCE CODES
DEVELOPMENT OF AN ANALYSIS AND REPORTING TOOL FOR ORACLE FORMS SOURCE CODES by Çağatay YILDIRIM June, 2008 İZMİR CONTENTS Page PROJECT EXAMINATION RESULT FORM...ii ACKNOWLEDGEMENTS...iii ABSTRACT... iv
More informationReal Vision Software, Inc. Create a Spool File Capture
Real Vision Software, Inc. Create a Spool File Capture Spool files can be archived automatically or manually using the RVI Spool File Capture processes. The archived spool file is a database representation
More informationModule 10. Coding and Testing. Version 2 CSE IIT, Kharagpur
Module 10 Coding and Testing Lesson 26 Debugging, Integration and System Testing Specific Instructional Objectives At the end of this lesson the student would be able to: Explain why debugging is needed.
More informationSkyline Interactive Tool Support
Skyline Interactive Tool Support Skyline supports external tools that extend Skyline functionality without directly integrating into the large and complex Skyline source code base. External Tools provide
More informationJAWAA: Easy Web-Based Animation from CS 0 to Advanced CS Courses
JAWAA: Easy Web-Based Animation from CS 0 to Advanced CS Courses Ayonike Akingbade, Thomas Finley, Diana Jackson, Pretesh Patel, and Susan H. Rodger Department of Computer Science Duke University Durham,
More information2. Advance Certificate Course in Information Technology
Introduction: 2. Advance Certificate Course in Information Technology In the modern world, information is power. Acquiring information, storing, updating, processing, sharing, distributing etc. are essentials
More informationC Compiler Targeting the Java Virtual Machine
C Compiler Targeting the Java Virtual Machine Jack Pien Senior Honors Thesis (Advisor: Javed A. Aslam) Dartmouth College Computer Science Technical Report PCS-TR98-334 May 30, 1998 Abstract One of the
More information1 File Processing Systems
COMP 378 Database Systems Notes for Chapter 1 of Database System Concepts Introduction A database management system (DBMS) is a collection of data and an integrated set of programs that access that data.
More informationTable of Contents. Overview...2. System Requirements...3. Hardware...3. Software...3. Loading and Unloading MIB's...3. Settings...
Table of Contents Overview...2 System Requirements...3 Hardware...3 Software...3 Loading and Unloading MIB's...3 Settings...3 SNMP Operations...4 Multi-Varbind Request...5 Trap Browser...6 Trap Parser...6
More informationCHAPTER 3 PROPOSED SCHEME
79 CHAPTER 3 PROPOSED SCHEME In an interactive environment, there is a need to look at the information sharing amongst various information systems (For E.g. Banking, Military Services and Health care).
More informationHelping you avoid stack overflow crashes!
Helping you avoid stack overflow crashes! One of the toughest (and unfortunately common) problems in embedded systems is stack overflows and the collateral corruption that it can cause. As a result, we
More informationA System for Program Visualization in the Classroom
A System for Program Visualization in the Classroom Raghvinder S. Sangwan Department of Mathematics and Computer Science Shippensburg University Shippensburg, PA 7257 James F. Kksh Pzkl S. LaFollette,
More informationInstrumentation Software Profiling
Instrumentation Software Profiling Software Profiling Instrumentation of a program so that data related to runtime performance (e.g execution time, memory usage) is gathered for one or more pieces of the
More informationCA4003 - Compiler Construction
CA4003 - Compiler Construction David Sinclair Overview This module will cover the compilation process, reading and parsing a structured language, storing it in an appropriate data structure, analysing
More informationVISUALIZATION TECHNIQUES OF COMPONENTS FOR LARGE LEGACY C/C++ SOFTWARE
STUDIA UNIV. BABEŞ BOLYAI, INFORMATICA, Volume LIX, Special Issue 1, 2014 10th Joint Conference on Mathematics and Computer Science, Cluj-Napoca, May 21-25, 2014 VISUALIZATION TECHNIQUES OF COMPONENTS
More informationVisualising Java Data Structures as Graphs
Visualising Java Data Structures as Graphs John Hamer Department of Computer Science University of Auckland J.Hamer@cs.auckland.ac.nz John Hamer, January 15, 2004 ACE 2004 Visualising Java Data Structures
More informationANDROID APPS DEVELOPMENT FOR MOBILE GAME
ANDROID APPS DEVELOPMENT FOR MOBILE GAME Lecture 7: Data Storage and Web Services Overview Android provides several options for you to save persistent application data. Storage Option Shared Preferences
More informationSyntax 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
More informationModeling Kahn Process Networks in the Dynamic Dataflow Formalism
Roy Kensmil Page 1 6/20/2013 Modeling Kahn Process Networks in the Dynamic Dataflow Formalism Roy Kensmil Leiden Institute of Advanced Computer Science (LIACS), Leiden, The Netherlands rkensmil@liacs.nl
More informationStatic Code Analysis Procedures in the Development Cycle
Static Code Analysis Procedures in the Development Cycle Tools, Technology, and Process in Engineering at Microsoft Mooly Beeri Microsoft Haifa R&D Center Agenda Static code analysis tools PREfix and PREfast
More informationExtending the Linked Data API with RDFa
Extending the Linked Data API with RDFa Steve Battle 1, James Leigh 2, David Wood 2 1 Gloze Ltd, UK steven.a.battle@gmail.com 2 3 Round Stones, USA James, David@3roundstones.com Linked data is about connecting
More informationDesigning internal control points in partially managed processes by using business vocabulary
Designing internal control points in partially managed processes by using business vocabulary Yurdaer N. Doganata, IBM T. J. Watson Research Center Hawthorne, NY 10532 yurdaer@us.ibm.com Abstract The challenges
More information#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
More informationFrances: A Tool For Understanding Code Generation
Frances: A Tool For Understanding Code Generation Tyler Sondag Dept. of Computer Science Iowa State University 226 Atanasoff Hall Ames, IA 50014 sondag@cs.iastate.edu Kian L. Pokorny Division of Computing
More informationTexas Essential Knowledge and Skills Correlation to Video Game Design Foundations 2011 N130.0993. Video Game Design
Texas Essential Knowledge and Skills Correlation to Video Game Design Foundations 2011 N130.0993. Video Game Design STANDARD CORRELATING PAGES Standard (1) The student demonstrates knowledge and appropriate
More informationCSCI 3136 Principles of Programming Languages
CSCI 3136 Principles of Programming Languages Faculty of Computer Science Dalhousie University Winter 2013 CSCI 3136 Principles of Programming Languages Faculty of Computer Science Dalhousie University
More informationImplementation of Breiman s Random Forest Machine Learning Algorithm
Implementation of Breiman s Random Forest Machine Learning Algorithm Frederick Livingston Abstract This research provides tools for exploring Breiman s Random Forest algorithm. This paper will focus on
More information