TL;DR: An interface between SimPackJ/S and the 3D language--Virtual Reality Modeling Language (VRML) is explained and translation rules for converting C to JavaScript and Java are proposed.
Abstract: SimPackJ/S is the JavaScript and Java version of SimPack, which means SimPackJ/S is a collection of JavaScript and Java libraries and executable programs for computer simulations. The main purpose of creating SimPackJ/S is that we allow existing SimPack users to expand simulation areas and provide future users with a freeware simulation toolkit to simulate and model a system in web environments. One of the goals for this paper is to introduce SimPackJ/S. The other goal is to propose translation rules for converting C to JavaScript and Java. Most parts demonstrate the translation rules with examples. In addition, we discuss a 3D dynamic system model and overview an approach to 3D dynamic systems using SimPackJ/S. We explain an interface between SimPackJ/S and the 3D language--Virtual Reality Modeling Language (VRML). This paper documents how to translate C to JavaScript and Java and how to utilize SimPackJ/S within a 3D web environment.
TL;DR: A client-side framework for enhancing the functionality of web browsers is presented in this paper, which provides object-oriented features and enables cross-window and cross-frame communications, as well as cross-view and crossframe communications.
Abstract: A client-side framework for enhancing the functionality of web browsers. The client-side framework enhancing a client-side scripting language, such as JavaScript, so that it provides object-oriented features and enabling cross-window and cross-frame communications.
TL;DR: This book focuses on the most useful and applicable scripts for making truly interactive, engaging Web sites, and features a CD-ROM and Web site that provide fast access to some of the author's most useful functions and scripts.
Abstract: This isn't a hard-core programming book; it isn't geared toward someone who has a computer science degree from MIT and five years experience of programming in C++. This is the JavaScript book for the rest of us. Written by the author of the "JavaScript Tip of the Week" Web site, this book focuses on the most useful and applicable scripts for making truly interactive, engaging Web sites (and it doesn't proclaim to be the definitive all-knowing JavaScript guide). You'll not only have quick access to the scripts you need, you'll finally understand why the scripts work, how to alter the scripts to get the effects you want, and, ultimately, how to write your own groundbreaking scripts from scratch. Through his popular Web site, Nick Heinle has been showing Web designers and other nonprogrammers how to create the scripts they need. In fact, he wrote much of the JavaScript used on the Web today. This book is the culmination of his work. His explanations are clear, detailed, and accessible; everything - every script, every concept, every line - is explained so that "the rest of us" will understand. Designing with JavaScript covers many of the powerful capabilities that JavaScript is given with Dynamic HTML, in a few chapters covering important aspects of implementing Microsoft Internet Explorer 4.0 as well as Netscape Navgigator 4.0. You'll learn how to create pages on the fly, how to identify users' browsers, how to create "rollover" effects with sound, graphics, and animation, and more. It also features a CD-ROM and Web site that provide fast access to some of the author's most useful functions and scripts, making it easy to find the code you need and to build your own custom scripts.
TL;DR: Inside JavaSript fills a void between the very beginning and high level books available in bookstores today, and is a book readers want primarily for two reasons: re-usable code and up-to-date browser information.
Abstract: From the Publisher:
The only comprehensive book available that covers the latest technology, such as Internet Explorer 6 and JavaScript 1.5, and JScript 5.6. Packed full of hands-on examples, this book integrates JavaScript with .NET, XML, XSLT, Java, CSS, HTML, Cookies, Security, and much more. Written for beginning to intermediate readers looking to learn how to work with JavaScript and how best to use it with other web technologies. Inside JavaSript fills a void between the very beginning and high level books available in bookstores today. It's a book readers want primarily for two reasons: re-usable code and up-to-date browser information. Books currently out on the shelf are not up to the latest in browser technology; thus, frustrating readers because everything done in JavaScript is dependent on browser capabilities. The web site will contain all the source code used in the book.
TL;DR: It is shown that JavaScript's prototype-based mechanisms provide the four essential components of the object-oriented paradigm: abstraction, encapsulation, modularity, and hierarchy.
Abstract: In this paper we consider using the popular scripting language JavaScript / ECMAScript to teach object-based and object-oriented programming to beginning or novice programmers. We explore JavaScript's use of constructors and prototypes as an alternative to class-definition based systems. We show that JavaScript's prototype-based mechanisms provide the four essential components of the object-oriented paradigm: abstraction, encapsulation, modularity, and hierarchy.We provide examples which conform to the ECMAScript standard, and which have been implemented and tested using the JavaScript interpreter incorporated into Netscape Communicator 4.7.
TL;DR: Learn JavaScript In a Weekend, 2nd Edition is the ultimate guide to integrating JavaScript into Web pages with step-by-step instructions to effectively use JavaScript, the most popular scripting language used for Web development today.
Abstract: Learn JavaScript In a Weekend, 2nd Edition is the ultimate guide to integrating JavaScript into Web pages. With step-by-step instructions, readers will learn how to effectively use JavaScript, the most popular scripting language used for Web development today. Setting itself apart from competitors, this is the only beginner-level book to cover both JavaScript and Jscript. The author includes an introduction to computer and network automation using JScript. To enforce the material covered throughout the book, there are a number of new scripts introduced and available for download on the book's companion Web site. Features Covers the most current versions of JavaScript (Version 1.5) and JScript (Version 5.6). Much of the competition still focuses on previous versions of these languages. Incorporates the latest versions of Netscape and Internet Explorer while much of the competition still focuses on previous versions of these browsers. The author differentiates the book from its competition by also covering JScript and its role as a WSH scripting language. JavaScript will entail about 70% of the book, while about 30% will be dedicated to JScript. A JavaScript programming primer for beginning programmers and Web page developers will also be included.
TL;DR: This book provides you with everything you need to begin programming with JavaScript, including a detailed introduction to the basics of the language and shows you how to progress from developing basic applications with JavaScript to more advanced ones using browser objects, cookies, plugins, layers, and server-side scripting.
Abstract: From the Publisher:
In order to create highly dynamic and interactive Web sites, more and more companies are hiring experts to incorporate scripting languages. JavaScript is one such language that while easy to master, enables you to add new life to the Web. This book provides you with everything you need to begin programming with JavaScript. Bhasin first presents a detailed introduction to the basics of the language, covering concepts such as data types, literals, expressions, and operators. She then shows you how to progress from developing basic applications with JavaScript to more advanced ones using browser objects, cookies, plugins, layers, and server-side scripting. Throughout each chapter, Bhasin includes extensive real-world exercises and case studies that will help you gain valuable exposure to procedures you can use to design your own Web sites.
TL;DR: Programming the Web Using XHTML and JavaScript by Lagerstrom fits in introductory Web-Authoring courses in the community college, university extension or technical schools, or in Web-Scripting courses found in computer science departments.
Abstract: Programming the Web Using XHTML and JavaScript by Lagerstrom fits in introductory Web-Authoring courses in the community college, university extension or technical schools, or in Web-Scripting courses found in computer science departments. It requires no prior knowledge of HTML or programming. This book was written to offer a straightforward introduction to programming. Programming the Web Using XHTML and JavaScript starts out with an explanation of HTML and then gently guides the student into learning how to create web pages that actually respond to and interact with the web browser through JavaScript. To accomplish the patient ease of learning, Dr. Lagerstrom created various types of end of chapter material, which reinforce what has been learned via lab exercises, de-bugging problems and objective questions. Pedagogical features such as icons are located in the margins to alert students of potential trouble areas and advice.
Table of contents
Chapter 1 – Introduction to the InternetChapter 2– Creating a Basic Web Page Chapter 3– Cascading Style SheetsChapter 4– Attributes, Lists and TablesChapter 5 – Images, Links and MultimediaChapter 6– Web Page Design and LayoutChapter 7– Introduction to Programming and JavaScriptChapter 8– Objects and VariablesChapter 9– Functions and ParametersChapter 10 – Forms and Interactive ServerChapter 11 – Performing CalculationsChapter 12 – Increasing the InteractivityChapter 13 – Putting It All Together: Online Quizzes and Slide ShowsChapter 14- Loops and ArraysChapter 15 – Strings, Dates and CookiesChapter 16 – Custom Objects: Creating and Searching a DatabaseChapter 17 – JavaScript with Frames and WindowsAppendicesA. Sitebuilding ExercisesB. HTML and XHTML ElementsC. Converting HTML into XHTMLD. Basic Style and Properties and ValuesE. Color and Character CodesF. JavaScript Versions, Objects and Reserved WordsG. Common HTML and JavaScript ErrorsH. Publishing a Web Page on the InternetI. Tools and Resources
TL;DR: This paper deals with techniques for reducing the amount of work that needs to be redone each semester when one prepares an existing course Web site for a new class, and explores both clientand server-side techniques.
Abstract: This paper deals with techniques for reducing the amount of work that needs to be redone each semester when one prepares an existing course Web site for a new class. The key concept is algorithmic generation of common page elements while still allowing full control over page content via WYSIWYG tools like Microsoft FrontPage and Macromedia Dreamweaver. The paper explores both clientand server-side techniques and discusses their advantages and disadvantages. The most advanced techniques are those that encode control information in XML rather than HTML or JavaScript and apply that information on the server side using XSL and JavaServer Pages. The paper also touches on course organization techniques that might involve students in the creation and maintenance of course Web sites, thereby fostering more studentcentered learning. This paper was presented on October 18, 2002, as an invited address at the E-Learn 2002 Conference in Montreal, Canada, sponsored by the Association for the Advancement of Computing in Education. 1 It’sa Lotta Work! Numerous student and faculty surveys have shown that parties on both sides of the podium consistently laud the instructional benefits of course Web sites. For example, when 62 students in a Web site-supported course were asked to react to the statement “I wish other professors maintained course Web sites like this one,” 82.3% “strongly agreed” and another 16.1% “agreed” (Heines 2000). On the faculty side, 68.0% of the 25 respondents to a survey on course Web site development who did not have a course Web site (out of 150 total responses) indicated that they would like to have one (Grankovska & Heines 2003). Gehringer (2002) found that while only 7.6% of 250 survey respondents reported that their universities have a policy on making course materials publicly available on the Web, 85.2% at least posted their syllabi, 68.8% posted their assignments, and 53.2% posted their lecture notes. There is also ample evidence that the amount of work it takes to post material on the Web is considerable. David Jordan (1997) estimated that “creating and maintaining the site roughly doubles the work involved in teaching the course.” Even with the availability of commercial tools, 81.3% of the 150 professors who responded to the Grankovska and Heines survey (2003) cited time as the most “serious obstacle to making their course Web site everything they want it to be” or the most “significant part of the reason why they did not have a course Web site.” Even with commercial tools – general-purpose as well as those designed for instructional use – course Web site development is time-consuming at best and daunting at worst. But as difficult as creating a rich course Web site may be, maintaining it – keeping its content and links current and updating the site when the course is revised – is even more arduous. Even for those of us who are highly dedicated and have the best of intentions, the amount of work that seems to need to be redone each semester is so frustrating that we often give up and leave things the way they were. The focus of this research is therefore to explore techniques for reducing the amount of work needed not only to create course Web sites, but to maintain them as well. 2 Moving to Data-Driven Course Web Sites There are two basic ways to build most computer applications. First, you can embed data within program code, a technique referred to as “hard-coding.” On a Web site, this is analogous to creating pages in HTML, either directly Creating and Maintaining Data-Driven Course Web Sites Heines – 2 – using a text editor and entering HTML tags and attributes yourself, or indirectly using a WYSIWYG editor like Microsoft FrontPage or Macromedia Dreamweaver that creates those tags and attributes for you. Pages can be built from templates to achieve consistency in their look and feel, but, for the most part, once a hard-coded page is created it remains independent of all other pages on the site. The second approach is to separate content data from code logic and thereby make the application “data driven.” On a Web site, this is analogous to creating pages where what is displayed is stored in some sort of data file, while how that content is displayed is controlled by some sort of scripting technique such as JavaScript on the client side or JavaServer Pages on the server side. Overall look-and-feel or deployment of a new feature across the entire site can then be modified or added by manipulating a small set of control files. Data-driven techniques are used by virtually all commercial course Web site “engines” such as Blackboard (www.blackboard.com), WebCT (www.webct.com), and IntraLearn (www.intralearn.com). Such tools are excellent for courses that fit their models and instructors who are satisfied with their facilities, but it is typically difficult to break out of their paradigms to add new course models or interaction capabilities. While this restriction is frustrating to experienced Web developers, the data-driven characteristics of these engines use techniques that all serious developers embrace. Consider, for example, the elements in the typical lecture notes posting for shown in Figure 1. Focusing solely on the notes themselves inside the navigation frames, you can see that there are numerous common elements here that will be formatted identically on all lecture notes pages: the course number, class number, and date in the header, as well as the eight control buttons to the right of the “Handouts and Materials” heading. From left to right, the four arrow buttons jump to the first, previous, next, and last posted lecture notes. Likewise, the four control buttons jump to the course home page, print and reload the current frame, and remove (or restore) the navigation frames. It is probably obvious that you wouldn’t want to include the code needed for each of these elements on every lecture notes page. It is more subtle, however, to appreciate that the “previous” and “next” page is different for every page and therefore requires that link to be generated algorithmically rather than hard-coded. If you have the dates of each class stored in some sort of data structure, you can not only write code to format the header information consistently across all similar pages, but you can also automatically generate the links from one page to the next. 3 Using JavaScript on the Client Side There are two basic choices for implementing data-driven course Web sites on the client side: Java applets and Dynamic HTML. The use of Java applets and similar plugins (like Macromedia Flash) involves a dramatic shift away from the basic programming paradigm based on HTML that is used in most WYSIWYG editors. This is not inherently bad, and many would argue that it’s high time we retired HTML anyway. However, use of Java applets obviously requires knowledge of those languages and their facilities that is considerably beyond the scope of this paper. Dynamic HTML, on the other hand, is easily integrated into standard Web pages in the form of JavaScript or VBScript. There is no need to throw away HTML that you’ve already generated. Instead, you can simply augment it by inserting scripting code into the same file. VBScript is a Microsoft product and is more closely integrated with Internet Explorer than JavaScript (or even Jscript, Microsoft’s version of JavaScript), but I prefer to work in JavaScript because it is more universal. There are differences in the way JavaScript works on the major browsers, but those differences tend to be small and easy to rectify. The common elements in Figure 1 pointed out in the previous paragraph are all implemented on my Web site using JavaScript. I use a couple of simple conventions to make the job easier, which help me organize the site as well as make it data driven. First, I name all related files sequentially, like class01.htm, class 02.htm, etc. Thus the file name indicates which class it is, and I can move content between files at will without affecting the links between them. (I do this all the time, because no class ever goes exactly as planned.) This simple convention makes it possible to determine the class number dynamically using the JavaScript code shown in Listing 1. When this code is included in an HTML page – or, as I implement it, in a common file that is included via a link in almost every HTML page on my site – it sets variables that can be used to generate the page header and to control navigation between related pages “on the fly.” For example, the page shown in Figure 1 has a URL of http://www.cs.uml.edu/~heines/ 91.353/91.353-2001-02s/353-lecs/class09.htm. Executing the routine in Listing 1 from this page sets variable intClassNo to 9 and strPrefix to “class.” Next, I use a simple JavaScript array data structure to hold the dates of all classes. The second convention involves the format in which those dates are stored: YYYYMM-DD, known as “ISO 8601” format because it is an official standard of the International Organization for Standardization. The advantage of ISO 8601 over the more common M/D/YY format used in the United States is not only that it is Y2K compliant, but, more important, that it allows dates to be sorted alphanumerically. Thus my array looks like this: // class days for the Spring 2002 semester var arrClassDate = new Array( "2002-01-23" , // 1 "2002-01-30" , // 2 "2002-02-06" , // 3
TL;DR: The JavaScript Pocket Reference, 2nd Edition provides a complete overview of the core JavaScript language and Client-side scripting environment, as well as quick-reference material on core and client-side objects, methods, and properties.
Abstract: The JavaScript Pocket Reference, 2nd Edition provides a complete overview of the core JavaScript language and client-side scripting environment, as well as quick-reference material on core and client-side objects, methods, and properties. The new edition has been revised to cover JavaScript 1.5, and is particularly useful for developers working with the latest standards-compliant web browsers, such as Internet Explorer 6, Netscape 7, and Mozilla.