Designing and Implementing Wbis for Algorithms

Many researchers and academicians suggested that there is a need to change the way knowledge is being imparted. It is suggested that along with the traditional teaching and learning method there must be few equipments, tools and frameworks that could provide assistance to both learners and the instructors. This paper presents a framework for WBIs for algorithm learning which will be working as a teaching aid. The framework presented in this paper is aimed to offer the systematic learning of the algorithm for learners of diversified knowledge level and to provide a personal assistance. The paper also discusses the environment and attributes of WBIs for algorithm which will be encouraging interactive learning. Furthermore paper describes the various development phases, architecture and flow of the overall system and presents the WBIs development model and model which depicts the system's flow. 1. Designing and Implementing WBIs for Algorithms (Khan, 1997) defines Web-Based Instruction (WBI) as: " ...a hypermedia-based instructional program which utilizes the attributes and resources of the World Wide Web to create a meaningful learning environment, where learning is fostered and supported. " (Relan & Gillani, 1997) defines WBI as: " ...the application of a repertoire of cognitively oriented instructional strategies within a constructivist and collaborative learning environment, utilizing the attributes and resources of the World Wide Web ". These definitions bring the picture that the Web Based Instructional system takes benefit of the Internet and World Wide Web to distribute and share knowledge among the learner and the instructors. Available literature in various journals supports and emphasizes, that there is a need to be more innovative to make both learning and teaching interactive as well as more worthwhile. Furthermore, the potential of Web-Based Instructional system (WBIs) and technological advancement (Zimnas et al. 2009) is supportive in making learning and teaching more interesting and innovative. It enables to improve various deficiencies of traditional education system. E-communication and other interactive activities were initially used to support learning in distance education (Kelly & Stevens, 2009). Web Based Instructional system is also supportive in removing the distance among the learners and instructors. One of the major problems in traditional learning is the geographical barriers among the learners and instructors. Other problems are the cultural barrier, one-to-one assistance and the time limitations for both learner and instructor. Technological advancement has facilitated to eliminate those barriers.

1. Designing and Implementing WBIs for Algorithms (Khan, 1997) defines Web-Based Instruction (WBI) as: "...a hypermedia-based instructional program which utilizes the attributes and resources of the World Wide Web to create a meaningful learning environment, where learning is fostered and supported."(Relan & Gillani, 1997) defines WBI as: "...the application of a repertoire of cognitively oriented instructional strategies within a constructivist and collaborative learning environment, utilizing the attributes and resources of the World Wide Web".These definitions bring the picture that the Web Based Instructional system takes benefit of the Internet and World Wide Web to distribute and share knowledge among the learner and the instructors.
Available literature in various journals supports and emphasizes, that there is a need to be more innovative to make both learning and teaching interactive as well as more worthwhile.Furthermore, the potential of Web-Based Instructional system (WBIs) and technological advancement (Zimnas et al. 2009) is supportive in making learning and teaching more interesting and innovative.It enables to improve various deficiencies of traditional education system.E-communication and other interactive activities were initially used to support learning in distance education (Kelly & Stevens, 2009).Web Based Instructional system is also supportive in removing the distance among the learners and instructors.
One of the major problems in traditional learning is the geographical barriers among the learners and instructors.Other problems are the cultural barrier, one-to-one assistance and the time limitations for both learner and instructor.Technological advancement has facilitated to eliminate those barriers.(Rishi & Govil, 2007) took advantage of distributed computing environment and presented a methodology in which Case Based Reasoning (CBR) is used.The methodology facilitates learners to learn in distributed environment.(Malmi et al., 2004) proposed a framework TRAKLA2, for building interactive algorithm simulation exercises only.
The framework presented in this paper is aimed to offer the systematic learning of the algorithm for learners of diversified knowledge level (which is lacking in traditional learning) and to provide the collaborative learning among the learners and the instructors.The paper describes the conceptual framework, the architecture, the flow of the system development and also the working of the system.The system would support learners having different levels of knowledge i.e. the learner with the prior basic knowledge or even without prior basic knowledge could use the system for learning algorithms effectively.
The framework is intended to build the connectivity and knowledge sharing among and within the institution, learners and the instructors around the world with a view of achieving quality and mass learning of the subject.It is a supporting tool for instructors to spread digital literacy.(2002) proposed the framework of effective use of Instructional Technology requires educational reform.He concludes the instructional technology by itself is unlikely to lead to substantial educational reform.However, with appropriate reforms that should not be difficult to implement, it is much more likely that educational reform will come from within and from the teachers.Ashley & Aitken (2002) reviewed and concluded with a framework a proposed web-based Java CASE that design web based system for teaching students a programming language.The system finds on object oriented programming in Java language.It will act as much simplified and web based tools, assist the students in analysis and design, compiling students programs and running them as Java Applets in a web browser.Nam et al. (2007) reviewed literature and addressed two weaknesses while developing a user-centered, Web-based learning support environment for Global Positioning System (GPS) education and proposed theory-based Integrated Design Process (IDP) for improvement of the design process and usability of improvement of the design process and usability of the Web-based distance and distributed learning (WD 2 L) environment.Zimnas et al. (2009) presented a survey and concluded with a tool named IDEL -A simple Instructional Design Tool for E-Learning.IDEL is a web-based Instructional System and is designed to facilitate course design process in accordance with the ADDIE (Analysis, Design, Development, Implementation, and Evaluation) model and the instructional design principles with emphasis on the use of technology enhanced learning.Wahid (2009) reviewed and concluded with a framework Web-based Instructional System for Computer Programming (WBIS CP ).The WBIS CP for teaching computer programming facilitates improved computer programming gain and higher predictive value.More important is, the learner is more cautious about the learning environment and the content material being taught.

Merrill
The primary goals of Designing and Implementing WBIs for Algorithms tool presented in this paper are: (i) The fundamentals and in-depth understanding of analysis and design of the algorithms.
(ii) For encouraging meta-learning on the inaccurate steps taken by the learner.

System Environment
The system may use either synchronous or asynchronous mode of communication.Learners may use chat rooms, messengers, video conferencing and other tools as a synchronous communication and bulletin board, electronic mails and SMS as asynchronous mode to share the knowledge among the learners and instructors.As far as connection is concerned either wired or wireless, any kind of connections could be used to access the application depending on the availability and convenience of the learner.
The learning material would be presented in printable form including e-books, PDF files, word document or PowerPoint handouts.The material would be in non-printable form too, that would include audio and video.The overall system would be designed in such a manner that it would lead to collaborative learning among the learners and the instructors.The collaborative learning model supports people associated with the system to share their knowledge, problems, solutions and experiences.
The proposed system will be completely interactive and involve the learners in designing and analyzing the algorithm systematically unlike web sites, presentations and other e-learning tools.

WBI Framework for Algorithm: Attributes
The framework carries desirable attributes to support collaborative learning.These attributes are in favor of learners, instructors and education systems as well (Wahid et al. 2008).One of the major attributes of the proposed system is that, it could be updated rapidly as required.The system would be accessible over the Internet and can be controlled by the training provider.This control will provide security and also be helpful in protecting unauthorized access.The benefited people or sector of the proposed system would be learners, instructors, institutes, universities, colleges and the entire higher education environment.It would support systematic learning of the algorithms including designing and analysis of algorithms.The system would maintain a database to store all the steps followed by the learner during the design of the algorithm in order to help the learners for verifying whether the steps are correct or not.
The system addresses the personalized needs of the learners which would nurture their knowledge and skills.Further the system would bridge the gap between the learners and the instructors during learning algorithms and would promote the platform for sharing their ideas and knowledge.

Designing and Implementing WBIs for Algorithms: Development Process
The development process of the framework is divided into various phases.The development process has six phases including; Review and Logical Design, Modeling of the framework, expert review, tools and technology selection, development and verification, experiment and validation.

Review and Logical Design
The first phase Review and Logical Design is the foundation of the development of the proposed system.Review at this phase leads to the logical design and is the pillar for the success and completeness of the system.The output of this phase helps in modeling of the system.
In this phase experts would be giving guidance in identifying the system related problems and solutions in terms of modeling and designing of the system.

Modeling of the Framework
In this phase, the focus changes from logical design to conceptual model of the framework.The foremost task of this phase is to give the foundation to the actual development.This phase speaks about the various components to be associated together: internal and external resources and their correlation.The model speaks about the functionality of the entire system.
The modeling of the framework provides a set of guidelines to transform a logical design to a WBIs for algorithm tool.The development of the frame work would be done after obtaining experts views.The system is designed in such a manner that all or most of the qualities of the WBIs could be utilized for the benefit of the learner as well as the instructor.
User interface is designed in such a manner that it would attract the learners and would make them comfortable with the interactive learning environment.The navigation throughout the system will also be very easy.

Expert Review
Expert review plays the vital role in order to design and development of the proposed framework.Their feedback is extremely vital for the success of the system.All development phases moves around the expert review, which would lead to the effective, efficient and interactive learning.
The expert review is helpful to overcome the short comings of system that a learner could face during learning.In order to succeed and to fulfill the objective of the system each phase interacts with the expert review and if required the development phases will again restart with the first phase.Review will be done online as well as offline as per the demand of the phase and the availability of the experts.
The support of the experts will help in the development of knowledge module, in selecting the right content to take care of the aspirations of academic community and in addressing to the personalized needs of the learners.Experts will also facilitate for standardization of the framework and quality of e-contents to make it world class.

Tools and Technology Selection
Tools and technology are critical elements in the development of the system.For the success of any system proper selection of the appropriate tools and technologies is needed.The learners will access the application in heterogeneous platform and environment, so it is necessary to choose the tools and technology which are suitable and supportive to the proposed framework.Another consideration is the support of interactivity of the tools.Many tools are available in order to develop the interactive applications along with the various features to support the desired features for our system.For this system Macromedia Authorware is picked up.The application developed with this tool would be easily accessible as a standalone or as a web application, which serves the need of the framework.

Development and Verification
Once modeling is over the next activity that is, development starts.Easy navigation is very important in the system to make the system user friendly which will be taken care during development.A better system development helps to focus on the learning.If system is developed well learners could utilize most of the time in understanding the content available with the system, instead of wasting time to understand the functionality of the system.The tools and technology selected in the previous phase are supposed to be suitable for making the system user friendly, effective and interactive.
Once the development phase is over, the system is ready for verification for authentication of the quality and usefulness of the system.This process verifies whether the system meets the desired objectives or not.

Experiment and Validation
Generally, experiment is done to evaluate, whether the system fulfills the projected objectives for performance.The actual outcomes are reviewed and validated to confirm the expected outcomes of the system.It helps in identifying the success of the system else developers are informed if any error occurs.This activity ensures that the system behaves as it was intended to behave.This phase consists of two activities: experiment and validation.
To check the effectiveness of the system it is necessary to check the efficiency and the effectiveness of the system.This is done by the group of learners of diversified level.Experiment would be done under the guidance of the experts and the results would also be evaluated under the guidance of the experts.Various groups of the learners of different levels would be formed to perform this experiment under the expert's guidance.The outcome would then be evaluated to confirm the actual results with the expected outcome.If there is any gap between the actual and the expected output then the necessary phase would be repeated along with the consecutive phases.It is ensured that the system is designed as per the objective of the proposed system.Various testing tool would be used to test or verify the system.It would include web site testing tools, statistical tools, Web Test Tools, and performance testing tools.

Implementation
The proposed framework will enable the learners to learn designing of various algorithms.The system will provide various topics to learn.Since, generally the traditional learning hardly works according to the diverse knowledge level of the learners and even do not provide personal attention as and when required.On the other hand the proposed system will give the personal attention to each learner and will work as per the knowledge level of the individual learner.

Student Interface Engine
The student's interface engine enables the learner to learn the algorithm in systematic manner.This is the first engine with which each learner interacts.It allows the learner to go through the "Meta Learning" where Meta learning supports the learner by providing help on the topic when required and makes the learning easy.This engine then interacts with another engine named "Knowledge Assessment Engine".This interaction takes place automatically when learner starts learning a topic.

Knowledge Assessment Engine
The knowledge assessment engine supports the system to assess the prerequisite knowledge of the learner before moving towards the next level topic for which learner is interested to know.Initially this engine will test the learner's knowledge and for this the system will provide questions along with the four probable answers.Learner will be asked to select a single answer for each question.Answers of the questions will be evaluated by the proposed system automatically and finally result will be displayed to the learner in subsequent engines.Depending on the result learner would be able to move to a course, suitable at that level of understanding.
Knowing the learner's level is quite helpful for the system and the learner both.It will help the learner to decide from where the learner should begin.If the system is not aware of the knowledge level of the learner, it would treat all the learners at the same level, as generally happens in the traditional class room teaching and may create a problem for the learner.Without knowing the learner's knowledge level system would not have the worth as it is supposed to have.After judging the knowledge level of the learners, learner's interaction will be done to the report engine.

Report Engine
The report engine produces various mandatory reports of learner's knowledge level.The system is intended to support the learner of the algorithm and learners are required to have mandatory knowledge of the programming basics.The programming basics includes either of the language as C, C++, Pascal or any other programming language suitable for algorithm designing, the basic knowledge of the data structure and the basic awareness of the algorithm to support the learning of the algorithm analysis and designing.
As in knowledge assessment engine the system would test the knowledge of the learner, report engine supports to bring that knowledge into picture in the form of report.These reports reveal the knowledge level of the learners and accordingly the system gives instructions to the learners for the next level or the same level topic.

Algorithm Design Instruction Engine
This engine supports the learners when they attempt to design algorithms and facilitates the learners in maintaining the desired properties of the algorithm.These properties include efficiency, correctness and implementation eases.An algorithm is the key for developing a successful program.The Algorithm Design Instruction Engine stores each and every step followed by the learner in a database during algorithm designing.These steps later on facilitates the designing the algorithm with the minimal error and in efficient manner.

Algorithm Analysis Instruction Engine
To analyze the efficiency of algorithm, the framework provides an Analysis Instruction Engine.The engine facilitates the learners to know the status and the worth of the designed algorithm by analyzing it.Selection of the best suitable algorithm is done on the bases of algorithm analysis only.Analysis of algorithm supports in predicting the resources that an algorithm requires and these resources are memory requirement, communication bandwidth and computational time.
The engine supports in identifying whether program is efficient or not.If algorithm is inefficient (in terms of running time, memory consumed and other required resources), Meta learning facilitates the learners to know the correct path.

Learners Engine
This engine focuses on the issues of the correctness and efficiency of designed algorithm.If algorithm appears inefficient and incorrect, the learning engine shows the correct path to the learner by providing Meta learning.Actual learning is done in the learning engine after ascertaining the learner's knowledge level, designing and analyzing the algorithm.This engine supports the learner in improving their knowledge level and designing of algorithm.Later on the next engine tests whether the learner obtain any benefit of the system.

Proficiency Report Engine
Proficiency Report Engine plays an important role by producing reports of the learner's expertise.This engine brings the actual knowledge level of the learners after using the system in the form of reports.These reports are helpful to determine on which topic learner should concentrate more.

Limitation of the framework
Literature supports not just the worth of the WBI for algorithm designing and analysis but also supports few of its limitations.One of the limitations is availability of Web as a permanent medium; (Nichols, 1995) predicts that: "The potential benefit from formulating evaluation methodologies for the Web [for instructional materials] depends on whether or not the Web will become a permanent medium or a passing fad?In fact, the Web will likely soon become the most popular medium for the delivery of distance education type materials." Another limitation includes the number of algorithm implementation in the proposed system.Initially the system will be designed to facilitate the learning for designing and analysis of sorting and searching algorithms only.

Conclusion
The framework presented here is objectively designed to support instructing and learning for designing and implementing WBIs for algorithms.Generally it is found that learners find a tough time during learning an algorithm design and its analysis.The system designed is intended to support learners by this framework.The paper provides variety of attributes that are supported by the system and also describes various goals and the system environment.The figure-1 depicts the flow of development for proposed system.Each phase depicted plays its own role in the development of framework with the help of expert review.The foremost importance is given to the expert reviews to bring a complete, perfect and worthwhile system.Expert's view is taken by meeting them personally, with the help of questionnaires, inspection during the development and walkthrough are done.During algorithm learning with the proposed system learner will interact with the various engines.These engines include Student Interface Engine, Knowledge Assessment Engine, Report Engine, Algorithm Design Instruction Engine, Algorithm Analysis Instruction Engine, Learners Engine and Proficiency Report Engine.All these engines will be developed during system's implementation.This figure shows the flow of the system during learning.

(
iii) To provide individual assistance during experiment and implementation of algorithms.(iv) To promote an open environment of learning algorithm (v) To motivate learners for self-regulated learning

Figure 2 .
Figure 2. Flow of WBIs for Algorithm System