RobotStudio: A Modern IDE-based Approach to Reality Computing
|
|
- Bennett Harper
- 5 years ago
- Views:
Transcription
1 RobotStudio: A Modern IDE-based Approach to Reality Computing Li Xu Department of Computer Science University of Massachusetts Lowell Lowell, MA 01854, USA xu@cs.uml.edu ABSTRACT The recent report by the ACM Job Migration Task Force points to the immediate need to teach programming-in-thelarge, the skills to work with and develop large and complex production-grade software and systems, so young computing professionals can stay competitive in the face of IT globalization and offshoring of software [4, 13]. However, current computer science curricula are inadequate to prepare college graduates to meet the reality of computing. Most course projects fall into the programming-in-the-small mode, in which students implement small, isolated projects to explore the course subject matter and with little emphasis on how the smaller pieces can be integrated to build sophisticated larger scale systems. This paper presents a modern IDE-based approach to address this inadequacy. We develop RobotStudio an extensible framework for building IDEs targeting a simple yet versatile educational robot platform. Student projects are implemented as modules of RobotStudio and, when put together, they form a comprehensive IDE for programming the robotic environment. This paper describes the architecture of the RobotStudio framework, its extension mechanisms, and the teaching practice of using RobotStudio in an introductory compiler construction class to illustrate programming-in-the-large principles. Categories and Subject Descriptors K.3.2 [Computer and Information Science Education] General Terms IDE, Programming-in-the-large, Compilers, Robotics, Embedded Systems Keywords IDE, Compiler Construction, Eclipse, Educational Robotics Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. SIGCSE 07, March 7 10, 2007, Covington, Kentucky, USA. Copyright 2007 ACM /07/ $ INTRODUCTION The recent report by the ACM Job Migration Task Force points to the immediate need to teach programming-in-thelarge, the skills to work with and develop large and complex production-grade software applications and systems, so young computing professionals can stay competitive in the face of IT globalization and offshoring of software [4, 13]. However, current computer science curricula are inadequate to prepare college graduates to meet the reality of computing. Most students gain experience in building software by doing course programming projects. However, the majority of these course projects fall into the programming-in-thesmall mode: students implement small, isolated projects to explore the course subject matter with little emphasis on how the smaller pieces can be integrated to build more sophisticated and larger scale systems. Research studies have long established that programming-in-the-large (building large multi-module systems) is significantly different from programming-in-the-small (constructing individual modules) [6]. As a result, college graduates often lack the competitive skill set and experiences in dealing with large, sophisticated, industrial-strength software when they join the IT workforce [1]. To address this inadequacy and promote a balanced emphasis on programming-in-the-large principles, this paper presents a modern IDE-based approach for building computer science course projects. We develop RobotStudio, an extensible framework for building IDEs targeting a simple, yet versatile, educational robot platform. Student projects are implemented as modules of RobotStudio and, when put together, they form a comprehensive IDE for programming the robotic environment. This paper describes the architecture of the RobotStudio framework, its extension mechanisms for student IDE projects, and teaching practices for using RobotStudio in an introductory compiler construction class. This paper makes the following contributions: 1. We present a new IDE-based approach to teaching programming in the large, skills critical in real-world production software development. Student projects are designed as modules of the base IDE framework and will be integrated into the framework to form a comprehensive IDE. 2. We developed the RobotStudio framework for building student IDE projects. It leverages our previous work on the pedagogical robotic programming platform and builds upon the industrial-strength Eclipse RCP plat-
2 form. The framework provides simplified core services and extension mechanisms to reduce complexity in developing student IDEs and serves as an example of a modern IDE. 3. We present teaching practices for using RobotStudio to teach an introductory compiler construction class. Student IDE s are organized into incremental levels to ease the learning curve on building s. The rest of this paper is organized as follows: Section 2 describes the rationale of our IDE-based approach, introduces RobotStudio and compares with related work. Section 3 gives the background of the RobotStudio building blocks: Eclipse RCP platform, the Handy Cricket robot controller and the Chirp programming language. Section 4 describes the RobotStudio framework: its architecture, core services, and extension mechanism. Section 5 describes the use of RobotStudio in an introductory compiler construction class. We conclude in Section RATIONALE OF IDE APPROACH Integrated-development environments (IDEs) play a central role in production-quality software development. IDEs integrate the vast array of development tools into a single environment and provide sophisticated GUI interfaces to manage the multitude of tasks and resources in large-scale software development. Due to their importance and widespread use in the software industry, educators have tried to introduce the use of industrial-strength IDEs into classrooms. However, using off-the-shelf professional IDEs directly in teaching projects can cause significant problems. Due to time constraints and limited resources, students can easily be overwhelmed by the complexity of a modern IDE and just trying to understand and use it to do simple tasks may need a non-trivial effort. To reduce the learning curve, educators have built teaching IDEs and IDE-like environments. DrJava [2] and BlueJ [8] are dedicated teaching IDEs for Java programming. The Kenya [5] and Penumbra [12] projects implement Eclipse s on top of Eclipse IDE to teach introductory programming. We believe bringing modern industrial-strength IDEs into the college teaching context has significant benefits: students are exposed to the common practices and tools used in real-world software development and gain experience using production tools. The IDE software itself is also a great example of programming-in-the-large principles and students can see and experience for themselves how large software works. However, the IDE-based approach must be used carefully and not interfere or conflict with the primary goal of teaching the course subject matter. To realize the benefits of the IDE approach and also minimize the negative effects caused by the complexity and overhead of using IDEs, we developed the RobotStudio framework students not only learn and use IDEs, they build an entire IDE themselves by working on the course projects. 2.1 Design Goals RobotStudio framework is designed to achieve the following goals: 1. Serve as a modern IDE to program the Chirp and Cricket robot platform [15]. Using its default IDE, the built-in reference compiler and robot controller simulator, students can quickly learn the features of Chirp language and Cricket robot the target platform of their projects, thus minimizing the overhead of using the IDE. As shown in Figure 1, RobotStudio provides a simple and easy to use IDE interface that greatly reduces the complexity and overhead of using IDEs. The default IDE itself also serves as an implementation example to students when they build their own IDEs. 2. Provide an extensible framework to develop teaching projects as modules to the framework, so student projects can be integrated into RobotStudio and form a complete IDE. In their projects, students must obey the specification of RobotStudio extension points and be aware of integration issues when implementing their projects. 3. Serve as an easy to understand example of modern IDEs. This will enhance student understanding of programming-in-the-large principles embodied in the student IDE projects. Section 4 discusses the architecture of the framework that reflects the above design goals. 2.2 Comparison with Related Work Although RobotStudio uses Eclipse, an off-the-shelf professional IDE, it hides most of the irrelevant features of Eclipse from students (see Section 4 for core services exposed by the framework). This reduces the complexity for students and allows them to focus on solving the course subject-matter related domain problems. Compared to the pure teaching-ide approach, students get experience in using a production-quality IDE while RobotStudio helps ease the learning curve with a simplified interface. RobotStudio takes advantage of Eclipse Rich-Client Platform (RCP) technology and is implemented as a standalone application. It contains only student project related GUI components, while other Eclipse teaching s rely on the more general Eclipse GUI workbench and have to coexist with all other s installed with Eclipse. 3. BACKGROUND RobotStudio leverages our previous work on using the pedagogical Chirp and Cricket robot programming platform in undergraduate programming classes [15]. It builds on the Eclipse Rich-Client Platform (RCP) and provides a comprehensive IDE for the Chirp and Cricket educational robotic environment. 3.1 Eclipse Rich-Client Platform Eclipse is an industrial-strength open source Java application development platform [7, 3]. It provides a sophisticated Java IDE for Java development, which has been used in both commercial Java product development and as a teaching tool for Java programming. Eclipse is also a platform for IDE and rich-client application development. Users can use the Eclipse platform to develop s which can be integrated into the Eclipse base IDE. Educators have built teaching IDE s on top of the Eclipse platform [5, 12]. RobotStudio uses the latest Eclipse RCP technology [11] and is implemented as a standalone application rather than a of the base Eclipse IDE.
3 Figure 1: RobotStudio IDE. 3.2 Chirp and Cricket RobotStudio builds on our previous work using the Chirp and Cricket embedded educational robotic platform [15]. The Handy Cricket is an inexpensive, embedded controller that was developed for educational applications [9]. To program the Cricket robot controller, we have designed a simple, yet capable, new language called Chirp to build Cricketbased robotic programs to control robot sensors and motors [14]. The platform has been used to teach compiler construction basics in an undergraduate programming class. RobotStudio targets the Chirp and Cricket programming platform and provides a modern IDE to develop Chirp programs. The simple yet versatile structure and feature set of the Chirp and Cricket platform make it an ideal target to develop student projects on system topics, including compiler construction, assembly programming, computer organization, and embedded robotic systems. 4. ROBOTSTUDIO FRAMEWORK 4.1 Architecture The architecture of the RobotStudio framework is shown in Figure 2. The framework consists of the following components: Workbench: the RobotStudio GUI interface, which provides a source code editor, Project Explorer view for managing Chirp projects and files, and the Console view to print out text messages. Workspace resource management: managing the IDE workspace which consists of user projects and files. RobotStudio uses a simple two-level workspace model which consists of top level projects and second level project files. The projects and files are mapped to folders and files in the host file system. Chirp reference compiler: the built-in compiler used by the default RobotStudio IDE. The compiler consists of a scanner, parser, abstract-syntax tree (AST) intermediate representation (IR), and Cricket bytecode generator. Cricket simulator: a cycle-accurate Cricket controller simulator based on Virtual Cricket [10], which is used to test and debug Chirp programs. Cricket device binary code programmer: a serial portbased device programmer tool to program the Cricket hardware. The framework itself serves as a complete IDE for Chirp and Cricket program development. It also provides core services to student projects to build separate IDEs. Student s connect to the framework through predefined extension points and use the core services to form a complete IDE.
4 project GUI Workbench Resource Mgmt project... Extension Points Scanner Parser AST IR CodeGen Reference Compiler Virtual Cricket Simulator RobotStudio Framework project Cricket Device Progmmer Figure 2: RobotStudio Framework Architecture 4.2 Core Services The framework provides GUI control and resource management services to the extension s. The workbench GUI interfaces respond to user interaction targeting user s. The event handler triggers the framework controller to dispatch the message to appropriate registered objects, passing along the handle of any project and file resources. The user can also request services directly from the framework core. The framework controller is a Singleton object and aggregates published services through the Facade design pattern. For example, a user can request the Console service by calling the robotstudio.robot StudioApp.log method to print out text messages in the Console view. 4.3 Plugin Extensions Users can build modules and connect to the Robot- Studio extension points. The framework defines and publishes extension points for user s to connect to. The user must conform to the extension point schema specification and implement the required extension Java interface. The extension points are published in the Robot- Studio XML file and their XML schema files, which specify unique ID, name, run-time Java class and description information for the extension point implementation. For example, Figure 3 shows the XML definition of the RobotStudio.scanner extension point and a sample extension. 4.4 IDE Integration and Deployment RobotStudio is distributed as a self-contained binary application. To integrate user s to build an IDE, once the project is developed, the deployment process is simply to package the as a ZIP file and to unpack it into the default directory in the RobotStudio application folder. In addition, RobotStudio provides an Eclipse update site for remote online deployment. <extension-point id="scanner" name="robotstudio Scanner" schema= "scanner.exsd" /> <extension id="scannerextension" name="scanner Extension" point="robotstudio.scanner"> <scanner class="myide.myscanner" id="myide.myscanner" name="my Scanner"/> </extension> Figure 3: Scanner Extension-Point and Example extension 5. USING ROBOTSTUDIO IN A COMPILER COURSE We have been using RobotStudio in an introductory compiler construction class. In this class, students develop their own Chirp scanner, parser, and code generator in three modules and integrate them into RobotStudio to form a fully-fledged IDE for the Chirp and Cricket platform. 5.1 Student Projects as IDE Plugins Each student project centers around the course subject matter: to build scanner, parser and abstract-syntax tree (AST) representation, and then generate binary code using the AST. To support these projects, the base framework defines three extension points to link with the student scanner, parser, and code generator s. In addition, the workbench GUI is customized with perspectives configurations to show relevant views for each project. Special menu items and tool bar buttons are added to invoke the modules implemented by the students. To ease the learning curve on building s, we use three difficulty levels to guide students through the projects. Level 1 is the scanner, in which students only need to implement the scanner class for the RobotStudio.scanner extension as shown in Figure 3. There is no GUI interaction with the workbench and the generated token stream is printed through the Console view service. Using the Level 1, students learn the basics of building and integrating s. Execution of the Level 1 is shown in the left screen shot of Figure 4. The Level 2 parser adds a GUI tree viewer to the workbench as shown in the right screen shot of Figure 4. Students need to build the parser and generate an AST tree suitable for use with the RobotStudio tree viewer: the tree viewer uses the Model-View-Controller (MVC) pattern, and to display the AST tree, student must adapt the AST tree and implement an ITreeContentProvider interface for the GUI viewer to display tree elements. This project demonstrates the use of design patterns and integration through published extension points and interfaces, which are key techniques in the programming-in-the-large methodology. Finally, the Level 3 code generator closes the circle and builds a fully-fledged Chirp IDE as shown in Figure RobotStudio as an IDE Artifact As students gain more experience in using and developing with RobotStudio, the source code of the framework is given to students to study as a sample IDE artifact to il-
5 Figure 4: RobotStudio extension Level 1: Scanner and Level 2: Parser lustrate programming-in-the-large principles and to help them understand modern IDE systems. 5.3 Preliminary Student Feedback We have been using RobotStudio in the compiler construction class at UMass Lowell. The class consists of both senior undergraduate, full-time graduate, and part-time professional Master program students. Initial feedback from the students has been highly positive. In general, students identify with the approach and are enthusiastic about the whole IDE project. Several students with internships and work experience have commented that the techniques in this course will be immediately useful for their future tasks. 6. CONCLUSIONS This paper has presented a modern IDE-based approach to teaching programming in the large, skills that are critical for real-world production software development. Leveraging on the industrial-strength Eclipse RCP platform, we developed the RobotStudio framework, an extensible framework for building IDEs targeting the simple, yet versatile, Chirp and Cricket educational robot platform. Using Robot- Studio, student projects are implemented as modules and connect to the base framework; through integration, they realize a comprehensive IDE. We have been using RobotStudio in a compiler construction class with encouraging initial results. We are excited to share our experiences on RobotStudio with other educators. In addition to compiler classes, we expect the framework can be adapted to use with other courses. More information, including the Eclipse of the framework, can be accessed from URL: xu/robotstudio. 7. ACKNOWLEDGMENTS This work has been supported by a UMass PDG grant. We would like to thank Mark Schlesinger for his help and support of the RobotStudio project. We are grateful to Jesse Heines for his very constructive comments on the presentation of this paper. 8. REFERENCES [1] UMass Lowell Computer Science Dept. post-graduate survey and personal feedback from recent Computer Science graduates. [2] E. Allen, R. Cartwright, and B. Stoler. Drjava: a lightweight pedagogic environment for java. In SIGCSE 02: Proceedings of the 33rd SIGCSE technical symposium on Computer science education, pages , [3] J. Arthorne and C. Laffra. Official eclipse 3.0 FAQs. Addison-Wesley, [4] W. Asprayn, F. Mayadas, and M. Y. Vardi. Globalization and Offshoring of Software: A Report of the ACM Job Migration Task Force. [5] R. Chatley and T. Timbul. KenyaEclipse: learning to program in Eclipse. In ESEC/FSE-13: Proceedings of the 10th European software engineering conference, pages , [6] F. DeRemer and H. Kron. Programming-in-the large versus programming-in-the-small. In Proceedings of the international conference on Reliable software, pages , [7] E. Gamma and K. Beck. Contributing to Eclipse: Principles, Patterns, and Plug-Ins. Addison-Wesley, [8] M. Kolling and J. Rosenberg. Objects first with Java and BlueJ. In SIGCSE 00: Proceedings of the thirty-first SIGCSE technical symposium on Computer science education, page 429, [9] F. Martin, B. Mikhak, and B. Silverman. MetaCricket: A designer s kit for making computational devices. IBM Systems Journal, 39(3 & 4), [10] F. G. Martin, N. Palmer, and B. Skinner. The virtual cricket: A web-based simulator for learning robot programming. In preparation. [11] J. McAffer and J.-M. Lemieux. Eclipse Rich Client Platform : Designing, Coding, and Packaging Java Applications. Addison-Wesley, [12] F. Mueller and A. L. Hosking. Penumbra: an Eclipse for introductory programming. In eclipse 03: Proceedings of the 2003 OOPSLA workshop on eclipse technology exchange, pages 65 68, [13] D. A. Patterson. President s letter: Offshoring: finally facts vs. folklore. Communications of the ACM, pages 41 42, Feb [14] L. Xu and F. Martin. The chirp language specification. Technical Report TR , Dept. of Computer Science, UMass Lowell. [15] L. Xu and F. G. Martin. Chirp on crickets: teaching compilers using an embedded robot controller. In SIGCSE 06: Proceedings of the 37th SIGCSE technical symposium on Computer science education, pages 82 86, 2006.
Eclipse Support for Using Eli and Teaching Programming Languages
Electronic Notes in Theoretical Computer Science 141 (2005) 189 194 www.elsevier.com/locate/entcs Eclipse Support for Using Eli and Teaching Programming Languages Anthony M. Sloane 1,2 Department of Computing
More informationThe Chirp Language Specification
The Chirp Language Specification Li Xu and Fred Martin {xu, fredm}@cs.uml.edu Department of Computer Science University of Massachusetts Lowell Lowell, MA 01854, USA July 2005 1 Introduction Chirp is a
More informationJIGSAW, A PROGRAMMING ENVIRONMENT FOR JAVA IN CS1. Carl Burch Hendrix College, 1600 Washington Ave, Conway AR
JIGSAW, A PROGRAMMING ENVIRONMENT FOR JAVA IN CS1 Carl Burch Hendrix College, 1600 Washington Ave, Conway AR 72032 501-450-1377 cburch@cburch.com ABSTRACT This paper introduces a new open-source, cross-platform
More informationTeaching Object-Oriented Programming Concepts Using Visual Basic.NET
Teaching Object-Oriented Programming Concepts Using Visual Basic.NET Ritzhaupt, Albert Dieter;Zucker, Ron James Journal of Information Systems Education; Summer 2006; 17, 2; Research Library pg. 163 Journal
More informationFOUNDATIONS OF A CROSS-DISCIPLINARY PEDAGOGY FOR BIG DATA *
FOUNDATIONS OF A CROSS-DISCIPLINARY PEDAGOGY FOR BIG DATA * Joshua Eckroth Stetson University DeLand, Florida 386-740-2519 jeckroth@stetson.edu ABSTRACT The increasing awareness of big data is transforming
More informationMulti-Paradigm Approach for Teaching Programming
Multi-Paradigm Approach for Teaching Laxmi P Gewali* and John T Minor School of Computer Science University of Nevada, Las Vegas 4505 Maryland Parkway, Las Vegas Nevada 89154 Abstract: Selecting an appropriate
More informationAutomatic Generation of Graph Models for Model Checking
Automatic Generation of Graph Models for Model Checking E.J. Smulders University of Twente edwin.smulders@gmail.com ABSTRACT There exist many methods to prove the correctness of applications and verify
More informationIntegrating Multiple Approaches for Interacting with Dynamic Data Structure Visualizations
Electronic Notes in Theoretical Computer Science 224 (2009) 141 149 www.elsevier.com/locate/entcs Integrating Multiple Approaches for Interacting with Dynamic Data Structure Visualizations James H. Cross
More informationPower Systems Academic Initiative (PSAI)
Power Systems Academic Initiative (PSAI) Program Overview March 2018 Power Systems Academic Initiative 2015 IBM Corporation Teaching IBM Power Skills for 21 Years Historical Perspective 1996 2002 2004
More informationAn Introduction to the Lego Mindstorms
Abstract An Introduction to the Lego Mindstorms Daniel Cliburn Assistant Professor Mathematics and Computer Science Hanover College Box 890 Hanover, IN 47243 (812) 866 7286 cliburn@hanover.edu http://www2.hanover.edu/cliburn
More informationA Java Execution Simulator
A Java Execution Simulator Steven Robbins Department of Computer Science University of Texas at San Antonio srobbins@cs.utsa.edu ABSTRACT This paper describes JES, a Java Execution Simulator that allows
More informationA SHIFT OF ACCENT IN INTRODUCTORY OBJECT ORIENTED PROGRAMMING COURSES. Eugeni Gentchev*, Claudia Roda**
A SHIFT OF ACCENT IN INTRODUCTORY OBJECT ORIENTED PROGRAMMING COURSES Eugeni Gentchev*, Claudia Roda** * The American University of Paris, Computer Science Department 148 rue de Grenelle, 75007 Paris,
More informationRole of the C language in Current Computing Curricula Part 2 Beyond Survey Results
Role of the C language in Current Computing Curricula Part 2 Beyond Survey Results Alessio Gaspar, Alessio@lakeland.usf.edu University of South Florida Lakeland 3433 Winter Lake Rd, Lakeland 33803, Fl,
More informationCS 536. Class Meets. Introduction to Programming Languages and Compilers. Instructor. Key Dates. Teaching Assistant. Charles N. Fischer.
CS 536 Class Meets Introduction to Programming Languages and Compilers Mondays, Wednesdays & Fridays, 11:00 11:50 204 Educational Sciences Charles N. Fischer Instructor Fall 2012 http://www.cs.wisc.edu/~fischer/cs536.html
More informationTOOLS AND TECHNIQUES FOR TEST-DRIVEN LEARNING IN CS1
TOOLS AND TECHNIQUES FOR TEST-DRIVEN LEARNING IN CS1 ABSTRACT Test-Driven Development is a design strategy where a set of tests over a class is defined prior to the implementation of that class. The goal
More informationEMC Documentum Composer
EMC Documentum Composer Version 6.0 SP1.5 User Guide P/N 300 005 253 A02 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748 9103 1 508 435 1000 www.emc.com Copyright 2008 EMC Corporation. All
More informationAn Environment for Training Computer Science Students on Software Testing
An Environment for Training Computer Science Students on Software Testing Jim Collofello and Kalpana Vehathiri Department of Computer Science and Engineering, Arizona State University Tempe, Arizona 85287
More informationThe SIGCSE 2001 Maze Demonstration Program
The SIGCSE 2001 Maze Demonstration Program Richard Rasala, Jeff Raab, Viera K. Proulx College of Computer Science Northeastern University Boston MA 02115 {rasala,jmr,vkp@ccs.neu.edu Abstract This article
More informationINCORPORATING ADVANCED PROGRAMMING TECHNIQUES IN THE COMPUTER INFORMATION SYSTEMS CURRICULUM
INCORPORATING ADVANCED PROGRAMMING TECHNIQUES IN THE COMPUTER INFORMATION SYSTEMS CURRICULUM Charles S. Saxon, Eastern Michigan University, charles.saxon@emich.edu ABSTRACT Incorporating advanced programming
More informationJERPA: A Distance-Learning Environment for Introductory Java Programming Courses*
JERPA: A Distance-Learning Environment for Introductory Java Programming Courses* David Emory and Roberto Tamassia Department of Computer Science Brown University Providence, RI 02912 {demory, rt}@cs.brown.edu
More informationSupport for Object-Oriented Testing
Support for Object-Oriented Testing Michael Kolling School of Computer Science & Software Engineering Monash University Australia michael. kolling @ csse.monash. edu.au John Rosenberg Faculty of Information
More informationCustomized Enterprise Installation of IBM Rational ClearCase Using the IBM Rational ClearCase Remote Client plug-in and the Eclipse SDK
Customized Enterprise Installation of IBM Rational ClearCase Using the IBM Rational ClearCase Remote Client plug-in and the Eclipse SDK Fred Bickford IV Senior Advisory Software Engineer IBM Rational Customer
More informationToward Instant Gradeification
Toward Instant Gradeification Daniel M. Zimmerman, Joseph R. Kiniry and Fintan Fairmichael University of Washington Tacoma, USA dmz@acm.org IT University of Copenhagen, Denmark kiniry@acm.org University
More informationLearning System FRIMAN
Learning System FRIMAN Jozef Kostolny and Monika Vaclavkova Department of Informatics, University of Zilina Zilina, Slovak Republic (Jozef.Kostolny, Monika.Vaclavkova)@fri.uniza.sk Abstract. Education
More informationExtensible and Dynamic Data Structure Viewers in Java
Extensible and Dynamic Data Structure Viewers in Java Jhilmil Jain Computer Science and Software Engineering Department, Auburn University, Auburn AL Email: jainjhi@auburn.edu Problem & motivation Many
More informationEMC Documentum Composer
EMC Documentum Composer Version 6.5 SP2 User Guide P/N 300-009-462 A01 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748-9103 1-508-435-1000 www.emc.com Copyright 2008 2009 EMC Corporation. All
More informationAn Interactive Tutorial System for Java
An Interactive Tutorial System for Java Eric Roberts Stanford University eroberts@cs.stanford.edu ABSTRACT As part of the documentation for its library packages, the Java Task Force (JTF) developed an
More informationDeveloping Eclipse Rich-Client Applications Tutorial
Developing Eclipse Rich-Client Applications Tutorial Dr. Frank Gerhardt Gerhardt Informatics Kft. fg@gerhardtinformatics.com Michael Scharf Wind River eclipsecon@scharf.gr 2008 by Frank Gerhardt and Michael
More informationGeneral Purpose GPU Programming. Advanced Operating Systems Tutorial 7
General Purpose GPU Programming Advanced Operating Systems Tutorial 7 Tutorial Outline Review of lectured material Key points Discussion OpenCL Future directions 2 Review of Lectured Material Heterogeneous
More informationFrom Sockets and RMI to Web Services
From Sockets and RMI to Web Services Mark A. Holliday, J. Traynham Houston, and E. Matthew Jones Department of Mathematics and Computer Science Western Carolina University Cullowhee, NC 28723 01-828-227-3951
More informationJ2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.
J2EE Development Detail: Audience www.peaksolutions.com/ittraining Java developers, web page designers and other professionals that will be designing, developing and implementing web applications using
More informationWeb Annotator. Dale Reed, Sam John Computer Science Department University of Illinois at Chicago Chicago, IL
Web Annotator Dale Reed, Sam John Computer Science Department University of Illinois at Chicago Chicago, IL 60607-7053 reed@uic.edu, sjohn@cs.uic.edu Abstract The World Wide Web is increasingly becoming
More informationGeneral Purpose GPU Programming. Advanced Operating Systems Tutorial 9
General Purpose GPU Programming Advanced Operating Systems Tutorial 9 Tutorial Outline Review of lectured material Key points Discussion OpenCL Future directions 2 Review of Lectured Material Heterogeneous
More informationA SCHEME UNIT-TESTING FRAMEWORK
A SCHEME UNIT-TESTING FRAMEWORK Sara von Mosch Division of Science and Mathematics University of Minnesota, Morris vonmoss@mrs.umn.edu Scott Lewandowski Division of Science and Mathematics University of
More informationCanica: An IDE for the Java Modeling Language
Canica: An IDE for the Java Modeling Language Angelica B. Perez, Yoonsik Cheon, and Ann Q. Gates TR #06-36 August 2006 Keywords: Integrated development environment, specification tool, programming tool,
More informationAlternatives for semantic processing
Semantic Processing Copyright c 2000 by Antony L. Hosking. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies
More information1 of 9 7/29/2005 6:17 PM Why I teach Eclipse Level: Introductory Gary Pollice, Professor of Practice, Worcester Polytechnic Institute 15 Jun 2005 from The Rational Edge: In his monthly column, Gary Pollice
More informationObjects and Classes Lecture 1
Objects and Classes Lecture 1 Waterford Institute of Technology January 6, 2016 John Fitzgerald Waterford Institute of Technology, Objects and ClassesLecture 1 1/19 Fundamental Programming Course Content
More informationThe Road to CCSv4. Status Update
The Road to CCSv4 Status Update Code Composer Studio v4 Summary What is it? Major upgrade to CCS Major architectural changes Based on Eclipse open source software framework New registration/licensing/updating
More informationPENUMBRA: ENHANCING ECLIPSE FOR INTRODUCTORY PROGRAMMING. A Thesis. Submitted to the Faculty. Purdue University. Frank Mueller
PENUMBRA: ENHANCING ECLIPSE FOR INTRODUCTORY PROGRAMMING A Thesis Submitted to the Faculty of Purdue University by Frank Mueller In Partial Fulfillment of the Requirements for the Degree of Master of Science
More informationIBM WebSphere Development Studio for IBM iseries V5R1 and V5R2 Refreshed with New WebSphere Studio, V5.0 Workstation Tools
Software Announcement January 28, 2003 IBM WebSphere Development Studio for IBM iseries V5R1 and V5R2 Refreshed with New WebSphere Studio, V5.0 Workstation Tools Overview WebSphere Development Studio for
More informationAutomatized Generating of GUIs for Domain-Specific Languages
Automatized Generating of GUIs for Domain-Specific Languages Michaela Bačíková, Dominik Lakatoš, and Milan Nosáľ Technical University of Košice, Letná 9, 04200 Košice, Slovakia, (michaela.bacikova, dominik.lakatos,
More informationBOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus
BOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus 1. Course Objectives Welcome to MET CS342 Data Structures with Java. The intent of this
More informationSQL Developer Oracle Migration Workbench Taking Database Migration to the next level
SQL Developer Oracle Migration Workbench Taking Database Migration to the next level Donal Daly Senior Director, Database Tools Agenda Why Migrate to Oracle? Oracle Migration Workbench
More informationWeb Applications: A Simple Pluggable Architecture for Business Rich Clients
Web Applications: A Simple Pluggable Architecture for Business Rich Clients Duncan Mac-Vicar and Jaime Navón Computer Science Department, Pontificia Universidad Católica de Chile {duncan,jnavon}@ing.puc.cl
More informationCS 406/534 Compiler Construction Putting It All Together
CS 406/534 Compiler Construction Putting It All Together Prof. Li Xu Dept. of Computer Science UMass Lowell Fall 2004 Part of the course lecture notes are based on Prof. Keith Cooper, Prof. Ken Kennedy
More informationDevelopment of Emulation Projects for Teaching Wireless Sensor Networks 1
Development of Emulation Projects for Teaching Wireless Sensor Networks Deepesh Jain T. Andrew Yang University of Houston Clear Lake Houston, Texas Abstract In recent years research and development in
More informationAdvanced User Interface Programming Using the Eclipse Rich Client Platform
Advanced User Interface Programming Using the Eclipse Rich Client Platform Tod Creasey IBM Canada Tod Creasey Advanced User Interface Programming Using the Eclipse Rich Client Platform Page 1 About the
More informationOracle Forms Modernization Through Automated Migration. A Technical Overview
Oracle Forms Modernization Through Automated Migration A Technical Overview Table of Contents Document Overview... 3 Oracle Forms Modernization... 3 Benefits of Using an Automated Conversion Tool... 3
More informationarxiv: v1 [cs.pl] 30 Sep 2013
Retargeting GCC: Do We Reinvent the Wheel Every Time? Saravana Perumal P Department of CSE, IIT Kanpur saravanan1986@gmail.com Amey Karkare Department of CSE, IIT Kanpur karkare@cse.iitk.ac.in arxiv:1309.7685v1
More informationMicrosoft. [MS20762]: Developing SQL Databases
[MS20762]: Developing SQL Databases Length : 5 Days Audience(s) : IT Professionals Level : 300 Technology : Microsoft SQL Server Delivery Method : Instructor-led (Classroom) Course Overview This five-day
More informationLimnor Studio Getting Started
Limnor Studio Getting Started Longflow Enterprises Ltd. Tuesday, October 20, 2009 Contact: info@limnor.com 1 Introduction... 1 1.1 Limnor Studio... 1 1.2 Limnor Codeless Visual Programming... 3 2 Installation...
More informationEMC Documentum Composer
EMC Documentum Composer Version 6 SP1 User Guide P/N 300 005 253 A01 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748 9103 1 508 435 1000 www.emc.com Copyright 2008 EMC Corporation. All rights
More informationModel Driven Development of Context Aware Software Systems
Model Driven Development of Context Aware Software Systems Andrea Sindico University of Rome Tor Vergata Elettronica S.p.A. andrea.sindico@gmail.com Vincenzo Grassi University of Rome Tor Vergata vgrassi@info.uniroma2.it
More informationExploring Dynamic Compilation Facility in Java
Exploring Dynamic Compilation Facility in Java Dingwei He and Kasi Periyasamy Computer Science Department University of Wisconsin-La Crosse La Crosse, WI 54601 kasi@cs.uwlax.edu Abstract Traditional programming
More informationMicrosoft Developing SQL Databases
1800 ULEARN (853 276) www.ddls.com.au Length 5 days Microsoft 20762 - Developing SQL Databases Price $4290.00 (inc GST) Version C Overview This five-day instructor-led course provides students with the
More informationMoving From Studio to Atelier. Wouter Dupré Sales Engineer
Moving From Studio to Atelier Wouter Dupré Sales Engineer Before we start the journey Introduction Atelier: What is it? Atelier is a modern IDE for applications developers Implemented as a plug-in to Eclipse
More informationSoftware Development Kit
Software Development Kit Informatica MDM - Product 360 Version: 8.1.1 07/04/2018 English 1 Table of Contents 1 Table of Contents...2 2 SDK Package...3 3 Prerequisites...3 3.1 Database...3 3.2 Java Development
More informationHelping Students Test Programs That Have Graphical User Interfaces
Helping Students Test Programs That Have Graphical User Interfaces Matthew Thornton, Stephen H. Edwards, and Roy Patrick Tan Dept. of Computer Science, Virginia Tech 660 McBryde Hall, Mail Stop 0106 Blacksburg,
More informationEntireX Modernized EntireX Workbench
EntireX 7.3 - Modernized EntireX Workbench Crossvision Product Management Software AG EntireX 7.3 Workbench April 2007 Seite 1 Modernized EntireX Workbench With EntireX 7.3 the EntireX Workbench will be
More informationTest-Driven Learning: Intrinsic Integration of Testing into the CS/SE Curriculum
Test-Driven Learning: Intrinsic Integration of Testing into the CS/SE Curriculum ABSTRACT David S. Janzen University of Kansas Electrical Engineering and Computer Science Lawrence, Kansas USA djanzen@eecs.ku.edu
More informationGetting a Quick Start with RUP
Getting a Quick Start with RUP By: Doug Rosenberg and Jeff Kantor, ICONIX Software Engineering, Inc. Abstract Many people want the rigor of an industrial-strength process like the RUP but aren't quite
More informationThe Eclipse Rich Client Platform
The Eclipse Rich Client Platform Slides by various members of the Eclipse JDT and Platform teams Slides 2004 IBM Corporation Outline Rich Client Application? The Eclipse Plug-in Architecture Eclipse Plug-ins
More informationThe Great SharePoint 2016/2013 Adventure for Developers
The Great SharePoint 2016/2013 Adventure for Developers Developing for SharePoint 2016/2013 On-premises Course Code Audience Format Length Course Description Student Prerequisites GSA2016 Professional
More informationTic-Tac-LEGO: An Investigation into Coordinated Robotic Control
Tic-Tac-LEGO: An Investigation into Coordinated Robotic Control Ruben Vuittonet and Jeff Gray Department of Computer and Information Sciences University of Alabama at Birmingham Birmingham, AL 35294 USA
More informationDROPLET, A BLOCKS BASED EDITOR FOR TEXT CODE. David Anthony Bau Phillips Exeter Academy 20 Main Street, Exeter, NH
DROPLET, A BLOCKS BASED EDITOR FOR TEXT CODE David Anthony Bau Phillips Exeter Academy 20 Main Street, Exeter, NH 781 795 2906 dab1998@gmail.com ABSTRACT Droplet is a new programming editor, created by
More informationNaCIN An Eclipse Plug-In for Program Navigation-based Concern Inference
NaCIN An Eclipse Plug-In for Program Navigation-based Concern Inference Imran Majid and Martin P. Robillard School of Computer Science McGill University Montreal, QC, Canada {imajid, martin} @cs.mcgill.ca
More informationASSOCIATE DEGREE REQUIREMENTS
A Course of Study for COMPUTER SCIENCE The field of computer science leads to a variety of careers that all require core computer science skills. These skills include theory courses such as Computer Hardware,
More informationUsing Handheld Computers in the Classroom: Laboratories and Collaboration on Handheld Machines
Using Handheld Computers in the Classroom: Laboratories and Collaboration on Handheld Machines Michael J Jipping Joshua Krikke Hope College Department of Computer Science Holland, MI 49423 {jipping,dieter,
More informationUsing Metadata Queries To Build Row-Level Audit Reports in SAS Visual Analytics
SAS6660-2016 Using Metadata Queries To Build Row-Level Audit Reports in SAS Visual Analytics ABSTRACT Brandon Kirk and Jason Shoffner, SAS Institute Inc., Cary, NC Sensitive data requires elevated security
More informationDay 2: 19/April/2012 Installing Aptana IDE; Integrated Development Environment And Rails
Day 2: 19/April/2012 Installing Aptana IDE; Integrated Development Environment And Rails p Setting Up Aptana IDE n IDE; Integrated Development Environment n Set Up Japanese Language Support n Run rails
More informationCS 432 Fall Mike Lam, Professor. Compilers. Advanced Systems Elective
CS 432 Fall 2018 Mike Lam, Professor Compilers Advanced Systems Elective Discussion question What is a compiler? Automated translation A compiler is a computer program that automatically translates other
More informationUnderstanding Cybersecurity Talent Needs Findings From Surveys of Business Executives and College Presidents
Understanding Cybersecurity Talent Needs Findings From Surveys of Business Executives and College Presidents BHEF_Report_mk_050817_ms Acknowledgements This report is supported primarily by a grant from
More informationWORKSHOP ON EASY JAVA SIMULATIONS AND THE COMPADRE DIGITAL LIBRARY
MPTL14 2009 Udine 23-27 September 2009 WORKSHOP ON EASY JAVA SIMULATIONS AND THE COMPADRE DIGITAL LIBRARY Francisco Esquembre, Universidad de Murcia Wolfgang Christian, Davidson College Bruce Mason, University
More informationCICS Explorer the New Frontier
CICS Explorer the New Frontier SHARE Orlando Summer 2011 Session 9331 Lisa M. Fellows Vice President CICS & WMQ Technology Strategy Lisa.M.Fellows@bankofamerica.com Presentation Objectives What is CICS
More informationBlueJ - The Hitch-Hikers Guide to Object Orientation
Michael Kölling John Rosenberg BlueJ - The Hitch-Hikers Guide to Object Orientation The Maersk Mc-Kinney Moller Institute for Production Technology University of Southern Denmark http://www.mip.sdu.dk
More informationTitle Core TIs Optional TIs Core Labs Optional Labs. 1.1 WANs All None None None. All None None None. All None 2.2.1, 2.2.4, 2.2.
CCNA 2 Plan for Academy Student Success (PASS) CCNA 2 v3.1 Instructional Update # 2006-1 This Instructional Update has been issued to provide guidance on the flexibility that Academy instructors now have
More informationIntroduction. Software Trends. Topics for Discussion. Grid Technology. GridForce:
GridForce: A Multi-tier Approach to Prepare our Workforce for Grid Technology Bina Ramamurthy CSE Department University at Buffalo (SUNY) 201 Bell Hall, Buffalo, NY 14260 716-645-3180 (108) bina@cse.buffalo.edu
More informationCS 432 Fall Mike Lam, Professor. Compilers. Advanced Systems Elective
CS 432 Fall 2017 Mike Lam, Professor Compilers Advanced Systems Elective Discussion question What is a compiler? Automated translation A compiler is a computer program that automatically translates other
More information5 th International Symposium 2015 IntSym 2015, SEUSL
THE IMPACT OF INTERNATIONAL COMPUTER DRIVING LICENSE (ICDL) TRAINING ON CLASSROOM COMPUTER USE BY SECONDARY SCHOOL TEACHERS (SPECIAL REFERENCE ON BADULLA DISTRICT) J.D.Careemdeen 1 and P.K.J.E. Nonis 2
More informationTechnology in Action. Alan Evans Kendall Martin Mary Anne Poatsy. Eleventh Edition. Copyright 2015 Pearson Education, Inc.
Technology in Action Alan Evans Kendall Martin Mary Anne Poatsy Eleventh Edition Technology in Action Chapter 8 Behind the Scenes: Software Programming 2 Topics Understanding Software Programming The Importance
More information"Charting the Course... MOC C: Developing SQL Databases. Course Summary
Course Summary Description This five-day instructor-led course provides students with the knowledge and skills to develop a Microsoft SQL database. The course focuses on teaching individuals how to use
More informationTool Support for Implementation of Object-Oriented Class Relationships and Patterns
Tool Support for Implementation of Object-Oriented Class Relationships and Patterns James H. Paterson, Glasgow Caledonian University John Haddow, University of Paisley Address for correspondence: Dr J.
More informationTHE GREAT SHAREPOINT ADVENTURE 2016
Education and Support for SharePoint, Office 365 and Azure www.combined-knowledge.com COURSE OUTLINE THE GREAT SHAREPOINT ADVENTURE 2016 Course Code GSA2016 Length 5 Days About this course The Great SharePoint
More informationYour Student s Head Start on Career Goals and College Aspirations
Your Student s Head Start on Career Goals and College Aspirations INFORMATION TECHNOLOGY (IT) NETWORKING PATHWAY The Destinations Networking Pathway prepares students to test and evaluate computer network
More informationEclipse Tutorial. For Introduction to Java Programming By Y. Daniel Liang
Eclipse Tutorial For Introduction to Java Programming By Y. Daniel Liang This supplement covers the following topics: Getting Started with Eclipse Choosing a Perspective Creating a Project Creating a Java
More informationTitle Core TIs Optional TIs Core Labs Optional Labs. All None 1.1.6, 1.1.7, and Network Math All None None 1.2.5, 1.2.6, and 1.2.
CCNA 1 Plan for Academy Student Success (PASS) CCNA 1 v3.1 Instructional Update # 2006-1 This Instructional Update has been issued to provide guidance on the flexibility that Academy instructors now have
More informationStruts Tools Reference Guide. Version: beta1
Struts Tools Reference Guide Version: 3.0.0.beta1 1. Introduction... 1 1.1. Key Features of Struts Tools... 1 1.2. Other relevant resources on the topic... 2 2. Projects... 3 2.1. Creating a New Struts
More informationµtasker Document CodeWarrior 10
Embedding it better... µtasker Document CodeWarrior 10 utasker_codewarrior10.doc/0.0 Copyright 2012 M.J.Butcher Consulting Table of Contents 1. Introduction...3 2. Importing the Project into a Workspace...4
More informationMEAP Edition Manning Early Access Program Get Programming with Java Version 1
MEAP Edition Manning Early Access Program Get Programming with Java Version 1 Copyright 2018 Manning Publications For more information on this and other Manning titles go to www.manning.com welcome First,
More informationB. Subject-specific skills B1. Problem solving skills: Supply the student with the ability to solve different problems related to the topics
Zarqa University Faculty: Information Technology Department: Computer Science Course title: Programming LAB 1 (1501111) Instructor: Lecture s time: Semester: Office Hours: Course description: This introductory
More informationSpecific Proposals for the Use of Petri Nets in a Concurrent Programming Course
Specific Proposals for the Use of Petri Nets in a Concurrent Programming Course João Paulo Barros Instituto Politécnico de Beja, Escola Superior de Tecnologia e Gestão Rua Afonso III, n.º 1 7800-050 Beja,
More informationHigh Ended Web Search Engine Taxonomy Using Concurrent Processing
Proceedings of Informing Science & IT Education Conference (InSITE) 2010 High Ended Web Search Engine Taxonomy Using Concurrent Processing Bala Dhandayuthapani Veerasamy Mekelle University, Mekelle, Ethiopia
More informationUNOS Operating System Simulator
UNOS Operating System Simulator Proceedings of the 15 th Annual NACCQ, Hamilton New Zealand July, 2002 www.naccq.ac.nz ABSTRACT Zhong Tang UNITEC Institute of Technology Auckland, New Zealand ztang@unitec.ac.nz
More informationCMB-207-1I Citrix Desktop Virtualization Fast Track
Page1 CMB-207-1I Citrix Desktop Virtualization Fast Track This fast-paced course covers select content from training courses CXA-206: Citrix XenApp 6.5 Administration and CXD-202: Citrix XenDesktop 5 Administration
More informationUniAspect: A Language-Independent Aspect-Oriented Programming Framework
UniAspect: A Language-Independent Aspect-Oriented Programming Framework Akira Ohashi Kazunori Sakamoto Tomoyuki Kamiya Reisha Humaira Satoshi Arai Hironori Washizaki Yoshiaki Fukazawa Waseda University
More informationJSF Tools Reference Guide. Version: M5
JSF Tools Reference Guide Version: 3.3.0.M5 1. Introduction... 1 1.1. Key Features of JSF Tools... 1 2. 3. 4. 5. 1.2. Other relevant resources on the topic... 2 JavaServer Faces Support... 3 2.1. Facelets
More informationDeveloping SQL Databases
Course 20762B: Developing SQL Databases Page 1 of 9 Developing SQL Databases Course 20762B: 4 days; Instructor-Led Introduction This four-day instructor-led course provides students with the knowledge
More informationOOP as an Enrichment of FP
Position Paper for OOPSLA 2001 Workshop Pedagogies and Tools for Assimilating Object-Oriented Concepts Abstract OOP as an Enrichment of FP Robert "Corky" Cartwright and Dung "Zung" Nguyen Department of
More informationData Validation Option Best Practices
Data Validation Option Best Practices 1993-2016 Informatica LLC. No part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording or otherwise) without
More information