Aura: A Multi-Featured Programming Framework in Python
|
|
|
- Johnathan Barker
- 9 years ago
- Views:
Transcription
1 Aura: A Multi-Featured Programming Framework in Python Anshul Kumar Jain Research Engineer, Software for Education, Entertainment and Training Activities (SEETA) [email protected] Manu Sheel Gupta Chairman, Software for Education, Entertainment and Training Activities (SEETA) [email protected] Abstract This paper puts forward the design, programming and application of innovative educational software, Aura made using Python and PyQt Python bindings. The research paper presents a new concept of using a single tool to relate between syntaxes of various programming languages and algorithms. It radically increases their understanding and retaining capacity, since they can correlate between many programming languages. The software is a totally unorthodox attempt towards helping students who have their first tryst with programming languages. The application is designed to help students understand how algorithms work and thus, help them in learning multiple programming languages on a single platform using an interactive graphical user interface. This paper elucidates how using Python and PyQt bindings, a comprehensive feature rich application, that implements an interactive algorithm building technique, a web browser, multiple programming language framework, a code generator and a real time code sharing hub be embedded into a single interface. And also explains, that using Python as building tool, it requires much less coding than conventional feature rich applications coded in other programming languages, and at the same time does not compromise on stability, inter-operability and robustness of the application. Keywords: GUI Programming, Programming tools, Collaboration, Navigation, Code Generator, Education 1. Introduction Education is the most important ingredient of life. It gives an individual, capability to address the world in all walks of life. And with changing times, technology is playing a more important role in imparting education through collaboration, extensive information and ease of use without forgetting the fun part of it. Educational softwares have played a pivotal role in imparting education through technology. It is quite ironical that there has been little evolution in the field of teaching algorithms and programming in an interesting through current technological media [15]. The current methodology to teach programming or algorithms still involves large volumes of text reading and a lot of guidance. While learning programming languages there s very less correlation between algorithms and programming languages teaching techniques, especially in developing countries. Students generally find it difficult to - 1 -
2 understand the importance of algorithm building and logic solving exercises. It is crucial to note that if logic-building techniques are established, programming is merely a language to express that logic. The ability to think logically is what needs to be inculcated. However it is programming that is considered the be all and end all. We have come across some worth noting applications that teach algorithms in interesting ways. One of them is Scratch [13]. It is a block-based programming language that is designed to facilitate media manipulation for novice programmers. It is designed on squeak, a programming language based on Smalltalk implementation, derived directly from Smalltalk-80 [4]. Scratch does have the qualities of intriguing a beginner in programming language with the use of drag and drop features based on Lego blocks. But there is scope of improvement in areas it covers. Scratch is an innovative application but it does not provide a student with a real time sharing of codes with his peers as he develops a project. Students can share their codes but none of this happens in real time, and they have to use their website to host what they made. The application after some time of usage tends to become less useful to the learner as the software does not provide the next step to learn coding, i.e. ways to collaborate a logic paradigm with programming tools like Python, C, C++, etc. The application teaches the basics of algorithms flawlessly but leaves a scope of improvement, wherein this algorithm building capability can be used to relate with different programming languages. Scratch leaves a scope of improvement, as programming languages cannot be learnt, which remains the final goal for an aspiring programmer. They again have to resort to a huge amount of text reading. Another important ingredient that cannot be forgotten in current perspective is the Internet. Scratch provides sharing to some extent but, if students want to get some information, they have to leave the application, go to browser and then keep switching from application to browser, which kills time and distract students concentration. It is desirable to develop something on the grounds of an information appliance a term fabricated by Jef Raskin [11], that can provide multiple functions within single application, much like an iphone. Scratch being coded in squeak leaves a little scope for developers to contribute due to small community built around it. For an idea such creative, there should be a large community of developers available to contribute to the enhancement of application like that of Python [7]. In this paper, we intend to explain how using Python programming language and its extensibility features we are able to improve upon the idea of teaching a programming language by building a whole new programming language framework named Aura. Python is a simple, powerful and easy to use programming language. It has a large community based around it and thus problem-solving rate is very high. It makes complete sense to use Python as the programming language to code this software, because of its highly extensible nature. In this paper we throw light on various features of Python and various libraries those can be used with it to develop a platform for learning programming languages that is interactive, robust and highly portable to different architectures in a short span of time. We elucidate on important aspects of application those will benefit students who have their first tryst with coding and want to make best understanding of various programming languages and help them to decide, which of them suits them best
3 2. Design and Implementation Aura is an educational GUI application, plication, which will teach different programming languages to learners on a single interface but at the same time lay full emphasis on logic building. Figure An approximate layout of different components The application has been completely designed with python and PyQt Python bindings. The core part of the project has been done using Python. Python was chosen as the language to code the application due to many factors in favour of it. In recent years many APIs and libraries have been developed for python. Thus the inter-operability between systems has been greatly enhanced even though it remains a challenging task in many other programming languages. ges. Python has made it easy for our research project to implement almost everything that is to be done in the programming ranging from networking to GUI development. The GUI interface of the application is designed using PyQt, a set of Python bindings for the Qt cross-platform framework from Nokia's Qt Development Frameworks. It includes abstractions of network sockets, threads, Unicode, regular expressions, SQL databases, SVG, OpenGL, XML, a fully functional web browser using WebKit toolkit, a multimedia framework, as well as a rich collection of GUI widgets. Relevance of using PyQt for this research project is that, one can write web-enabled applications and deploy them across desktops, mobiles and embedded operating systems without rewriting the source code. The aim while designing the application was to be able to port the application on various platforms available and on which the application be easily used. As PyQt has native support for MacOSX, Symbian and windows mobile, it becomes very easy to deploy the application on other platforms. Whereas in PyGtk this still remains a desirable improvement [9]. Thus, application developed in Python and PyQt are very easy to port not only to various desktop platforms but also mobile platforms. Also, being open source, the whole framework is extremely customizable and has a very low footprint on system resources
4 2.1 User Interface The application is designed to make learners understand the importance of algorithm building and applying this same strategy to solve real time problems in a very interesting manner. The application has various categories of blocks like, control; variables; operators, etc. Each block category is distinct and then the blocks under it use same structure with minor changes. Each category has appropriate blocks; those can be dragged and dropped to create a logic block structure. Thus, a program's structure can be designed by arranging desired blocks in a logical fashion with detachable pieces of code those can be moved around and fitted together. Python proved to be a very powerful tool in designing of the blocks. SVG or Scalable Vector Graphics is used to create XML based two dimensional vector graphics. This is very useful format for design of these pieces, of application as the images are web friendly due to XML format and thus can be easily deployed on the browser interface too used by the application. Secondly, the bocks needed by the application intend to be scalable and resizable to fit various sub-blocks blocks within them. And SVG being vector graphics provide this solution easily, by just editing some tags within the XML description ion of the file. Python serves as a very useful tool in this context as there are libraries like PySVG those can be used to construct SVG files directly from Python and thus makes the application installer lighter as images can be built during installation time. PyQt also contains library like QtSVG to display contents of SVG files directly and make them available for editing [5]. It is very important to find a very responsive and error-free solution to user s interaction. Without this, application is left almost useless. The Dragging and dropping of blocks needed to be coded so that they are very sensitive to response from the user. Any lag in the movement of mouse and image will spoil the whole fun of using the application [14]. At the same time it is very important that the code is optimized so that they cost minimum CPU cycles. Python and PyQt served as big assets for this part of the design. With just 40 lines of Python code we are able to create an extremely responsive drag and drop feature of blocks within in the interface. This task was accomplished with just recoding of some events pre-defined in PyQt and connecting them appropriately with the SVG image of blocks. This same exercise when tried with Java gave result those consumed more CPU power and simple drag and drop costed us about 100 lines of Java code. 2.2 Adaptive Programming Modules The aim of application is to serve as a platform for learning all programming languages. Figure Aura is capable of integrating multiple language modules - 4 -
5 There will be a number of programming modules available for the application. In each programming module, there are files those connect each block with appropriate syntax and important explanation. This has a use in the later described the script window. When a programming module is chosen the application simply incorporates that module and becomes virtually a software, that helps student understand the usage of that programming language with the help of built in logic blocks of the application. Python is used to read the files within the programming module and then using PyQt, the text is displayed within the script window of the application interface. 2.3 Script Window The application has many features inside it, one of them being the script window. The script window is helping hand of the language module. The script generator is a textpane inside the application that displays the syntax with examples from the programming module when a particular block is clicked. The special feature of this window is that the text inside the script editor is made editable. A normal text editor when coded in programming language like C++ or Java requires many library inclusions. And, it is very important that we keep the software lightweight and modifiable for later enhancement. With making the script window as a module entity it was easily available for re-use. With the usage of Python and PyQt library we are able to create a fine and neat editor within the UI with fulfilling the aim of low system resource consumption. Employing simple Python functions we are able to extract information in the required file of programming module and then display that text in the script editor, using object of the UI class defined in PyQt. The script window can also be used for making special notes or markings about the usage of that particular block that the student wants to save for future reference, when its description appears in the editor. After the script editor content is edited, the text is prompted to be saved as soon as the next block is selected to be previewed and the whole text is then re-written into the appropriate file inside the programming language module. In this manner the users can develop a help of various blocks in a single programming module as they use it and then can share the module. Thus, the application can be highly personalized serving as a personal notes copy to each student. 2.4 Output Window Aura has an interactive output window that displays output not in the form of numbers, but in the form of an animated character. The purpose to design an output window in this way is to maintain student s interest into learning more and arouses his interest to experiment more. Thus, prepares student to code more optimistically in later stages of learning. When the code is run, the character acts, as the code made by arrangement of blocks says it to. For example, if the block is Say Hello, a bubble pops up near the animated character that says hello. The same character responds to errors while running by prompting through bubble dialogues. 2.5 Collaboration With the increasing social activities, there should be some way students are able to bring this aspect to their learning also. This application with the help of Python does - 5 -
6 exactly that. This has been the most interesting thing in the application done using Python. RPC (Remote Procedure Call) connections belong to the niche of Operating Systems [1][3]. After a student has created code he can send the code to connected peers via LAN or Internet using RPC connection. The other student receives the code in the block form in his window exactly as it was created, which he can then edit, or review and then send back to the sender. With this feature student can not only share their creation and gain appreciation, but also allow teachers to review/edit their work from anywhere when necessary. Figure Schematic flow of control while using application s inbuilt sharing PHP RPC [19][21] connections can possibly be used for fulfilling the requirements of the application. But there are some points that make it an inadequate choice for this work. Firstly, PHP RPC connections need some kind of form, from where the request will be sent. But Aura needs to send this information directly from the interface. Secondly, it is quite difficult to implement a real time connection between the client and server, but with Python, this can be easily done by updating a simple connection function as and when required. After experimentation with PHP RPC connections it was found that these are substantially slower that the python RPC connections. There is no way to detect any failure in the connection between server and client without the intervention of a browser. Python can easily detect and identify exact problem in the connection and thus is a better troubleshooting tool than PHP in context with the application usage. Python RPC also provides easy connection of single computer with multiple computers with just sending/receiving information through multiple ports. This asset set can be used to connect a student with many of his friends at a time and share his creation simultaneously with multiple users. As the application is aimed at students new to computer, security becomes very important aspect of networking. When a python RPC connection is made, it always sends the identity of the client computer to the server. With a simple function defined at the server end the authenticity of the client can be verified and any anonymous connections can be straight forward refused. Thus security issues are also easily administered using Python. With reference to the usage of application for sharing purposes Python provides a comprehensive and compact solution to all the prerequisites of the application
7 2.6 Web-Browser It is important that students get the information and text when they need it while working. A book can perform that function but not as fast as Internet. Also, it is necessary that students do not leave their workspace and keep on switching back and forth from application to browser and vice-versa. Thus, it is crucial to provide that text as fast as possible else a student may lose his interest with the lack of fast access to information. Aura features a web browser that provides students with rich media and information right within the application to enjoy the learning process all the more. By providing a web-browser inside application student virtually never leaves the environment he is working in and feels enthusiastic to gather information [2]. Using this feature the editable script window becomes quite a successful attempt to search and collaborate information. Designing an efficient web browser was very necessary for the application. As the application incorporates my features, thus making any of them bulky can lead to dysfunction of the software. At the same time it is necessary to make a browser fast to provide information to students swiftly. A very simple browser in Java takes up around 200 lines of code [10]. But the software aspires for a better solution in all respects. There are options of using Presto, Gecko or WebKit as layout engines for web pages. The PyQt bindings for Python incorporate the WebKit layout engine. It is worthy to note that browsers like Safari and Chrome use WebKit as their layout engine. And they are amongst fastest browsers present currently. Thus, it is very optimistic to use this layout engine and Python provides it in the easiest way. With approximately 100 lines of code, about half that in Java we are able to create a browser that has functions of history keeping, reload button, stop button and home button. The browser in the application works with any easy re-coding of the urlchanged function defined in PyQt for WebKit toolkit. This function is called as and when the user changes the URL in the address bar. All the other functions just merely 3-5 lines of code to implement Back, Forward, Reload, Stop and Home. Below is a code snippet to the url-changed function: def url_changed(self): page = self.ui.webview.page() history = page.history() if history.cangoback(): self.ui.back.setenabled(true) else: self.ui.back.setenabled(false) if history.cangoforward(): self.ui.next.setenabled(true) else: self.ui.next.setenabled(false) url = self.ui.url.text()if url[0:4] is not 'http': url = ' self.ui.url.text() self.ui.webview.seturl(qtcore.qurl(url)) This browser with no enhancement done to it was tested in comparison to other browsers available on same machine. The benchmark was based on scores measured in operations per second or rendered frames per second depending on the test. Browser Points scored in Benchmark [8] (more is better) Aura Browser 2304 Internet Explorer Mozilla Firefox
8 Mozilla Firefox Opera Safari Table Benchmark results for different browsers From the above data it is completely evident that the simple browser of Aura made in Python and PyQt is capable for providing high-speed browsing for students without compromising in the portability and lightness of the application. Figure A screenshot of browser in Aura 2.7 Code Generator Students will easily get the understanding of algorithm building and syntax of particular languages after experimenting with the application for a while. The next important step is learning to build real codes [23]. This aspect of programming has been addressed up to some extent by the application. After a code using blocks has been created and run, pseudo-code is generated and displayed in the script window. This gives the student an overview of real life coding example and the way all the block he created earlier stack up in real coding paradigms [11][22]. The code generation function uses Python code for the simple reason that we wish to implement the code as small as possible due to the constraint of size of the application. Implementing the same objective in other programming languages is possible but Python serve as a good language for code optimization. Using python s feature of a pseudo-code type coding syntaxes it becomes much easier to make a generic code generator
9 3. Flow Diagram of Application at Work Figure 3.1. An overview of a basic code designed by student Figure 3.2. A schematic flow diagram of working of Aura - 9 -
10 Figure 3.3. A basic structural view of application 4. Future Scope The application has innovative features embedded into it and uses the extensive feature rich Python programming language to construct the application. But the work to enhance the usability and robustness does not end here. The application has areas to be explored with reference to the current work done using Python. The foremost important aim of the application is to harness the great potential of the application in real world. Thus we wish to make the application available to schools and colleges in a tailored manner in respect to the need of the organization, in a way they can best use it. The application neatly uses Python and Qt to deploy a web browser into the application interface itself. Thus it becomes far more important and crucial to enhance the workability and usage paradigms that are beneficial to students. We wish to explore the browser by implementing add-ons for the application coded in Python so that the browser can communicate with application more intuitively and make it easier to collaborate web and learning experience. The application has a unique feature of incorporating programming language modules into the application those help students relate their programming paradigms in co-ordinance ordinance with the particular programming language selected. Thus, we look forward to develop some Python APIs those can be provided to teachers, instructors and frameworks enabling them easily create these programming language modules those contain appropriate description to the blocks in the application in reference to that programming language, so that they can be given to students as they need. Another important element of the application is its modularity. Methods have to be adopted in the Python coding so that the overall modularity of the application is enhanced leading to easy modifications in application and thus be able to provide a tailored solution effortlessly. We wish to research this area by experimenting with custom libraries for the application, in Python, so that a simple library modification can bring desired results
11 In the present situation there are number of platforms available to work on. For example, Mac, Windows, Linux, iphone, etc., and every person have their choice of platform to work on. Python has many libraries that enable effortless porting application from one platform to other but some platforms are still to be explored in this field. Thus we wish to design Python libraries, so that the application can easily be ported onto different platforms without any change in the working and look of the application between various platforms. Another important aspect of the application is the code generation function. With the integration of many number of programming languages and increasing expectation of students from the application, we aim explore the field of compilers and design APIs and libraries to efficiently generate more efficient and better codes in the code generation window. We also covet to improve the overall user experience of the application with the help of PyQt bindings and provide with more intuitive component layout and display graphics. 5. Conclusion In the course of development of a novel application Aura that helps students learn programming languages through algorithm building training has lead us to deduce that Python is a very powerful tool to design, extensive GUI applications and has great potential to be deployed in building educational application on multi-platforms. Python and its accompanying libraries can be used to build exceptional quality applications like Aura and provide a developer with all the tools he need to perform numerous functions built into single application with optimal footprint on system resources. It was discovered during this research, that with the help of large number of libraries present for Python it becomes very easy to port an application developed on single platform to other platforms without any degradation in the quality of software. The application would be truly multi-functional, overcoming the drawbacks of the other such learners that exist. While designing the application it has been thought of all possible needs of a beginner in programming by giving tools like Multilanguage programming module support, an editor based script window, an innovative drag-drop featured interface with exciting form of displaying output in output window, a code generator and last but not the least a web browser. The application has been designed tapping full potential of Python and providing optimum level of security to its users too. 6. References [1] Andrew and Bruce, Feb 1984, Implementing Remote Procedure Calls, RPC connections, (ACM transactions on Computer System, vol. 2), Available at: [2] Antero, et al., Jan. 2008, Web Browser as an Application Platform: The Lively Kernel Experience, Web Browser as application tool, (SMLI TR ), Available at: [3] Brian et al., Feb 1990, Lightweight Remote Procedure Call, RPC connection Optimization, (ACM transactions on Computer System, vol. 8), Available at: [4] Dan et al., 1997, Back to Future: the story of Squeak, a practical Smalltalk written in itself, Overview of Squeak Programming Language, (OOPSLA 1997, pp ), Available at:
12 [5] Daniel et al., Oct. 2004, SVG for Educational Simulations, SVG to developing graphics for students, (Conference on Information Technology, pp ), Available at: [6] David, PyQt Whitepaper, PyQt whitepaper, Available at: [7] Frank, Python in Education: Raising a Generation of Native Speakers, Python usefulness to programming learners, Available at: [8] FutureMark Browser Benchmark Service, Available at: [9] Guilherme, PyGTK, PyQt, Tkinter and WxPython comparison, Comparison in various GUI python bindings, Available at: [10] H.M. Deitel and Deitel, 2008, Java: How to Program, Book on Java Programming, Pearson Education, ISBN X [11] Ingo and Mirko, Oct. 2003, Test Suite Design for Code Generation Tools, Ways to test code generators, (Automated Software Engineering, 2003 Proceedings), Available at: [12] Jef, Sept. 2003, User Interface Designers, Slaves of Fashion, General talk on User Interfaces, (Queue, Vol. 1, Issue 6), Available at: [13] John et al., 2008, Programming by Choice: Urban Youth Learning Programming with Scratch, General Description of scratch application, Available at: [14] Kori, Mar. 2001, Drag-and-Drop versus Point-and-Click Mouse Interaction Styles for Children, Drag-Drop versus Point Click methods, (ACM transactions on Computer System, vol. 8), Available at: [15] Mario et al., 2008, Enhancing Software Engineering Education a Creative Approach, Imparting software education through projects, (International Conference of Software Engineering, pp ), Available at: [16] Mark, Sept. 2009, Learning Python, Beginner s book to python, 4 th edition, O Reilly Publications, ISBN [17] Mark, Sept. 2009, Rapid GUI programming with Python and Qt, Learner s Guide to PyQt Programming, 2 nd Edition, Prentice Hall, ISBN [18] Mitchell, Jan 2010, Bioinformatics Programming Using Python, Book on data manipulation through Python, O Reilly Publications, ISBN [19] Rasmus et al., Programming PHP, A book on PHP programming, July 2009, 2 nd Edition, O Reilly Publications, ISBN [20] Robin, A Web-based System for Dynamic Teacher-Student Interaction in a Classroom Setting, Teacher-Student interaction through web in classroom, Jab 2007, (Journal of Computing Sciences in Colleges, Vol. 22, Issue 3), Available at: [21] Simon et al., Dec. 2001, Programming Web Services with XML-RPC, Web services using XML-RPC connections, O Reilly Publications, ISBN X
13 [22] Timothy et al., Apr. 2008, Towards Universal Code Generator Generation, Design paradigms for generic code generators, (Parallel and Distributed Processing, pp. 1-8), Available at: [23] William and Goos, 1984, Compiler Construction, Book on compiler construction, Springer-Verlag, ISBN I. Appendix Scratch Scratch is a computer application aimed primarily at children and allows them to explore and experiment with the concepts of computer programming by using the simple graphical interface. It is developed by the Lifelong Kindergarten group at the MIT Media Lab by a team led by Mitchel Resnick XML (Extensible Markup Language) XML is a set of rules for encoding documents electronically. It is defined in the XML 1.0 Specification produced by the W3C and several other related specifications; all are fee-free open standards. RPC (Remote Procedure Call) RPC is an Inter-process communication technology that allows a computer program to cause a subroutine or procedure to execute in another address space (commonly on another computer on a shared network) without the programmer explicitly coding the details for this remote interaction. That is, the programmer would write essentially the same code whether the subroutine is local to the executing program, or remote. When the software in question is written using object-oriented principles, RPC may be referred to as remote invocation or remote method invocation
Graphical Environment Tool for Development versus Non Graphical Development Tool
Section 4 Computing, Communications Engineering and Signal Processing & Interactive Intelligent Systems Graphical Environment Tool for Development versus Non Graphical Development Tool Abstract S.Daniel
What's New in BarTender 2016
What's New in BarTender 2016 WHITE PAPER Contents Introduction 3 64-bit BarTender Installation 3 Data Entry Forms 3 BarTender Integration Builder 3 BarTender Print Portal 3 Other Upgrades 3 64-bit BarTender
COMP5426 Parallel and Distributed Computing. Distributed Systems: Client/Server and Clusters
COMP5426 Parallel and Distributed Computing Distributed Systems: Client/Server and Clusters Client/Server Computing Client Client machines are generally single-user workstations providing a user-friendly
A Comparison of Programming Languages for Graphical User Interface Programming
University of Tennessee, Knoxville Trace: Tennessee Research and Creative Exchange University of Tennessee Honors Thesis Projects University of Tennessee Honors Program 4-2002 A Comparison of Programming
INTERNET PROGRAMMING AND DEVELOPMENT AEC LEA.BN Course Descriptions & Outcome Competency
INTERNET PROGRAMMING AND DEVELOPMENT AEC LEA.BN Course Descriptions & Outcome Competency 1. 420-PA3-AB Introduction to Computers, the Internet, and the Web This course is an introduction to the computer,
Web Design and Implementation for Online Registration at University of Diyala
International Journal of Innovation and Applied Studies ISSN 2028-9324 Vol. 8 No. 1 Sep. 2014, pp. 261-270 2014 Innovative Space of Scientific Research Journals http://www.ijias.issr-journals.org/ Web
Software Requirements Specification For Real Estate Web Site
Software Requirements Specification For Real Estate Web Site Brent Cross 7 February 2011 Page 1 Table of Contents 1. Introduction...3 1.1. Purpose...3 1.2. Scope...3 1.3. Definitions, Acronyms, and Abbreviations...3
Example of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
LetsVi: A Collaborative Video Editing Tool Based on Cloud Storage
LetsVi: A Collaborative Video Editing Tool Based on Cloud Storage Hyeong-Bae An Department of Electrical/Electronic and Computer Engineering, University of Ulsan, Nam-gu, Ulsan, South Korea. E-mail: [email protected]
Selenium WebDriver. Gianluca Carbone. Selenium WebDriver 1
Selenium WebDriver Gianluca Carbone Selenium WebDriver 1 Contents What is Selenium? History WebDriver High-Level Architectures Architectural themes Non Functional quality Layers & Javascript Design issues
1. Overview of the Java Language
1. Overview of the Java Language What Is the Java Technology? Java technology is: A programming language A development environment An application environment A deployment environment It is similar in syntax
AUTOMATED CONFERENCE CD-ROM BUILDER AN OPEN SOURCE APPROACH Stefan Karastanev
International Journal "Information Technologies & Knowledge" Vol.5 / 2011 319 AUTOMATED CONFERENCE CD-ROM BUILDER AN OPEN SOURCE APPROACH Stefan Karastanev Abstract: This paper presents a new approach
Bitrix Site Manager 4.1. User Guide
Bitrix Site Manager 4.1 User Guide 2 Contents REGISTRATION AND AUTHORISATION...3 SITE SECTIONS...5 Creating a section...6 Changing the section properties...8 SITE PAGES...9 Creating a page...10 Editing
Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.
Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures
JavaFX 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
International Journal of Advanced Engineering Research and Science (IJAERS) Vol-2, Issue-11, Nov- 2015] ISSN: 2349-6495
International Journal of Advanced Engineering Research and Science (IJAERS) Vol-2, Issue-11, Nov- 2015] Survey on Automation Testing Tools for Mobile Applications Dr.S.Gunasekaran 1, V. Bargavi 2 1 Department
Efficiency of Web Based SAX XML Distributed Processing
Efficiency of Web Based SAX XML Distributed Processing R. Eggen Computer and Information Sciences Department University of North Florida Jacksonville, FL, USA A. Basic Computer and Information Sciences
The Research and Design of NSL-Oriented Automation Testing Framework
The Research and Design of NSL-Oriented Automation Testing Framework Chongwen Wang School of Software, Beijing Institute of Technology, Beijing, China [email protected] Abstract. By analyzing the Selenium
IBM Rational Web Developer for WebSphere Software Version 6.0
Rapidly build, test and deploy Web, Web services and Java applications with an IDE that is easy to learn and use IBM Rational Web Developer for WebSphere Software Version 6.0 Highlights Accelerate Web,
Rapid GUI Application Development with Python
Rapid GUI Application Development with Python Volker Kuhlmann Kiwi PyCon 2009 Christchurch 7 November 2009 Copyright 2009 by Volker Kuhlmann Released under Creative Commons Attribution Non-commercial Share-alike
GIS Web Services. Acknowledgement: Thanks to Principal & Dr. (Mrs.) G.V. Rao, CRS-GIS, K.J.
GIS Web Services Presented By: Shivani Shukla Acknowledgement: Thanks to Principal & Dr. (Mrs.) G.V. Rao, CRS-GIS, K.J. Somaiya College Of Science & Commerce, Mumbai for the inspiration of poster making.
Team Members: Christopher Copper Philip Eittreim Jeremiah Jekich Andrew Reisdorph. Client: Brian Krzys
Team Members: Christopher Copper Philip Eittreim Jeremiah Jekich Andrew Reisdorph Client: Brian Krzys June 17, 2014 Introduction Newmont Mining is a resource extraction company with a research and development
XBMC Architecture Overview
XBMC Architecture Overview XBMC Media Center Telematics Freedom Foundation - TFF XBMC Media Center is your ultimate multimedia hub. From the stunning interface, down to the helpful and enthusiastic community,
Smartphone as a Remote Control Proxy in Automotive Navigation System
Contemporary Engineering Sciences, Vol. 7, 2014, no. 14, 683-689 HIKARI Ltd, www.m-hikari.com http://dx.doi.org/10.12988/ces.2014.4675 Smartphone as a Remote Control Proxy in Automotive Navigation System
Credits: Some of the slides are based on material adapted from www.telerik.com/documents/telerik_and_ajax.pdf
1 The Web, revisited WEB 2.0 [email protected] Credits: Some of the slides are based on material adapted from www.telerik.com/documents/telerik_and_ajax.pdf 2 The old web: 1994 HTML pages (hyperlinks)
Framework as a master tool in modern web development
Framework as a master tool in modern web development PETR DO, VOJTECH ONDRYHAL Communication and Information Systems Department University of Defence Kounicova 65, Brno, 662 10 CZECH REPUBLIC [email protected],
BarTender Print Portal. Web-based Software for Printing BarTender Documents WHITE PAPER
BarTender Print Portal Web-based Software for Printing BarTender Documents WHITE PAPER Contents Overview 3 Installing Print Portal 4 Configuring Your Installation 4 Supported Printing Technologies 5 Web
Analytics Software for a World of Smart Devices. Find What Matters in the Data from Equipment Systems and Smart Devices
Analytics Software for a World of Smart Devices Find What Matters in the Data from Equipment Systems and Smart Devices The Challenge Turn Data Into Actionable Intelligence SkySpark Analytics Software automatically
PLATFORM. Web Content Management and Digital Marketing for Higher Education. Everything You Need from a Great Enterprise CMS CONTENT MANAGEMENT
Web Content Management and Digital Marketing for Higher Education COMMUNICATION & MARKETING MEASUREMENT & ANALYSIS CONTENT MANAGEMENT PLATFORM INTEGRATION & DEVELOPMENT WEB, MOBILE, & SOCIAL UNIFICATION
CLOUD STORAGE USING HADOOP AND PLAY
27 CLOUD STORAGE USING HADOOP AND PLAY Devateja G 1, Kashyap P V B 2, Suraj C 3, Harshavardhan C 4, Impana Appaji 5 1234 Computer Science & Engineering, Academy for Technical and Management Excellence
Toward a community enhanced programming education
Toward a community enhanced programming education Ryo Suzuki University of Tokyo Tokyo, Japan [email protected] Permission to make digital or hard copies of all or part of this work for
The MaXX Desktop. Workstation Environment. Revised Road Map Version 0.7. for Graphics Professionals
The MaXX Desktop Workstation Environment for Graphics Professionals Revised Road Map Version 0.7 Document History Author Date Version Comments Eric Masson 01/11/2007 0.5 First Draft Eric Masson 18/11/2007
The power of IBM SPSS Statistics and R together
IBM Software Business Analytics SPSS Statistics The power of IBM SPSS Statistics and R together 2 Business Analytics Contents 2 Executive summary 2 Why integrate SPSS Statistics and R? 4 Integrating R
WHITE PAPER. Domo Advanced Architecture
WHITE PAPER Domo Advanced Architecture Overview There are several questions that any architect or technology advisor may ask about a new system during the evaluation process: How will it fit into our organization
Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013
Mobility Introduction Android Duration 16 Working days Start Date 1 st Oct 2013 Day 1 1. Introduction to Mobility 1.1. Mobility Paradigm 1.2. Desktop to Mobile 1.3. Evolution of the Mobile 1.4. Smart phone
Microsoft Dynamics CRM 2013 Applications Introduction Training Material Version 2.0
Microsoft Dynamics CRM 2013 Applications Introduction Training Material Version 2.0 www.firebrandtraining.com Course content Module 0 Course Content and Plan... 4 Objectives... 4 Course Plan... 4 Course
Platform Independent Mobile Application Development
International Journal of Information and Computation Technology. ISSN 0974-2239 Volume 4, Number 5 (2014), pp. 527-532 International Research Publications House http://www. irphouse.com /ijict.htm Platform
How To Retire A Legacy System From Healthcare With A Flatirons Eas Application Retirement Solution
EAS Application Retirement Case Study: Health Insurance Introduction A major health insurance organization contracted with Flatirons Solutions to assist them in retiring a number of aged applications that
Manage Software Development in LabVIEW with Professional Tools
Manage Software Development in LabVIEW with Professional Tools Introduction For many years, National Instruments LabVIEW software has been known as an easy-to-use development tool for building data acquisition
SuperViz: An Interactive Visualization of Super-Peer P2P Network
SuperViz: An Interactive Visualization of Super-Peer P2P Network Anthony (Peiqun) Yu [email protected] Abstract: The Efficient Clustered Super-Peer P2P network is a novel P2P architecture, which overcomes
Extending Desktop Applications to the Web
Extending Desktop Applications to the Web Arno Puder San Francisco State University Computer Science Department 1600 Holloway Avenue San Francisco, CA 94132 [email protected] Abstract. Web applications have
Efficiency Considerations of PERL and Python in Distributed Processing
Efficiency Considerations of PERL and Python in Distributed Processing Roger Eggen (presenter) Computer and Information Sciences University of North Florida Jacksonville, FL 32224 [email protected] 904.620.1326
Getting started 7. Designing interfaces 27
Contents Contents 1 2 3 Getting started 7 Introducing Android 8 Installing Java 10 Installing App Inventor 12 Beginning your first app 14 Adding components 16 Adding behavior 18 Preparing devices 20 Running
WebGL based E-Learning Platform on Computer Graphics
, pp.22-26 http://dx.doi.org/10.14257/astl.2015.103.05 WebGL based E-Learning Platform on Computer Graphics Hae-Gul Pyun, Haeong-A An, Jinho Park, Global School of Media, Soongsil University, Seoul, 156-743,
The EMSX Platform. A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks. A White Paper.
The EMSX Platform A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks A White Paper November 2002 Abstract: The EMSX Platform is a set of components that together provide
TATJA: A Test Automation Tool for Java Applets
TATJA: A Test Automation Tool for Java Applets Matthew Xuereb 19, Sanctuary Street, San Ġwann [email protected] Abstract Although there are some very good tools to test Web Applications, such tools neglect
Going Interactive: Combining Ad-Hoc and Regression Testing
Going Interactive: Combining Ad-Hoc and Regression Testing Michael Kölling 1, Andrew Patterson 2 1 Mærsk Mc-Kinney Møller Institute, University of Southern Denmark, Denmark [email protected] 2 Deakin University,
Visualisation in the Google Cloud
Visualisation in the Google Cloud by Kieran Barker, 1 School of Computing, Faculty of Engineering ABSTRACT Providing software as a service is an emerging trend in the computing world. This paper explores
Software Automated Testing
Software Automated Testing Keyword Data Driven Framework Selenium Robot Best Practices Agenda ² Automation Engineering Introduction ² Keyword Data Driven ² How to build a Test Automa7on Framework ² Selenium
MultiSite Manager. Setup Guide
MultiSite Manager Setup Guide Contents 1. Introduction... 2 How MultiSite Manager works... 2 How MultiSite Manager is implemented... 2 2. MultiSite Manager requirements... 3 Operating System requirements...
2667A - Introduction to Programming
2667A - Introduction to Programming Table of Contents Introduction Audience At Course Completion Prerequisites Microsoft Certified Professional Exams Student Materials Course Outline Introduction Elements
GUI application set up using QT designer. Sana Siddique. Team 5
GUI application set up using QT designer Sana Siddique Team 5 Introduction: A very important part of the Team 5 breakout board project is to develop a user friendly Graphical User Interface that is able
Chapter 10: Multimedia and the Web
Understanding Computers Today and Tomorrow 12 th Edition Chapter 10: Multimedia and the Web Learning Objectives Define Web-based multimedia and list some advantages and disadvantages of using multimedia.
Portfolio of Products. Integrated Engineering Environment. Overview
Portfolio of Products Integrated Engineering Environment Overview Automation Studio is an all-in-one easy-to-use software that provides an open, productive and flexible engineering environment for the
Document management and exchange system supporting education process
Document management and exchange system supporting education process Emil Egredzija, Bozidar Kovacic Information system development department, Information Technology Institute City of Rijeka Korzo 16,
Position Paper: Toward a Mobile Rich Web Application Mobile AJAX and Mobile Web 2.0
Position Paper: Toward a Mobile Rich Web Application Mobile AJAX and Mobile Web 2.0 Jonathan Jeon, [email protected] Senior Member of Research Staff, ETRI Seungyun Lee, [email protected] Research Director
MultiSite Manager. Setup Guide
MultiSite Manager Setup Guide Contents 1. Introduction... 2 How MultiSite Manager works... 2 How MultiSite Manager is implemented... 2 2. MultiSite Manager requirements... 3 Operating System requirements...
GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS
Embedded Systems White Paper GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS September 2009 ABSTRACT Android is an open source platform built by Google that includes an operating system,
End User Guide The guide for email/ftp account owner
End User Guide The guide for email/ftp account owner ServerDirector Version 3.7 Table Of Contents Introduction...1 Logging In...1 Logging Out...3 Installing SSL License...3 System Requirements...4 Navigating...4
CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application
BACKBONE.JS Sencha Touch CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application A RapidValue Solutions Whitepaper Author: Pooja Prasad, Technical Lead, RapidValue Solutions Contents Executive
A Web- based Approach to Music Library Management. Jason Young California Polytechnic State University, San Luis Obispo June 3, 2012
A Web- based Approach to Music Library Management Jason Young California Polytechnic State University, San Luis Obispo June 3, 2012 Abstract This application utilizes modern standards developing in web
Engineering the Ambulant Multimedia Player
Engineering the Ambulant Multimedia Player Jack Jansen SEN5 group CWI 1 Outline of the Talk What is Ambulant? Design Implementation Success stories Lessons learned 2 2 What is Ambulant?
Study on Parallax Scrolling Web Page Conversion Module
Study on Parallax Scrolling Web Page Conversion Module Song-Nian Wang * and Fong-Ming Shyu Department of Multimedia Design, National Taichung University of Science and Technology [email protected], [email protected]
INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET)
INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-6367(Print), ISSN 0976 6367(Print) ISSN 0976 6375(Online)
2. Distributed Handwriting Recognition. Abstract. 1. Introduction
XPEN: An XML Based Format for Distributed Online Handwriting Recognition A.P.Lenaghan, R.R.Malyan, School of Computing and Information Systems, Kingston University, UK {a.lenaghan,r.malyan}@kingston.ac.uk
COMPUTER SCIENCE (5651) Test at a Glance
COMPUTER SCIENCE (5651) Test at a Glance Test Name Computer Science Test Code 5651 Time Number of Questions Test Delivery 3 hours 100 selected-response questions Computer delivered Content Categories Approximate
User Guide FOR TOSHIBA STORAGE PLACE
User Guide FOR TOSHIBA STORAGE PLACE (This page left blank for 2-sided "book" printing.) Table of Contents Overview... 5 System Requirements... 5 Storage Place Interfaces... 5 Getting Started... 6 Using
Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led
Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led Course Description In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5
Installing and Sending with DocuSign for NetSuite v2.2
DocuSign Quick Start Guide Installing and Sending with DocuSign for NetSuite v2.2 This guide provides information on installing and sending documents for signature with DocuSign for NetSuite. It also includes
An introduction to creating JSF applications in Rational Application Developer Version 8.0
An introduction to creating JSF applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Although you can use several Web technologies to create
Microsoft SQL Server versus IBM DB2 Comparison Document (ver 1) A detailed Technical Comparison between Microsoft SQL Server and IBM DB2
Microsoft SQL Server versus IBM DB2 Comparison Document (ver 1) A detailed Technical Comparison between Microsoft SQL Server and IBM DB2 Technical Overview about both the product offerings and their features.
Monitoring Infrastructure (MIS) Software Architecture Document. Version 1.1
Monitoring Infrastructure (MIS) Software Architecture Document Version 1.1 Revision History Date Version Description Author 28-9-2004 1.0 Created Peter Fennema 8-10-2004 1.1 Processed review comments Peter
Software Requirements Specification. Human Resource Management System. Sponsored by Siemens Enterprise Communication. Prepared by InnovaSoft
Software Requirements Specification Human Resource Management System Sponsored by Siemens Enterprise Communication Prepared by InnovaSoft Cansu Hekim - 1630888 Bekir Doğru - 1560085 Zaman Safari - 1572254
Introduction to Service Oriented Architectures (SOA)
Introduction to Service Oriented Architectures (SOA) Responsible Institutions: ETHZ (Concept) ETHZ (Overall) ETHZ (Revision) http://www.eu-orchestra.org - Version from: 26.10.2007 1 Content 1. Introduction
REMOTE DEVELOPMENT OPTION
Leading the Evolution DATA SHEET MICRO FOCUS SERVER EXPRESS TM REMOTE DEVELOPMENT OPTION Executive Overview HIGH PRODUCTIVITY DEVELOPMENT FOR LINUX AND UNIX DEVELOPERS Micro Focus Server Express is the
Digital Marketplace - G-Cloud
Digital Marketplace - G-Cloud SharePoint Services Core offer 22 services in this area: 1. SharePoint Forms SharePoint comes with out-of-the-box web-based forms that allow for data to be captured for your
Syllabus for CS 134 Java Programming
- Java Programming Syllabus Page 1 Syllabus for CS 134 Java Programming Computer Science Course Catalog 2000-2001: This course is an introduction to objectoriented programming using the Java language.
Curl Building RIA Beyond AJAX
Rich Internet Applications for the Enterprise The Web has brought about an unprecedented level of connectivity and has put more data at our fingertips than ever before, transforming how we access information
Firefox for Android. Reviewer s Guide. Contact us: [email protected]
Reviewer s Guide Contact us: [email protected] Table of Contents About Mozilla Firefox 1 Move at the Speed of the Web 2 Get Started 3 Mobile Browsing Upgrade 4 Get Up and Go 6 Customize On the Go 7 Privacy
UNLOCK YOUR IEC 61850 TESTING EXCELLENCE
IMPROVE EFFICIENCY TEST WITH CONFIDENCE OF KNOW-HOW LEARN AND EXPAND YOUR IEC 61850 SKILLS MASTER YOUR NETWORK KNOWLEDGE GENERATE TEST RESULTS UNLOCK YOUR IEC 61850 TESTING EXCELLENCE Connect To & Read
Lab Management, Device Provisioning and Test Automation Software
Lab Management, Device Provisioning and Test Automation Software The TestShell software framework helps telecom service providers, data centers, enterprise IT and equipment manufacturers to optimize lab
Dimension Technology Solutions Team 2
Dimension Technology Solutions Team 2 emesa Web Service Extension and iphone Interface 6 weeks, 3 phases, 2 products, 1 client, design, implement - Presentation Date: Thursday June 18 - Authors: Mark Barkmeier
Workshop on Android and Applications Development
Workshop on Android and Applications Development Duration: 2 Days (8 hrs/day) Introduction: With over one billion devices activated, Android is an exciting space to make apps to help you communicate, organize,
Mobile Game and App Development the Easy Way
Mobile Game and App Development the Easy Way Developed and maintained by Pocketeers Limited (http://www.pocketeers.co.uk). For support please visit http://www.appeasymobile.com This document is protected
MICHIGAN TEST FOR TEACHER CERTIFICATION (MTTC) TEST OBJECTIVES FIELD 050: COMPUTER SCIENCE
MICHIGAN TEST FOR TEACHER CERTIFICATION (MTTC) TEST OBJECTIVES Subarea Educational Computing and Technology Literacy Computer Systems, Data, and Algorithms Program Design and Verification Programming Language
SPPA-T3000 Control System The Benchmark in Controls
Instrumentation, Controls & Electrical SPPA-T3000 Control System The Benchmark in Controls Siemens Power & Process Automation Answers for energy. The benchmark for Distributed Control Systems Developed
System Structures. Services Interface Structure
System Structures Services Interface Structure Operating system services (1) Operating system services (2) Functions that are helpful to the user User interface Command line interpreter Batch interface
Data Driven Automation Testing Framework
International Journal of Emerging Engineering Research and Technology Volume 2, Issue 7, October 2014, PP 51-56 ISSN 2349-4395 (Print) & ISSN 2349-4409 (Online) Data Driven Automation Testing Framework
IFS-8000 V2.0 INFORMATION FUSION SYSTEM
IFS-8000 V2.0 INFORMATION FUSION SYSTEM IFS-8000 V2.0 Overview IFS-8000 v2.0 is a flexible, scalable and modular IT system to support the processes of aggregation of information from intercepts to intelligence
Web Design and Development ACS-1809
Web Design and Development ACS-1809 Chapter 1 9/9/2015 1 Pre-class Housekeeping Course Outline Text book : HTML A beginner s guide, Wendy Willard, 5 th edition Work on HTML files On Windows PCs Tons of
ICE Trade Vault. Public User & Technology Guide June 6, 2014
ICE Trade Vault Public User & Technology Guide June 6, 2014 This material may not be reproduced or redistributed in whole or in part without the express, prior written consent of IntercontinentalExchange,
SeeVogh User Guide. Date: March 26 th, 2012
SeeVogh User Guide Date: March 26 th, 2012 About This Guide This guide provides users an overview of the features found in the SeeVogh PC client software. This guide does not discuss the use of the web
Chapter 13 Computer Programs and Programming Languages. Discovering Computers 2012. Your Interactive Guide to the Digital World
Chapter 13 Computer Programs and Programming Languages Discovering Computers 2012 Your Interactive Guide to the Digital World Objectives Overview Differentiate between machine and assembly languages Identify
Sendspace Wizard Desktop Tool Step-By-Step Guide
Sendspace Wizard Desktop Tool Step-By-Step Guide Copyright 2007 by sendspace.com This publication is designed to provide accurate and authoritative information for users of sendspace, the easy big file
Heterogeneous Tools for Heterogeneous Network Management with WBEM
Heterogeneous Tools for Heterogeneous Network Management with WBEM Kenneth Carey & Fergus O Reilly Adaptive Wireless Systems Group Department of Electronic Engineering Cork Institute of Technology, Cork,
Automation using Selenium
Table of Contents 1. A view on Automation Testing... 3 2. Automation Testing Tools... 3 2.1 Licensed Tools... 3 2.1.1 Market Growth & Productivity... 4 2.1.2 Current Scenario... 4 2.2 Open Source Tools...
Cross Platform Applications with IBM Worklight
IJCSNS International Journal of Computer Science and Network Security, VOL.15 No.11, November 2015 101 Cross Platform Applications with IBM Worklight P.S.S.Vara Prasad and Mrs.S.Durga Devi Dept. of IT
