JUNIOR R FKE PO ORTAL U USING JA AVA APP PLETS AS S INTERA ACTIVE TOOLS 2009/2010 K KERK SE ENG CHU UON √ √ MTK 215 ,JL LN BKT KA ANGKAR SG MATI,844400 MUAR JOHOR PM HA ARUN BIN N ISMAIL “I declare that I have read this work and in my opinion this work is adequate in terms of scope and quality for purpose of awarding a Bachelor’s Degree of Electrical Engineering (Electronics)” Signature: .................................................... Name: PM HARUN BIN ISMAIL Date: .................................................... JUNIOR FKE PORTAL USING JAVA APPLETS AS INTERACTIVE TOOLS KERK SENG CHUON Submitted to the Faculty of Electrical Engineering In partial fulfilment of the requirement for the degree of Bachelor of Electrical Engineering (Electronic) Faculty of Electrical Engineering Universiti Teknologi Malaysia APRIL 2010 ii I declare that this thesis entitled “Junior FKE Portal using JAVA Applets as interactive tools” is the result of my own research except as cited in the references. The thesis has not been accepted for any degree and is not concurrently submitted in candidature of any other degree. Signature : .................................................... Name : KERK SENG CHUON Date : ................................................... iii Dedicated, in thankful appreciation for support, encouragement and understanding to my beloved mother, father, and sisters. iv ACKNOWLEDGEMENT First of all, it is indeed a great pleasure for me to take the opportunity here to acknowledge several people and express my sincere thanks for their assistance given to me to make this thesis possible. To PM Harun Bin Ismail, my supervisor, I would like to express my deepest gratitude for giving me the opportunity to work with him in a conducive environment. I have learnt and gained much from him, not only the insights in the field of my project but also his invaluable guidance, support and the philosophies of life throughout his mentoring. His words of wisdom will always be kept close to my heart. My appreciation also goes to my family who has been so supportive mentally and financially throughout this project also providing me the opportunity to study in UTM Skudai and provide support in terms of spirit and financial. I would not been able to further my studies to this level without them. Their love and endless motivation have certainly spurred me to scale to greater level of achievements. Last but not least I would like to thank all members of Electrical Engineering Faculty for providing this course and giving this golden chance to take an in depth knowledge on embedded system. v ABSTRACT We could deserve a rapid emergence and broad acceptance of the Internet as a global medium for disseminating and processing information for the last year .It is accessible in multiple formats (multimedia) and at extremely fast speeds (hypermedia). This helps to open new vistas in education by taking full advantage of our basic "senses" of learning such as visualizing 3D objects and others. We could also see the inception and development of Java as a powerful programming language from SUN Microsystems. This project mainly concern on designing an educational dynamic website that is providing educational information, learning material and interaction for prospective student at all educational level (Form 5, Form6 / Matriculation), who intend to further their studies to FKE(Faculty of Electrical Engineering, UTM). In order to make sure those students truly comprehend website’s content and feel pleasure throughout the surfing, the website implements Java Applet plug-ins that require Java enabled browser and browser that is installed with Java Runtime Environment software. Besides, if student are facing any difficulty during learning process in this website, they can ask for assistance from moderator via Live Chat service or leave their comments on dashboard for public view. This portal provides topics in particular Physic subjects which are considered as entry level requirement to FKE, and a selection of FKE subjects. vi ABSTRAK Sejak beberapa tahun ini, internet muncul dan diterima sebagai media global untuk pengedaran dan pemproses maklumat yang boleh dicapai dalam perbagai format (multimedia) dan berfungsi pada kelajuan yang sangat tinggi (hipermedia). Hal ini telah membuka pandangan baru dalam pendidikan dengan mengambil initiatif penuh dalam dasar pemahaman pelajar seperti memvisualisasikan objek 3D dan lain-lain.Sejak kebelakangan ini,kita juga dapat melihat pembangunan tecknologi Java sebagai sejenis bahasa pengaturcaraan yang sangat berkemampuan daripada SUN Microsystems.Projek ini dilaksanakan dengan memberikan lebih tumpuan terhadap perekaan sebuah laman web dinamik berdasarkan pendidikan dengan menyediakan maklumat pendidikan,isi kandungan untuk pembelajaran yang berinteraksi dengan semua pelajar untuk semua tahap pendidikan (Tingkatan 5, Tingkatan 6 / Matrikulasi),lebih-lebih lagi kepada pelajar yang ingin melanjutkan pengajian mereka di FKE. Untuk memastikan bahawa semua pelajar berkenaan benar-benar memahami isi kandungan laman web yang disediakan serta membuatkan diri lebih menikmati suasana pembelajaran sepanjang masa, laman web ini menggunakan Java Applet yang memerlukan pelayar(browser) yang dapat mempamerkan isi kandungan Java Applet atau pelayar yang dilengkapi perisian Java Runtime Environment. Selain itu, jika pelajar menghadapi sebarang kesulitan semasa dalam proses pembelajaran di laman web tersebut, mereka boleh meminta bantuan dari penyelaras(moderator) melalui perkhidmatan Live Chat atau tinggalkan pesanan pada paparan dashboard untuk tujuan umum. Portal ini menyediakan beberapa topik mata pelajaran Fizik yang menjadi teras kepada semua subjek elektrikal dalam FKE, dan juga beberapa subjek elektrikal pilihan daripada FKE. vii TABLE OF CONTENT CHAPTER 1 2 TITLE PAGE DECLARATION OF THESIS ii DEDICATION iii ACKNOWLEDGEMENT iv ABSTRACT v ABSTRAK vi TABLE OF CONTENT vii LIST OF TABLES xi LIST OF FIGURES xii LIST OF ABBREVIATION xiv LIST OF APPENDICES xv INTRODUCTION 1.1 Background 1 1.2 Objectives 3 1.3 Problem Statement 3 1.4 Scope of Works 4 1.5 Outline of Thesis 4 LITERATURE REVIEW 2.1 Introduction 5 2.2 Java applet features and educational 5 settings for Java applets viii 2.3 Similarities and differences between 6 Flash and Java 2.4 Limitations of current educational practices 8 2.4.1 Open Classroom 8 2.4.2 Nature of Information. 8 2.4.3 Classroom Demonstrations 9 and Connections 2.4.3.1 Teacher's Viewpoint 9 2.4.3.2 Learner’s Viewpoint 10 2.4.4 Assessment 10 2.4.5 Cost 10 2.4.6 Transferability and Adaptability 11 2.5 Applications of Java Applets 11 2.5.1 Informational Applets 11 2.5.2 Concept Illustrating Applets 12 2.5.3 Computational Applets 12 2.5.4 Assessment Applets 12 2.6 Java applet related report from conference 2.6.1 Interactive JAVA Applets for 12 13 Power Electronics E-Learning 2.6.1.1 Applets Development Process 13 2.6.1.2 Development Stages of an Applet 14 2.6.1.3 Graphical Design (GUI of applet) 15 2.6.2 Interactive Power Electronics Seminar (iPES)16 2.6.2.1 Contents of iPES 16 2.6.2.2 Example: Rotating Magnetic Field 17 ix 3 RESEARCH METHODOLOGY 3.1 Methodology 18 3.2 Java applet embedding development 19 3.2.1 Java Language and GUI 20 3.2.2 Applets and HTML 21 3.2.3 HTML Java-Specific Tags 22 3.2.3.1 APPLET 22 3.2.3.2 CODEBASE 23 3.2.3.3 CODE 23 3.2.3.4 WIDTH 23 3.2.3.5 HEIGHT 23 3.2.3.6 ARCHIVE 24 3.2.4 Specifying the Applet Directory 24 (For embedding process) 3.3 Dynamic Element development using Java script 28 3.3.1 Structure of Java script 29 3.3.2 Java script Libraries 29 3.3.3 JQuery Library 30 3.4 Learning Material (Java applet and notes) 4 31 RESULT AND DISCUSSION 4.1 Real Time Results 33 4.1.1 Homepage 34 4.1.2 Selection Page 37 4.1.3 Topic page 38 x 5 CONCLUSION 5.1 Concluding Remarks 40 5.2 Future Recommendations 41 REFERENCES 42 APPENDICES 43 xi LIST OF TABLES TABLE 2.1 TITLE Similarities and differences between Flash and Java PAGE 7 xii LIST OF FIGURES FIGURE TITLE PAGE 2.1 Mathematical Modeling 14 2.2 M-Model Transformed into JAVA 14 2.3 Development Stages of an Applet 15 2.4 Layout of GUI 16 2.5 Rotating magnetic field applet 17 3.1 Overall Workflow 19 3.2 Web page with referencing Java .class file 21 3.3 The location of class file using CODEBASE attribute in the same web-server 25 The location of class file using CODEBASE attribute at different web-server. 25 3.5a The APPLET tag source code for Rain Fall 26 3.5b Rain Fall applets and its GUI 26 3.6a The APPLET tag source code for Transformer applets 26 3.6b Transformer applets (Upper side) with its GUI 27 3.7a The APPLET tag source code for Dependence Source applets 27 3.7b Dependence Source applets (Upper side) with its GUI 27 3.8 Layout of Anything-Slider illustrated in Resistor topic 31 3.9 Layout of Dynamic Drive Drop-Drop panel illustrated in homepages 31 3.4 xiii 3.10 Layout of Wibiya© Toolbar illustrated in Resistor topic 32 4.1 Pages flow diagram 33 4.2 Upper side of JuniorFKE Home pages 34 4.3 Layout of Dynamic Drive Drop Down panel 35 4.4 Coda Slider with titles that embedded in Middle part of homepage 36 Wibiya© toolbar with Twitter© Dashboard appear on it in the bottom part of home page in Junior FKE Portal 36 Selection page using Slick Map CSS to distribute all topics according to educational level 37 Upper part of Topic page with Anything-Slider for learning material enclosing 38 Lower part of Topic page with embedded Java applet from third party website related to particular Topic page 39 4.5 4.6 4.7 4.8 xiv LIST OF ABBREVIATIONS 3D - 3 Dimension HTML - Hyper Text Mark-up Language DHTML - Dynamic Hyper Text Mark-up Language WWW - World Wide Web GUI - Graphical User Interface MATLAB - Matrix Laboratory DC - Direct Current AC - Alternating Current PARAM - Parameter URL - Universal Resource Locator HTTP - Hypertext Transfer Protocol CSS - Cascading Style Sheets GIF - Graphics Interchange Format JPEG - Joint Photographic Experts Group XHTML - Extensible Hypertext Markup Language XML - Extensible Markup Language DOM - Document Object Model PHP - Hypertext Preprocessor ASP - Active Server Pages JSP - Java Server Pages STPM - Sijil Tinggi Persekolahan Malaysia SPM - Sijil Pelajaran Malaysia xv LIST OF APPENDICES APPENDIX TITLE A Source Code for JavaScript libraries user interface component B List of applets and List of internet reference according to topic PAGE 43 49 CHAPTER 1 INTRODUCTION 1.1 Background People and organizations use the World Wide Web (WWW) to communicate globally and instantly. Combined with multimedia, the resulting webs of hypermedia have opened new possibilities for expression and communication. But something has been missing from the Web since its introduction to the world in the early 1990s. Although the amount of Web data traffic and the number of computers offering information on the Web has risen dramatically, the content of the pages has lacked important expressive and interactive qualities. So although the Web fostered world-wide interconnections among people and information, it has only enabled people to observe: read text, watch videos, listen to music, and explore information. The unbounded universe of possibilities on the Web may lead some users to feel that the hyperlinks just keep leading them on, until ultimately, the Web seems just a road to nowhere. Java changes all this. Java makes destinations possible for Web users. Java enables developers to create content that can be delivered to and run by users on their computers. This software can support anything that programmers can dream up: spreadsheets, tutorials, animations, and interactive games. With the Web page as the delivery platform, this software can support a variety of information tasks with true interactivity; users can get continuous, instantaneous feedback for applications in visualization, animation and computation. Users of the Web in the dawning Java age may indeed find a there on the Web: a place to play, work, or learn. 2 There are two kinds of Java-programs: applets and applications. Applets are programs which run embedded in a WWW-side. To run them one needs a Javacapable Web-browser. Applications are independent (stand alone) programs just as programs written in other computer languages. To run them a byte-code interpreter (Java) is needed. Java connects with HTML and the Web through a special HTML tag called APPLET, which allows developers to include special Java programs called applets on Web pages. These applets are essentially software programs that the user's browser downloads (automatically, as part of Web page observation) and executes. With graphical input and output possible through the applet on the page, Java thus opens windows to into richer levels of interactivity on the Web. Dynamic HTML, or DHTML, is an umbrella term for a collection of technologies used together to create interactive and animated web sites by using a combination of a static mark-up language (such as HTML), a client-side scripting language (such as JavaScript), a presentation definition language (such as CSS), and the Document Object Model. DHTML allows scripting languages to change variables in a web page's definition language, which in turn affects the look and function of otherwise "static" HTML page content, after the page has been fully loaded and during the viewing process. Thus the dynamic characteristic of DHTML is the way it functions while a page is viewed, not in its ability to generate a unique page with each page load. 3 1.2 Objectives The objective of this project is to design an educational dynamic portal which is: 1. Design for secondary and tertiary educational level of student. 2. Provide particular topic in Physic subjects and a selection of FKE subjects for continuity learning. 3. To enhance student learning’s experience, Java applets as highly interactive tools are employed in portal. 4. A platform for student to ask for assistance via live chat service (solve by moderator) or leave comments on dashboard for public view (solve by moderator and student). 5. A community site for students to share some ideas in term of daily life experience and others via message board. 6. Encourage asynchronous distance learning and thus help overcome the limitations (involving both time and space) inherent in traditional instructional techniques. 1.3 Problem Statement Due to the disparity and lack of continuity at various level in the Malaysia Educational system, teacher only carry out their customary duty of teaching where the students are required to learn and obtain good result. Teachers are not clear (forget) of what is the main purpose/aims of learning and how important are its implication or impact on various subject. At tertiary level, many 1st year students cannot achieve good result because of the reason stated above, and also because of different learning environment compared to school. Most of them entering tertiary level are not mentally prepared, mainly because their expectations are the same as what were previously familiar to them. 4 Hence, this portal will provide some contribution and at the same time narrow the gap of apparent disparity. 1.4 Scope of Works Portal design (all pages layout), page’s content (learning materials for particular topic in Physic and selection of FKE subjects) and Java applets embedded process are done by using Coffee Cup HTML Editor. For this portal, more than 20 java applets are embedded into it for demonstration on some electrical theories and application from particular topics in Physic and selection of FKE subject. 1.5 Outline of Thesis This thesis consists five chapters. Chapter 1 includes objective, problem statement, and scope of this project. While Chapter 2 will discuss more on theory and literature reviews that have been done. In Chapter 3, the discussion will be on the methodology and software implementation of this project. The result and discussion will be presented in Chapter 4. Finally, Chapter 5 discusses the conclusion of this project and future work that can be done. 6 CHAPTER 2 LITERATRURE REVIEW 2.1 Introduction This chapter reviews the Java applet’s features and educational settings for Java applets in this project, similarities and differences between Flash and Java, current educational practices, applications of Java applets and also some example of Java applet related technical report. 2.2 Java applet features and educational settings for Java applets Java applet is an application designed to be transmitted over the Internet and executed by java compatible web browser. An applet is actually a tiny Java program, dynamically downloaded across the Internet just like an image or sound clip. The important difference is that applet is an intelligent program. It can react to user input and change dynamically. Most important feature of applet is security. Java creates a ‘firewall’ between the networked application and computer and thus confines the program to Java environment not allowing it to access other parts of the computer. Some more distinct advantages of Applets are: 1. Multimedia can be incorporated in Applets 2. Applets can provide better user interaction 3. Applets are platform independent and portable 4. Applets support distributed and Network computing 6 5. Main program + Graphics + User interface are all embedded in unified environment 6. Java-compliant WWW browsers as well as Java compiler. Java applets can be classified as follows for educational settings: 1. Informational applets: Minimal user interactivity. Similar to HELP files 2.Concept illustrating applets: Maximum interactivity. User learns the concept by exploring the applet. 3. Computational applets: Good user interactivity. Examples, Illustrations, Visualization 4. Assessment applets: Less interactivity. Quiz, multiple choice questions. To use applets in website or classroom, we have two options: In-house development of applets and usage of pre-existing applets. It is difficult to develop applets particularly for those having little or no prior programming experience. Hence inhouse development of applets by lecturer or webmaster may not be feasible (although Java compiler and run time environment are free).Java applets for education are available for free on the web. But these have to be searched for, tested and adapted for portal or classroom use. 2.3 Similarities and differences between Flash and Java So why is Java not as popular in education field as it was about two years back? Has Flash overtaken Java? What are the similarities and differences between Flash and Java? Can use Flash for everything that can be accomplished with Java? Let discuss some of these questions here. Java is a full blown programming language whereas Flash is mainly animation tool (although it is equipped with Action Script it is mainly for Front End design Both support multimedia and both were created to operate on the Internet. Table 2.1 shows a list of comparison between Java applet and Flash plug-in. 7 Java Flash Allowing for or adaptable to change. Neither allowing nor adaptable to change. Inefficient use of graphic element (eg bitmaps). Supports a wide range of graphic elements (gif) and features (opacity). No visual environment for design. Visual coding environment. Complex computations easier in Java. Complex computations complex logic difficult implement. Scalable to any processor driven platforms (computers, cell phones, smart cards etc). Not scalable. or to Developing software is available for free. Developing software has to be purchased from Macromedia. Slow download time. Fast download time. Table 2.1 Similarities and differences between Flash and Java In reality Flash can not replace Java because Java is a programming language with very high capabilities. But in the field of education where most of the applications do not require complex computing but high quality graphics and faster download rates, Flash seems to have overtaken Java. Most obvious reason for this is the ease of use. With the visual developing environment of Flash it is easy to create simple animations quickly which is not so easy with Java. But Java provides more user interactivity, more dynamism, database connectivity, memory management, garbage collection, reusability and free open ended use because of which Java has maintained its own place. 8 2.4 Limitations of current educational practices There are various inherent limitations in the current practices of teaching and learning. Some of these problems can be solved to a large extent via integration of Java applets. These aspects can be outlined as follows. 2.4.1 Open Classroom The use of Java applets can encourage asynchronous distance learning and thus help overcome the limitations (involving both time and space) inherent in traditional instructional techniques. Instruction is asynchronous when it does not constrain the student to involvement in the learning process at a specific time, for example, when lectures are presented at a fixed time of the day. Instruction is distant when it does not constrain the student to be physically present in a specific location, for example, when lectures are presented only in a fixed classroom [1]. Using the internet, teachers and students can access information any time and anywhere. In the present educational system, teaching hours (including the instructor's office hours) are often insufficient for students. Now that many students have access to the internet, such facility can be very timely and convenient for students who wish to study the course material from home in their own time. The need for physical proximity can thereby be reduced. 2.4.2 Nature of Information There are various concepts and phenomena that inherently involve: The first one is about dynamic information such as chemical reaction simulation or rate of convergence of a numerical method of integration or motion of a pendulum. The second one is about Multimedia information. For example, any subjects that involve the study of concepts from graphics, animation or sound. Finally, this is about interactive information. This type of information can be any topic that involves change of system parameters for understanding [1]. 9 Such information is usually not be represented, distributed and communicated in paper form (and even using a blackboard or overhead-projector with transparencies) due to various limitations. Even though animations can be created using other techniques (for example, GIF animation tool), they lack interaction. The "mental picture" that a teacher has is better conveyed to a learner if the information is presented in its appropriate form. Java applets can complement a lecture and sessions with such information which is difficult to convey in traditional manner. The use of applets along with desirable multimedia support provides a representation that is often better in communicating a concept than a static figure(s) or a written description. It also helps learners visualize the concept relatively easily. Through the multimedia support of the WWW, information can be represented dynamically and interactively - both of which Java applets are well equipped with. Applets that have active GUI elements give control in the hands of the learner, and thus allow the learner to gain experience with the concept [1]. 2.4.3 Classroom Demonstrations and Connections Classroom demonstrations are an essential component of subjects that are practically-oriented. In various such courses, for example, which are computationally oriented, actual computer implementations of algorithms that function in real-time are usually not introduced in the classroom. Also, the classroom and laboratory components are separated - the lessons are carried out in the classroom while the implementation of algorithms corresponding to them is carried out in a computer laboratory [1]. 2.4.3.1 Teacher's Viewpoint The teacher, at best, illustrates a static computer program for an algorithm or a static image of a computer-generated graphical result. This is often not sufficient. Using Java applets, teachers can perform classroom demonstrations involving real-time computations, bringing more realism to the subject matter. They can thus save time in explaining the algorithmic implementations. The use of hypertext in a WWW document also facilitates explanation of related concepts (such as an applet performing a computation and a corresponding lesson). This can bring clarity and continuity to the lecture by immediate referencing and not referring back-and-forth to, for example, 10 transparencies. During individual study, use of hypertext helps students to recall concepts already learnt and access prerequisites for a topic, in a natural manner not possible in a plain text environment [1]. 2.4.3.2 Learner’s Viewpoint It is difficult for students to understand the basic concepts involved in the algorithms (for example, how the approximation to the area under a curve changes as one increases the number of partition intervals) unless they see them in action. Java applets combine these classroom and laboratory components, and provide an environment where students can "see" the connections by immediately applying the concepts they have been taught. This also gives students an opportunity to make their own conjectures and experiment with them. This can lead to a better understanding on part of students [1]. 2.4.4 Assessment Traditional methods of assessment such as in-class quizzes can be replaced and/or supplemented with simple Java applets-based multiple-choice on-line tests. This can increase the range of questions that can be asked, as now one is not restricted to the paper format. Such tests can give learners a measure of their understanding of the subject and thus develop confidence. It is also possible to make some of these examinations openly available so that the learner can carry them out in their own time [1]. 2.4.5 Cost Commercial application packages and compilers which are used in teaching courses are not readily affordable by all students for personal use. On the other hand, Java-compliant WWW browsers such as Netscape Communicator or Microsoft Internet Explorer are available free of cost for academic use. Java compilers and run-time environments are also freely available for various architectures [1]. 11 2.4.6 Transferability and Adaptability The results of development of Java applets in one instance can be transferable and adaptable to various other learning situations. Java applets, when used in a classroom, can bring a stronger integration between (already existing) theoretical and practical aspects of the subject. There are various courses whose syllabi often intersect (for example, Geometry and Computer Graphics; Numerical Analysis and Calculus/Linear Algebra). Java applets (or even individual Java source/class files) developed for one course could be (re)used by teacher and learners in other courses. 2.5 Applications of Java Applets In what contexts can applets be used? There are at least four ways that Java applets can be used in education. 2.5.1 Informational Applets These applets are similar to the Help files in Windows-based programs whereby clicking on a tab or choosing an item from a pull-down menu, the user can obtain more information on the topic. These applets may have minimal interactivity on part of the user [1]. 2.5.2 Concept Illustrating Applets Such applets illustrate concepts underlying the subject, for example, the notion of limit in Calculus. These applets should have maximum possible interactivity on part of the user [1]. 12 2.5.3 Computational Applets These applets can serve as examples of concepts being learnt as well as illustrating phenomena. They can have the capability of user-interactive visualization of results and with a built-in graphical user interface (GUI) to facilitate experimentation by manipulating various parameters which can be "hard-wired". For example, given the linear equation f(x) = (1/2) x, the applet finds its fixed point iteration, that is, 0. These applets should have maximum possible interactivity on part of the user [1]. 2.5.4 Assessment Applets Assessment is fundamental to every learning process. To assess student learning, quiz applets with multiple-choice questions can be designed and implemented. A quiz can present the user with a set of problems, each with multiple choices that he/she could select from. Such a presentation can even be "randomly" generated (using Java's random number generator) from a database of questions. Once selected, the choice can be processed and appropriate response message with explanations can be displayed. These applets may have minimal interactivity on part of the user [1]. 2.6 Java applet related report from conference proceeding Here is some reports from conference proceeding that illustrate on development of Java applet in specific field. 2.6.1 Interactive JAVA Applets for Power Electronics E-Learning In this paper, Kalaid [2] mention that due to the high nonlinearity and the 13 mathematical complexity of power electronics circuits, their (electronic circuit) analysis has become more infeasible to describe. Power Electronics Education is a daunting, challenging task and many undergraduate students find it very difficult to grasp the basic concepts of many power electronics circuits and understand their physical and operational modes. And because of this reason, an interactive power electronics teaching Web site is proposed and, three main Web pages are developed for students, instructors and interactive Java Applets. Interactive online materials are posted for both students and instructors including lecture nodes, simulation problems, examples and exercises, textbook presentations, and online exams. Interactive applets are developed for 29 power electronics circuits to help students better understand the circuit behaviour under certain circuit parameters variations. Exact steady state waveforms are plotted with flexibility to have students change different circuit parameters and observe the circuit response in an interactive manner [2]. Based on above statement, those applets from website were design in-house to fulfill university’s (Power Electronic) syllabus requirements, and their website were designed just like UTM ’s E-learning portal to distribute online materials for both students and instructors. 2.6.1.1 Applets Development Process Two main simultaneous processes are incorporated together to develop the java applets software: the Matlab modelling and the instructional design process. For Matlab modelling, this modelling is a mathematical modelling (M-Model) constructed from preprocessed data that contains reduced equations with their labelling and other metadata. These M-Models are capable of mapping the concept to a real-world manipulative environment. The mathematical modelling generation is described in the Figure 2.1 [2]. 14 Figure 2.1 Mathematical Modelling In the next development phase, the M-Models and their descriptive contents are coordinated together and assembled into a uniform programming language, namely JAVA Circuit modules are developed and tested by Matlab and then transformed into JAVA as shown in Figure 2.2 [2]. Figure 2.2 M-Model Transformed into JAVA For Instructional Design, this design illustrates how to better present the concepts, convey the objectives of the course in a pedagogical way and appropriate to suit the targeted audience. Interactive tutorials are accompanied with the simulation engines to support both instructor lead and self paced learning [2]. 2.6.1.2 Development Stages of an Applet Each applet has the following four development stages: circuit analysis, circuit modelling, checking fidelity of generated results and Java outputs, as shown in Figure 2.3 below [2]. 15 Figure 2.3 Development Stages of an Applet 2.6.1.3 Graphical Design (GUI of applet) The GUI is presented in a more informative way and is easy to use with more user-friendly buttons and graphical panels, as shown in Figure 2.4 [2]. Figure 2.4 Layout of GUI 16 2.6.2 Interactive Power Electronics Seminar (iPES) This paper introduces the Interactive Power Electronics Seminar – iPES, new software for teaching a basic course on power electronic circuits and systems. iPES is constituted by HTML text with Java-applets for interactive animation, circuit design and simulation and visualization of electromagnetic fields and does comprise an easy-to-use self-explaining graphical user interface . The software does need just a standard webbrowser, i.e. no installations are required [3]. iPES can be accessed via the World Wide Web or from a CD-ROM in a standalone PC by students and professionals. Since the Java applets are simple to handle, a student can immediately start working and can concentrate on the theory of a problem. Due to the underlying software technology iPES is very flexible and can be used for online learning and easily integrated into an e-learning platform. 2.6.2.1 Contents of iPES The iPES currently does contain 30 Java-applets and therefore does provide an excellent basis for teaching an introductory course on power electronics including the subjects listed such as DC-DC converters without output voltage isolation, DC-DC converters with high frequency output voltage, control-oriented basics of DC-DC converters modelling ,design of power electronic converters (types of power semiconductor devices, thermal design, magnetic components), single-phase diode bridge with capacitive smoothing, effects on the mains, power factor correction, self-commutated single- and three-phase voltage DC, link inverter, pulse width modulation, space vector calculus, Line-commutated three-phase half-bridge converter, rectifier and inverter operation, series connection of line-commutated half-bridge converters, full-bridge converter, Parallel-connection of line commutated converters, inter-phase transformer, anti-parallel connection of line-commutated converters, four-quadrant DC machine drive ,resonance convertersa and U-Zi-diagram [3]. 17 2.6.2.2 Example: Rotating Magnetic Field Figure 2.5 shows an applet that demonstrates the concept of rotating magnetic field theories. The idea of this applet is to give the student a deeper understanding of the formation of a rotating magnetic field which is essential for understanding the principle of operation of three-phase AC machines. Especially, the relation between the physical positioning of the wires antrophose windings the phase displacement of the currents fed into the windings should be made obvious [3]. Figure 2.5 Rotating magnetic field for different positions of the time-marker in the applet showing the time behaviour of the three-phase current system supplying the windings. A vertical red time-marker can be dragged with the mouse in order to change the actual point in time considered. While dragging the time-marker the applet responds immediately and the magnetic field does change accordingly. 26 CHAPTER 3 RESEARCH METHODOLOGY This chapter describes the methodology employed and considerations taken into account for this project. It begins with the discussion of the project workflow, followed by the portal design procedure, techniques and tools utilized in this work. 3.1 Methodology This project involved the efforts of pages layout design, content developments, and Java applets embedding process which provide overall portal functionality. The project workflow is shown in Figure 3.1. 19 Start Dynamic Page Element (Java script) Content development (Java script) Java applet embedding process Literature Review Documentation and report writing Testing and Improving End Figure 3.1: Overall Workflow There are several techniques which have to be familiarized and mastered in order to produce the complete portal. These comprise the Java script programming that is used to develop the dynamic page element in this protal. Besides, Java applets are being applied as a plug-in to run in conjunction with dynamic page element in portal design. Thus, the basic study on the characteristic and usage of Java language in Java applets and Java script language is essential. 3.2 Java applet embedding development This section discusses about the embedding Java applet that are used to interface between portal and student. 20 3.2.1 Java Language and GUI Java can be used to write GUI programs ranging from simple applets which run on a Web page to sophisticated stand-alone applications. There are two basic types of GUI program in Java: stand-alone applications and applets. An applet is a program that runs in a rectangular area on a Web page. Applets are generally small programs, meant to do fairly simple things, although there is nothing to stop them from being very complex. Applets were responsible for a lot of the initial excitement about Java when it was introduced, since they could do things that could not otherwise be done on Web pages. However, there are now easier ways to do many of the more basic things that can be done with applets, and they are no longer the main focus of interest in Java [4]. 3.2.2 Applets and HTML Before using an applet that has been created, there is a need to create a Web page on which to place the applet. Such pages are themselves written in a language called HTML. An HTML document describes the contents of a page. A Web browser interprets the HTML code to determine what to display on the page. The HTML code doesn't look much like the resulting page that appears in the browser. The HTML document does contain all the text that appears on the page, but that text is "marked up" with commands that determine the structure and appearance of the text and determine what will appear on the page in addition to the text [4]. Java applets like Java programs consist of one or more class definitions. Once compiled, these classes are stored as files with a .class extension and they consist of Java bytecode. Java bytecode is created by a Java-compatible compiler. Unlike Java applications that typically are executed by a Java-compatible interpreter, applets are executed within a Java-enabled web browser such as Netscape Navigator 2.x and later that includes an integrated bytecode interpreter. Applets are embedded within an HTML document via the APPLET tag that references the Java applet's compiled .class file [5].Figure 3.2 shows a Web page with referencing Java .class file. 21 Figure 3.2: Web page with referencing Java .class file 3.2.3 HTML Java-Specific Tags Here's a more complex example of an APPLET tag: <applet codebase="http://java.sun.com/applets/NervousText/1.1" code="NervousText.class" width=400 height=75> <param name="text" value="Welcome to HotJava!"> <hr> If you were using a Java-enabled browser such as HotJava, you would see dancing text instead of this paragraph. <hr> </applet> This tells the viewer or browser to load the applet whose compiled code is at the URL http://java.sun.com/applets/NervousText/1.1/NervousText.class, to set the initial size of the applet to 400x75 pixels. The viewer/browser must also set the applet's "text" attribute (which customizes the text this applet displays) to be "Welcome to HotJava!" If the page is viewed by a browser that can't execute Java applets, then the browser will ignore the APPLET and PARAM tags, displaying only the HTML between the <param> and </applet> tags (the alternate HTML). 22 Here is another example of an APPLET tag: <applet code=A21 width=256 height=256 archive="toir.jar"> <param name=img value=test.gif> <hr> We need to convert some of the standard applets to use archive. Any volunteers? <hr> </applet> In this example, the applet class is A21. Its byte codes (may) reside in the archive "toir.jar". This archive may also contain the image resource (see resources documentation) with name test.gif. Here's the complete syntax for the APPLET tag. Required elements are in bold. Optional elements are in regular typeface. <APPLET CODEBASE = codebase URL ARCHIVE = archiveList CODE = applet File ...or... OBJECT = serialized Applet ALT = alternate Text NAME = applet Instance Name WIDTH = pixels HEIGHT = pixels ALIGN = alignment VSPACE = pixels HSPACE = pixels > <PARAM NAME = appletAttribute1 VALUE = value> <PARAM NAME = appletAttribute2 VALUE = value> . . . Alternate HTML </APPLET> CODE, CODEBASE, and so on are attributes of the applet tag; they give the browser information about the applet. Only important attributes is described in sub sections below. 3.2.3.1 APPLET The <APPLET> tag specifies an applet to be run within a Web document. A Web browser that does not support Java and does not understand the <APPLET> tag, 23 ignores this tag and any related <PARAM> tags, and simply displays any alternate-text that appears between <APPLET> and </APPLET>. A browser that does support Java runs the specified applet, and does not display the alternate-text [5], [8]. 3.2.3.2 CODEBASE This optional attribute specifies the base URL (absolute or relative) of the applet to be displayed. This should be a directory, not the applet file itself. If this attribute is unspecified, then the URL of the current document is used [4], [5]. 3.2.3.3 CODE This required attribute is the name of the Java applet-the name of the .class file created by a Java-compatible compiler. The file name must be relative to the current URL of the HTML file containing the applet unless the CODEBASE attribute is used. In this case the filename should be specified relative to the location specified by the CODE BASE attribute [5], [8]. 3.2.3.4 WIDTH This attribute is required and is used to specify the initial width required by the applet in the web browser. Use a number to indicate the number of pixels required [4], [8]. 3.2.3.5 HEIGHT This attribute is also required and like the width, it is used to specify the initial height of the applet in pixels [5], [8]. 24 3.2.3.6 ARCHIVE This optional attribute describes one or more archives containing classes and other resources that will be "preloaded". The classes are loaded using an instance of an Applet Class Loader with the given CODEBASE. The archives in archive-List are separated by ",”. This is used by some client code to implement inter-applet communication. Future JDK’s may provide other mechanisms for inter-applet communication. For security reasons, the applet's class loader can read only from the same code base from which the applet was started. This means that archives in archiveList must be in the same directory as, or in a subdirectory of the CODEBASE. Entries in archiveList of the form.../a/b.jar will not work unless explicitly allowed for in the security policy file (except in the case of an http CODEBASE, where archives in archiveList must be from the same host as the CODEBASE, but can have "...”'s in their paths.). This attribute specifies a comma-separate list of JAR (Java Archive) files that are "preloaded" by the Web browser or applet viewer. These archive files may contain Java class files, images, sounds, properties, or any other resources required by the applet. The Web browser or applet viewer searches for required files in the archives before attempting to load them over the network. [4], [8]. 3.2.4 Specifying the Applet Directory (For embedding process) By default, a browser looks for an applet's class and archive files in the same directory as the HTML file that has the <APPLET> tag. (If the applet's class is in a package, then the browser uses the package name to construct a directory path underneath the HTML file's directory.) Sometimes, however, it's useful to put the applet's files somewhere else. You can use the CODEBASE attribute to tell the browser in which directory the applet's files are located: <APPLET CODE=AppletSubclass.class CODEBASE=aURL WIDTH=anInt HEIGHT=anInt> </APPLET> If aURL is a relative URL, then it's interpreted relative to the HTML document's location. By making aURL an absolute URL, you can load an applet from just about anywhere -- event from another HTTP server. 25 Another example, the following Figure 3.3 shows the location of the class file, relative to the HTML file, when CODEBASE is set to "example/". <APPLET CODE=Simple.class CODEBASE="example/" WIDTH=500 HEIGHT=20> </APPLET> Figure 3.3: The location of class file using CODEBASE attribute in the same webserver. Figure 3.4 shows where the applet class can be if you specify an absolute URL for the value of CODEBASE. CODEBASE = "http://someServer/.../someOtherDirectory/" Figure 3.4: The location of class file using CODEBASE attribute at different web-server. Figure 3.5a, 3.6a and 3.7a are examples of source code on Java applet which have been successfully embedded in the proposed portal. Figure 3.5b, 3.6b and 3.7b are Java applet’s layout corresponding to Figure 3.5a, 3.6a and 3.7a respectively. 26 Figure 3.5a: The APPLET tag source code for Rain Fall Figure 3.5b: Rain Fall applets and its GUI Figure 3.6a: The APPLET tag source code for Transformer applets 27 Figure 3.6b: Transformer applets with its GUI Figure 3.7a: The APPLET tag source code for Dependence Source applets Figure 3.7b: Dependence Source applets with its GUI 28 3.3 Dynamic Element development using Java script Dynamic HTML, or DHTML, is an umbrella term for a collection of technologies used together to create interactive and animated web sites by using a combination of a static mark-up language (such as HTML), a client-side scripting language (such as JavaScript), a presentation definition language (such as CSS), and the Document Object Model. The intent of web design is to create a web site—a collection of electronic files that reside on a web server/servers and present content and interactive features/interfaces to the end user in form of Web pages once requested. Such elements as text, bit-mapped images (GIFs, JPEGs) and forms can be placed on the page using HTML/XHTML/XML tags. Displaying more complex media (vector graphics, animations, videos, and sounds) requires plug-ins such as Adobe Flash, QuickTime, Java run-time environment, etc. Plug-ins is also embedded into web page by using HTML/XHTML tags. There are differences between static page and dynamic page. Static pages don’t change content and layout with every request unless a human manually updates the page. A simple HTML page is an example of static content. Dynamic pages adapt their content and/or appearance depending on end-user’s input/ interaction. Content can be changed on the client side (end-user's computer) by using client-side scripting languages (JavaScript, JScript, Actionscript, etc.) to alter DOM elements (DHTML). Dynamic content is often compiled on the server utilizing server-side scripting languages (Perl, PHP, ASP, JSP, ColdFusion, etc.). Both approaches are usually used in complex applications. Client-side scripting is a language that generally refers to the class of computer programs on the web that are executed on client-side, by the user's web browser, instead of server-side (on the web server). This type of computer programming is an important part of the Dynamic HTML (DHTML) concept, enabling web pages to be scripted; that is, to have different and changing content depending on user input, environmental conditions (such as the time of day), or other variables. In today’s technology, all Java script source code developed by webmaster around the globe are easy to obtain from Internet. So, in this portal, some dynamic elements that develop by Java script can be obtained from internet, modified it and embedded into portal. Initially, a webmaster needs to be familiar about structure of Java script. 29 3.3.1 Structure of Java script JavaScript can either be embedded in a page or placed in an external script file (rather like CSS). But in order to work in the browser, the browser must be JavaScript enabled. (The major browsers allow users to disable JavaScript, although very few people do.) [6]. Scripts were added to page inside the < script > element. The type attribute on the opening < script > tag indicates what scripting language will be found inside the element, so for JavaScript use the value text/JavaScript. Java Scripts can also be written in external documents that have the file extension .js (just in the same way with writing in external style sheets). This is a particularly good option because java script can be is used by more than one page without needs to repeat the script in each page that uses it. If somebody wants to update a script, it needs only be changed it in one place. It also makes the HTML page cleaner and easier to read [6]. When placing a JavaScript in an external file, we need to use the “src” attribute on the < script > element; the value of the “src” attribute should be an absolute or relative URL pointing to the file containing the JavaScript. For example: < script type=”JavaScript” src=”scripts/validation.js” > < /script > So there are three places to put Java Scripts, and a single HTML document can use all three because there is no limit on the number of scripts one document can contain: 1) In the < head > of a page: These scripts will be called when an event triggers them. 2) In the < body > of a page: These scripts will run as the page loads. 3) In an external file: If the link is placed inside the < head > element, the script is treated the same as when the script lives inside the head of the document waiting for an event to trigger it, whereas if it is placed in the < body > element it will act like a script in the body section and execute as the page loads [6]. 3.3.2 Java script Libraries 30 JavaScript files that contain functions that can be used in several pages are often referred to as JavaScript libraries (because, once the file is included in certain page, its functionality can be used.) [6]. There are several scripts that offer functionality that can be used in web pages such as animated effects and drag - and - drop lists, Light boxes and modal windows, sortable tables, calendar controls and auto - completing text inputs. Each of these example scripts is built on top of a one of the major JavaScript libraries which can be used again and again on the Web such as Scriptaculous (which is actually built on top of another JavaScript library called Prototype), JQuery , Mochi- Kit, Yahoo User Interface (YUI)and etc. 3.3.3 JQuery Library jQuery Tools is a collection of the most important user interface components for the web. These are tabs and accordions, tool tips, overlays, exposing effects and scrollable. Other JavaScript UI libraries (Script.aculo.us, MooTools and etc) are focus on desktop-like features such as drag-and-drop, sliders, sortable tables or draggable windows. They are meant to build "rich internet applications" such as email clients, task managers, and image organizers or feed viewers. These kinds of applications are very useful within a small group or when used in intranets; however, normal websites are very different in nature. Their purpose is to look good and present information. jQuery Tools are built exactly for that purpose. The purpose of this library is to enhance an existing site with the great possibilities that modern JavaScript techniques has to offer. This is essentially the idea of "progressive enhancement" which is a common design pattern today. Scripting is only used when it truly makes the pages more readable and user friendly. This is where these tools come in to play. Today, there are many user interface components/elements developed by using some Java scripts library in internet. Some portal such as Webdesignledger.com, Webappers.com and Ajaxrain.com provide varieties of pre-made user interface component such as slider, drop down panel, multipurpose calendar, light box and etc. Anything-Slider plug-in developed by using jQuery library, a featured content slider combined with a “start/stop “ effect, and “moving boxes“ effect ,Dynamic Drive dropdown panel from Dynamic Drive portal, and Wibiya© toolbar developed by Modular Patterns Ltd, are widely used in this project. 31 Anything-Slider and Dynamic Drive drop-down panel have its source codes (external CSS file and Java script source code on head tag in web pages) that is maintained by using Coffee Cup© HTML Editor. For Wibiya© toolbar, there is an online maintenance platform developed by Modular Pattern Ltd for some application such as community feature powered by Facebook©, Twitter© dashboard powered by Twitter, search column ,indicator for current online user and etc. Figure 3.8 shows the layout of Anything- slider illustrated in Resistor topic. Figure 3.9 and Figure 3.10 shows layouts for Drop- down panel and Wibiya© toolbar respectively. Figure 3.8: Layout of Anything-Slider illustrated in Resistor topic Figure 3.9: Layout of Dynamic Drive Drop-Drop panel illustrated in homepages 32 Figure 3.10: Layout of Wibiya ©Toolbar illustrated in Resistor topic All related source code for Anything-Slider, Drop Down panel and Wibiya© toolbar are included in Appendix A. 3.4 Learning Material (Java applet and notes) Electrical theories notes for electrical topics in Physic subject are obtained from the following sources: 1) STPM Physics textbook: STPM Physics Volume 2 (Publisher: Pelangi) 2) STPM Physics material online resource: edu.joshuatly.com v2 3) SPM Physic Textbook: Focus Ace SPM-Physics (Publisher :Pelangi) 4) SPM Physic material online resource : one-school.net All references from internet for Physic subject, selection of FKE subjects and some resources of Java applets are listed in Appendix B. 35 CHAPTER 4 RESULT AND DISCUSSION This chapter reveals some pages’ function results and discussions on usage of portal’s pages. 4.1 Real Time Results Figure 4.1 shows the Pages flow diagram, where each page has its own specific functions and objectives. The web address for the portal is: http://juniorfke.200u.com Selection pages Specific Topic pages Main Page Figure 4.1: Pages flow diagram 34 4.1.1 Homepage Figure 4.2 shows the upper part of the home page of Junior FKE Portal. In this figure, there is a user interface component named as drop down panel developed from Dynamic Drive webmaster (http://www.dynamicdrive.com). Figure 4.3 shows the layout of drop-down panel. This user interface component tucks away ordinary HTML content on the page and reveals on demand when the user clicks on the protruding tab. The rest of the page's content is pushed down when the hidden content is exposed. It comes with a handful of helpful features, from the use of an arrow image to reflect the current panel state, persistence of the panel state, option to automatically close the panel when a link or certain elements within it is clicked on, to the ability to customize the animation speed (or to disable it entirely). Finally, two public methods exist to expand/ contract the panel dynamically. Figure 4.2: Upper side of JuniorFKE Home pages 35 Figure 4.3: Layout of Dynamic Drive Drop Down panel Figure 4.4 shows the middle part of the home page. It can be seen that there are 5 topics using Coda- slider developed using Java script elements to show those content. Those 5 topics are “About Junior”, “Semester System”, “Do you know?”, “Theories”, and “Reference”. Topic “About Junior” states out the objectives and problem statements of the portal. Topic “Semester System” gives some information regarding semester system in general. Topic “Do You Know?” exposes some ideas on universities study culture and some tips that enable student to be self-prepared before entering the universities. Topic “Theories” provides some main topic links that cover some particular topics in physic subject and selection from FKE subjects for student to choose and enter. Topic “Reference” lists out some resources online (Learning material and Java applet) used to develop the interactive content of Junior FKE. 36 Figure 4.4: Coda Slider with titles that embedded in Middle part of homepage Figure 4.5 shows the bottom part of the home page in Junior FKE Portal. A toolbar namely Wibiya© toolbar is used to make the portal as a community site for students to share some ideas in term of daily life experience and others and seek assistance from moderator regarding questions about learning material in the portal. Figure 4.5: Wibiya© toolbar with Twitter© Dashboard appear on it in the bottom part of home page in Junior FKE Portal 4.1.2 37 Selection Page Figure 4.6 shows the layout of selection page under Electronics (Components, Circuit Levels Analysis & Semiconductor Level Analysis) topic. This page covers some particular topics in physic subject and selection of FKE subject. Those topics are distributed based on various educational levels from SPM level to University level using Slick Map CSS. Slick Map CSS is a simple style sheet for displaying finished site maps directly from HTML unordered list navigation. It is suitable for most web sites – accommodating up to three levels of page navigation and additional utility links – and can be easily customized to meet individual needs, branding, or style preferences. The general idea of Slick Map CSS is to streamline the web design process by automating the illustration of site maps while at the same time allowing the pre-development of functional HTML navigation. All students can choose either one of the subtopics to be learnt by clicking on the tab button. Figure 4.6: Selection page using Slick Map CSS to distribute all topics according to educational level 38 4.1.3 Topic page Figure 4.7 shows the upper part of layout on one of the Topic page (In this figures: Bipolar Junction Transistor, BJT Topic page) using Anything-Slider developed from Java script Library. This user interface component is used to enclose the related learning material to the particular topic page. Topic page can also become a visual aid instrument especially for lecturers who do not have sufficient time for power point slide preparation. Figure 4.7: Upper part of Topic page with Anything-Slider for learning material enclosing Figure 4.8 shows the bottom part of Topic page embedded with Java applet from third party websites. Most of the Java applets are concept illustrating applets which illustrate underlying concepts of the subject. These applets have maximum possible interactivity on part of the user. In the present educational system, teaching hours are often insufficient for students. Now that many students have access to the internet, such facility could be very timely and convenient for students who wish to study the course material provided by the portal at home in their own time. The need for physical proximity can thereby be reduced. Figure 4.8: Lower part of Topic page with embedded Java applet from third party website related to particular Topic page 39 41 CHAPTER 5 CONCLUSION This chapter discusses about the achievement of this project. Additionally, recommendations for future project are also discussed. 5.1 Concluding Remarks This project is Educational Junior FKE Portal, a dynamic portal which is designed for students of secondary and tertiary educational level. This portal provides particular topic in Physic subjects and a selection of FKE subjects for continuity learning. At the same time, this portal is able to enhance the students’ learning experience by using Java applets as highly interactive tools employed in portal. Beside that, this portal is becoming a platform for students to seek assistance via live chat service (solved by moderator) or leave comments on dashboard for public view (solved by moderator and student). In order to ensure that all pre-university students are mentally prepared to enter the university, some user interface components are used to make Junior FKE portal as a community site for students to share some ideas in term of daily life experience and others via message board. Overall, this portal encourage asynchronous distance learning and thus help to overcome the limitations (involving both time and space) inherent in traditional instructional techniques. 41 5.2 Future Recommendations The extents of the works carried out in this project suggest that there are some future works which can be carried out to further enhance the performance and the function of the system. Below are some of the future works to be considered: Firstly, all Java applets used for interactive content development should be self-made. This is because those applets are maintained by third parties website and usually student needs to reload twice on pages to make sure that the applets are completely loaded. There are some appropriate Java applets which are arduous to embed due to high security setting on Java source code. Hence, it leads to limited amount of applets which is appropriate for certain topics. Secondly, it is possible that Junior FKE portals to cover all electrical subjects from FKE. In this case, the usage of applets in this portal along with desirable multimedia support provides a representation that is often better in communicating a concept than a static figure(s) or a written description. It also helps learners to visualize the concept relatively easier. Through the multimedia support of the Internet, the information can be represented dynamically and interactively - both of which Java applets are well equipped with [1]. For final recommendation, this portal can be integrated with web conference technology which gives ability for Junior FKE Portal to conduct live meetings, training, or presentations via the Internet. In a web conference, each participant sits at his or her own computer and is connected to other participants via the internet. This can be either a downloaded application on each of the attendees' computers or a webbased application where the attendees access the meeting by clicking on a link distributed by e-mail (meeting invitation) to enter the conference [7].This technology will be a stepping stone for Junior FKE Portal to became a platform which boosts up development of distance learning further and hence enhance the quality of learning experience for all students. 42 REFERENCES 1. Pankaj Kamthan, “Java Applets in Education,” Irt.org, March1999. [Online]. Available: http://www.irt.org/articles/js151/index.htm. [Accessed: March.19, 2010]. 2. Harb, S.; Kalaldeh, K.; Harb, A.; Batarseh, I.; , "Interactive Java applets for power electronics E-learning," Power Electronics Education, 2005. IEEE Workshop , vol., no., pp. 26- 33, June 16-17, 2005. 3. Drofenik U., Kolar J.W., Van Duijsen P.J., Bauer P.: New Web-Based Interactive E-Learning in Power Electronics and Electrical Machines Proceedings of the IEEE Industry Applications Conference, 36th Annual Meeting (IAS'2001), Chicago, Illinois, USA, Vol.3, pp. 1858-1865. Sept.30 - Oct.4 2001. 4. David J. Eck. Introduction to Programming Using Java, 5th ed. Geneva, New York: December 2006. [E-book] Available: Hobart and William Smith Colleges. 5. Steven C. Jones. Anatomy of a Java Applet: Part 1, Waltham, MA: December 2006. [Article] Available: Novell Systems Research. 6. Jon Duckett . Beginning HTML, XHTML, CSS, and JavaScript,1st. ed. Hoboken, NJ: John Wiley & Sons, Inc. 2009 7. S. Spielman, L. Winfeld , The Web Conferencing Book ,1st.ed. Broadway, NY: AMACOM .2003 8. “The APPLET Tag’, http://java.sun.com/j2se/1.4.2/docs/guide/misc/applet.html 43 APPENDIX A Source Code for JavaScript libraries user interface component 1. Anything Slider (Also available on: http://css-tricks.com/anythingslider-jquery-plugin/) <HEAD> tag: Java Script library linking: <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <script type="text/javascript" src="js/jquery.easing.1.2.js"></script><script src="js/jquery.anythingslider.js" type="text/javascript" charset="utf-8"></script> CSS Script Linking: <link rel="stylesheet" href="css2/page.css" type="text/css" media="screen" /> <link rel="stylesheet" href="css2/slider.css" type="text/css" media="screen" /> Java Script Section: <script type="text/javascript"> function formatText(index, panel) { return index + ""; } $(function () { $('.anythingSlider').anythingSlider({ easing: "easeInOutExpo", // Anything other than "linear" or "swing" requires the easing plugin autoPlay: true, // This turns off the entire FUNCTIONALY, not just if it starts running or not. delay: 3000, // How long between slide transitions in AutoPlay mode // If autoPlay is on, this can force it to start startStopped: false, stopped 44 animationTime: 600, // How long the slide transition takes hashTags: true, // Should links change the hashtag in the URL? buildNavigation: true, // If true, builds and list of anchor links to link to each slide pauseOnHover: true, // If true, and autoPlay is enabled, the show will pause on hover startText: "Go", // Start text stopText: "Stop", // Stop text navigationFormatter: formatText // Details at the top of the file on this use (advanced use) }); $("#slide-jump").click(function(){ $('.anythingSlider').anythingSlider(6); }); }); </script> <BODY> Tag: Division tag: <div id="page-wrap"> <div class="anythingSlider"> <div class="wrapper"> <ul> <li> .. .. ..Content.. .. </li></ul> <ul><li>.. .. .. Content Here .. ..<li></li> </div> </div> </div> 2. Drop Down panel (Also available on: http://www.dynamicdrive.com/dynamicindex17/dddropdownpanel.htm) <HEAD> tag: Java Script library and CSS script linking : <link rel="stylesheet" type="text/css" href="css/dddropdownpanel.css" /> <script type="text/javascript" src="Java Script/dddropdownpanel.js"> <BODY> Tag: <div id="mypanel" class="ddpanel"> <div id="mypanelcontent" class="ddpanelcontent"> .. .. .. ..Large Content .. .. </div></div> <div id="mypaneltab" class="ddpaneltab"> <A href="#"><span>Click here for Important Links</span></A> </div> 45 46 3. Wibiya© Toolbar (Also available on: http://www.wibiya.com/) In<BODY> tag: <script src="http://toolbar.wibiya.com/toolbarLoader.php?toolbarId=23625&amp;pl=1" type='text/javascript'></script> 4. Slick Map CSS (Also available on: http://astuteo.com/slickmap/) <HEAD> tag: CSS script linking <link rel="stylesheet" type="text/css" media="screen, print" href="slickmap.css" /> <BODY> tag: <div class="sitemap"> <h2>Preliminary Site Map</h2> <ul id="primaryNav" class="col4"> <li id="home"><a href="">Electronic</a></li> <li><a href="V,I ,R,Power.html">V,I,R,Ohms law & Power(SPM& STPM& Matriculation)</a> </li> <li><a href="">Componenents</a> <ul> <li><a href="resistor.html">Resistor(SPM)</a></li> <li><a href="capacitor.html">Capacitor(STPM& Matriculation)</a></li> <li><a href="transistor.html">Transistor(University)</a> <ul> <li><a 47 href="bjt.html">BJT(University)</a></li> <li><a href="jfet.html">JFET(University)</a></li> <li><a href="mosfet.html">MOSFET(University)</a></li> </ul> </li> <li><a href="diode.html">Diode(STPM& Matriculation)</a></li> <li><a href="inductor.html">Inductor(STPM& Matriculation)</a></li> </ul> </li> <li><a href="">Circuit level Analysis</a> <ul> <li><a href="voltagedivider.html">Volltage Divider(STPM& Matriculation)</a> <li><a href="kclkvl.html">Kirchhoff's 1 & 2 Law(STPM& Matriculation)</a> <ul> <li><a href="meshnodal.html">Mesh and Nodal Analysis(University)</a> <li><a href="dependentsource.html">Circuits with Dependent Sources(University)</a> </ul> <li><a href="1stordercrt.html">First Order Circuit(University)</a> <li><a href="accrt.html">AC Circuit(University)</a></li> <li><a href="sourcetransform.html">Source Trasformation (University)</a> <li><a href="thevenin.html">Thevenin Equivalent Circuits(University)</a> </ul> </li> <li><a href="">Semiconductor Level Analysis</a> <ul> <li><a href="/contact/offices">NIL</a> <li><a href="/projects/finance">NIL</a> <li><a href="/projects/medical">NIL</a> <li><a href="/projects/education">NIL</a> <ul> <li><a 48 href="contact/map">Map</a></li> <li><a href="contact/form">Contact Form</a></li> </ul> </li> </ul> </li> </ul> </div> 49 APPENDIX B List of applets and List of internet reference according to topic Guidelines: Link: Links for additional notes in term of articles from third parties website. Applet: Java applets related to particular topic Content: Links for learning materials that adapt to covers particular topic Files: Links for notes which is adapt from third parties website (in pdf, ppt format) and saved in Junior FKE portal web server. V, I, R, Power Content1 1: http://www.kpsec.freeuk.com/map.htm Applet 1: http://www.ndted.org/EducationResources/CommunityCollege/EddyCurrents/Physis/ currentflow.htm Applet 2: http://www.falstad.com/circuit/e-ohms.html 50 Resistor Content 1: http://www.kpsec.freeuk.com/components/resist.htm Content 2: http://micro.magnet.fsu.edu/electromag/electricity/resistance.html#CODE Applet 1: http://www.sethi.org/classes/phys214/lab_notes_orig/lab_10.html Applet 2: http://www.sethi.org/classes/phys214/lab_notes_orig/lab_10.html Applet 3: http://www.sethi.org/classes/phys214/lab_notes_orig/lab_10.html Capacitors Content 1: http://micro.magnet.fsu.edu/electromag/electricity/capacitance.html Content 2: http://www.kpsec.freeuk.com/components/capac.htm Content 3: http://www.sweethaven.com/sweethaven/ModElec/acee/lessonMain.asp?i Num=103 Content 4: 51 http://hyperphysics.phy-astr.gsu.edu/hbase/electric/capdis.html Content 5: http://hyperphysics.phy-astr.gsu.edu/hbase/electric/capac.html#c2 Content 6: http://www.coilgun.info/theorycapacitors/capacitorcharging.htm Content 7: http://www.schule bw.de/unterricht/faecher/physik/online_material/ntnu/rc/rc.html Content 8: http://www.kpsec.freeuk.com/capacit.htm Applet 1: http://www.falstad.com/circuit/e-cap.html Applet 2: http://www.schule bw.de/unterricht/faecher/physik/online_material/ntnu/rc/rc.html Applet 3: http://lectureonline.cl.msu.edu/~mmp/kap19/RR480app.htm Diode Content 1: http://www.standrews.ac.uk/~www_pa/Scots_Guide/info/comp/passive/diode/diode. htm Content 2: http://www.kpsec.freeuk.com/components/diode.htm Content 3: http://www.reuk.co.uk/What-is-a-Zener-Diode.htm (Zener Diode) Content 4: http://hyperphysics.phy-astr.gsu.edu/hbase/Solids/zener.html Content 5: http://hyperphysics.phy-astr.gsu.edu/hbase/solids/pnjun.html Content 6: http://en.wikipedia.org/wiki/P-N_junction Content 7: http://www.sas.org/tcs/weeklyIssues_2009/2009-01-02/feature1/index.html (Semiconductor) Content 8: http://hyperphysics.phy-astr.gsu.edu/hbase/solids/intrin.html#c4 (Intrinsic Semiconductor) Content 9: http://pvcdrom.pveducation.org/SEMICON/EQUAN.HTM Applet 1: http://www.falstad.com/circuit/e-diodecurve.html(x used coz conflict) Applet 2: http://www.falstad.com/circuit/e-zeneriv.html Applet 3: http://www.launc.tased.edu.au/online/sciences/Physics/photonics/bias.htm 52 Inductor Content 1: http://electronics.howstuffworks.com/inductor1.htm Content 2: http://www.play-hookey.com/dc_theory/components_inductors.html Content 3: http://www.allaboutcircuits.com/vol_1/chpt_15/2.html Content 4: http://en.wikipedia.org/wiki/Inductor Applet 1: http://www.cco.caltech.edu/~phys1/java/phys1/Inductance/Inductance.html Transistor (BJT) Content 1: http://www.calculatoredge.com/electronics/BJT.htm (Calculator) Content 2: http://www.kpsec.freeuk.com/components/tran.htm Content 3: http://www.tpub.com/neets/book7/25c.htm (transistor -amplifier) 53 Content 4: http://101science.com/tranbasic.htm (Completed Transistor info) Content 5: http://www.techlearner.com/Semiconductors.htm Content 6: http://transistor.20m.com/transistor.html (Transistor Calculator) Content 7: http://www.williamson-labs.com/480_xtor.htm#introduction Content 8: http://users.ece.gatech.edu/~mleach/ece3050/ Content 9: http://www.allaboutcircuits.com/vol_3/chpt_4/1.html (BJT) Content 10: http://en.wikipedia.org/wiki/Bipolar_junction_transistor#Activemode_NPN_transistors_in_circuits Content 11: http://people.seas.harvard.edu/~jones/es154/lectures/lecture_3/lecture_3.html Content 12: http://101science.com/transistor.htm Content 13: http://people.seas.harvard.edu/~jones/es154/lectures/lecture_3/lecture_3.html Content 14: 54 55 http://www.pupr.edu/cpu/Electrica/EE3500/bjt_configurations.htm Files 1: http://users.ece.gatech.edu/~mleach/ece3050/ (Bias Equation) Files 2: http://people.seas.harvard.edu/~jones/es154/lectures/lecture_3/bjt_biasing/bjt_biasin g.html Files 3: http://www.electronics-tutorials.ws/transistor/tran_2.html (CE Configuration) Applet 1: http://jas.eng.buffalo.edu/education/ckt/bjtamp/index.html Applet 2: http://jas.eng.buffalo.edu/education/ckt/comEmitAmp/index.html Transistor (JFET) Content 1: http://www.electronics-tutorials.ws/transistor/tran_5.html Content 2: http://users.ece.gatech.edu/~mleach/ece3050/ Content 3: http://hyperphysics.phy-astr.gsu.edu/Hbase/Electronic/fet.html Content 4: http://www.electronics-tutorials.ws/amplifier/amp_1.html (Introduction on Amplifier) Content 5: http://www.electronics-tutorials.ws/amplifier/amp_3.html(JFET CS Amplifier) JFET Bias Equation Link 1: http://www.circuitstoday.com/fet-biasing Applets 1: http://jas.eng.buffalo.edu/education/jfet/index.html Applets 2: http://www-g.eng.cam.ac.uk/mmg/teaching/linearcircuits/jfet.html Bias Equation Files 1: www.kennethkuhn.com/students/ee351/text/jfet_bias_analysis.pdf Files 2: www.kennethkuhn.com/students/ee351/text/jfet_bias_design.pdf Files 3: www.uotiq.org/dep-eee/lectures/2nd/Electronics%201/part5.pd Transistor (MOSFET) Content 1: http://www.electronics-tutorials.ws/transistor/tran_6.html Content 2: 56 http://users.ece.gatech.edu/~mleach/ece3050/ Content 3: http://en.wikipedia.org/wiki/MOSFET Link 1: http://www.circuitstoday.com/demosfet-depletion-enhancement-mosfet Link 2: http://www.circuitstoday.com/emosfet-enhancement-mosfet Link 3: http://www.circuitstoday.com/jfet-and-mosfet-comparison Applet 1: http://www-g.eng.cam.ac.uk/mmg/teaching/linearcircuits/mosfet.html Applet 2: http://jas.eng.buffalo.edu/education/mos/mosfet/mos_1.html Files 1: www.fke.utm.my/.../SEE2063/Ch6%20FETs%20Biasing%20SEE2063.pdf Files 2: www.most.gov.mm/techuni/media/EcE03015_9.pdf Files 3: http://notes.ump.edu.my/fkee/BEE2233_Farizan/2.%20FET%20Biasing.ppt Voltage Divider 57 58 Content 1: http://hyperphysics.phy-astr.gsu.edu/HBASE/electric/voldiv.html Content 2: http://www.swarthmore.edu/NatSci/echeeve1/Ref/E72WhaKnow/WhaKnow.html Content 3: http://www.kpsec.freeuk.com/vdivider.htm Content 4: http://en.wikibooks.org/wiki/Electronics_Course/Electronic_Circuits/Voltage_Divide r_Circuit Applet 1: http://people.clarkson.edu/~jsvoboda/eta/dcWorkout/VandCDividers.html Kirchhoff's 1 and 2 Law Content 1: http://en.wikipedia.org/wiki/Kirchhoff%27s_circuit_laws Content 2: http://regentsprep.org/Regents/physics/phys03/bkirchof1/default.htm Content 3: http://www.regentsprep.org/Regents/physics/phys03/bkirchof2/default.htm Content 4: http://en.wikiversity.org/wiki/Passive_sign_convention (Passive Sign Convention) Content 5: 59 http://en.wikiversity.org/wiki/Kirchhoff%27s_Voltage_Law Content 6: http://en.wikiversity.org/wiki/Kirchhoff%27s_Current_Law Link 1: http://hermes.eee.nott.ac.uk/teaching/cal/h51eec/eec0006.html (KVL) Link 2: http://hermes.eee.nott.ac.uk/teaching/cal/h51eec/eec0007.html (KCL) Extra Link 1: http://www.ent.ohiou.edu/~manhire/basic_ee/chapter02/sld038.htm Files 1: http://www.most.gov.mm/techuni/index.php?option=com_content&task=view&id=8 7#agti2(Applied Electronic Engineering) Files 2: www.niu.edu/iteams/documents/ueet602/KVL%20and%20KCL.pdf Files 3: www.ece.pdx.edu/~prasads/BasicConcepts.pdf (Passive Sign Convention) Applet 1: http://people.clarkson.edu/~jsvoboda/eta/dcWorkout/KCL_KVL.html Applet 2: http://people.clarkson.edu/~jsvoboda/eta/dcWorkout/OandKLawsR.html 60 Mesh and Nodal Analysis Content 1: http://en.wikibooks.org/wiki/Electronics_Course/Electronic_Circuits/Nodal_Analysi s Content 2: http://en.wikibooks.org/wiki/Electronics_Course/Electronic_Circuits/Mesh_Analysis Content 3: http://en.wikipedia.org/wiki/Mesh_analysis Content 4: http://en.wikipedia.org/wiki/Nodal_analysis Files 1: http://www.most.gov.mm/techuni/index.php?option=com_content&task=view&id=8 7#agti2(Applied Electronic Engineering)--(Second Main Note) Files 2: http://ocw.mit.edu/NR/rdonlyres/10AA0A32.../nodal_mesh_methd.pdf (Main note) Files 3: http://www.cramster.com/node-and-mesh-analysis-lecture-note-r30-63442.aspx (Question and Ans) Link 1: http://en.wikiversity.org/wiki/Mesh_Analysis Link 2: http://en.wikiversity.org/wiki/Nodal_analysis Applet 1: http://people.clarkson.edu/~jsvoboda/eta/dcWorkout/MandNeqn0.html Applet 2: http://people.clarkson.edu/~jsvoboda/eta/dcWorkout/MandNeqnR.html Circuit with Dependent source Content1: www-inst.eecs.berkeley.edu/~ee40/sp03/lectures/student7_2003.pdf Content2: www.ece.osu.edu/ems/.../Lecture%2013_Dependent%20Sources.ppt Files 1: www.coe.uncc.edu/.../Circuits1/3.%20Dependent%20Sources,%20Sept2003.pps Applet 1: http://people.clarkson.edu/~jsvoboda/eta/dcWorkout/OandKLawsVCVS.html Applet 2: http://people.clarkson.edu/~jsvoboda/eta/dcWorkout/MandNeqn2.html Applet 3: http://people.clarkson.edu/~jsvoboda/eta/dcWorkout/MandNeqnVCVS.html 61 62 Intrinsic Semiconductor and Energy Band Content 1: http://britneyspears.ac/physics/basics/basics.htm Content 2: http://www.sas.org/tcs/weeklyIssues_2009/2009-01-02/feature1/index.html Content 3: http://en.wikipedia.org/wiki/Intrinsic_semiconductor (Main) Content 4: http://hyperphysics.phy-astr.gsu.edu/hbase/solids/intrin.html Content 5: http://www.allaboutcircuits.com/vol_3/chpt_2/5.html (Further info for Electron and Hole part) Content 6: http://mste.illinois.edu/murphy/HoleFlow/HoleFlow.html (Hole Flow) Link 1: http://www.allaboutcircuits.com/vol_3/chpt_2/4.html Link 2: http://www.allaboutcircuits.com/vol_3/chpt_2/3.html Applet 1: http://mste.illinois.edu/murphy/HoleFlow/HoleFlow.html (Hole Flow) 63 Fermi Level and Function Content 1: http://britneyspears.ac/physics/basics/basics.htm Content 2: http://hyperphysics.phy-astr.gsu.edu/hbase/solids/fermi.html#c1 Content 3: http://www.ece.utep.edu/courses/ee3329/ee3329/Studyguide/faqs/fermi.html Applet 1: http://jas.eng.buffalo.edu/education/semicon/fermi/functionAndStates/functionAndSt ates.html Applet 2: http://www.benfold.com/sse/fd.html Applet3: http://www.ece.utep.edu/courses/ee3329/ee3329/Studyguide/Java/Fermi/index.html Applet 4: http://www.acsu.buffalo.edu/~wie/applet/fermi/fermi.html (Fermi Level vs. Carrier Concentration) Link 1: http://www.colorado.edu/physics/2000/elements_as_atoms/electron_config.html (The Pauli Exclusion Principle) Link 2: http://particleadventure.org/pauli.html 64 Crystal Structure Content 1: http://britneyspears.ac/physics/crystals/wcrystals.htm Content 2: http://ecee.colorado.edu/~bart/book/book/chapter2/ch2_2.htm Content 3: http://people.seas.harvard.edu/~jones/ap216/lectures/ls_2/ls2_u7/sse_tut_1/solid1.ht ml Link 1: http://cnx.org/content/m16927/latest/ Link 2: http://www.eecs.umich.edu/~singh/bk7ch01.pdf Applet 1: http://jas.eng.buffalo.edu/education/solid/unitCell/cell.html Applet 2: http://jas.eng.buffalo.edu/education/solid/hcp/cell.html