Abstract
This project was motivated by the fact that students perceive programming as a difficult and challenging task. Indeed, several factors make programming seen hard and difficult. One of such challenges is the absence of wide range of sample codes for programming tasks, from which the students can learn. This project was carried out to provide detailed explanations and a wide range of sample codes, for students to learn from. It is the conviction of the researcher that students should not only know how to use online JavaScript tutor, but also know to develop and programme it.
TABLE OF CONTENTS
Chapter 1 Introduction
1.0 Background Of The Study
1.1 Statement Of Problem
1.2 Aims And Objectives
1.3 Scope Of The Project
1.4 Significance Of The Study
1.5 Limitations Of The Project
1.6 Definition Of Terms
Chapter 2 Literature Review
2.0 The Meaning of JavaScript
2.1 Brief History Of JavaScript
2.2 Technical Nature Of JavaScript
2.3 Features Of JavaScript
2.4 Problems Encountered By Students In Learning Programming
2.5 The Advantages Of Web-Based JavaScript Tutor
2.6 World Wide Applications Of Software Tutors
2.7 Problems And Challenges
2.8 Review Of Related Works
2.9 Summary Of Review
Chapter 3 System Analysis And Methodology
3.0 Description Of The Current Computer-Aided Tutors Used In Teaching And Learning Process
3.1 The Weaknesses Of The Current Methods
3.2 Analysis Of The New System
3.3 Advantages Of The Web-Based Tutor
3.4 Software Requirement
3.5 Hardware Requirements
Chapter 4 System Design And Implementation
4.0 Introduction
4.1 Design objective
4.2 Output Specification And Design
4.3 Input Specification And Design
4.4 Modules And Submodules Of The New System
4.5 Overall Object Model
4.6 Algorithm Of The New System
4.6.1 Algorithm For The User Registration And Login
4.6.2 Algorithm For The Content Page
4.6.3 Algorithm For The Audio Visuals: Audios And Videos Module Page
4.7 The Program Flow-Chart
4.7.1 Flow Chart For The User Registration And Login
4.7.2 Flowchart For The Content Page
4.8 System Implementation
4.9 Web Hosting
4.10 Testing And Debugging
4.11 Changeover Procedure
4.12 Recommended Changeover
Chapter 5 Summary, Recommendations And Conclusion
5.0 Summary
5.1 Recommendations
5.2 Conclusions
References
Appendix – Codes And Screenshot
Chapter 1
Introduction
1.0 Background Of The Study
Students encounter several problems and challenges in learning computer programming. The problems include inadequate sample codes and insufficient training, as well as inadequate academic staff. Another factor is very high work load, which makes it hard for computer teachers and lecturers to provide enough attention and training for programming students.
In some institutions, like the National Open University, the students have to study most of the time on their own. That partly means that the students have to train themselves.
While the intelligent students may find it easy, many others are discouraged, because they find the learning process boring and difficult.
Again, high cost of books and general economic hardship, make it hard for the students to purchase and use text books. But, an online tutor can easily be accessed by students through the use of laptop, android phones, smart phones or ordinary handsets. The contents can also be made available on low cost compact disk (CDs), which can be sold, copied or installed on a personal computer or laptop.
In order to solve the above problems, the researcher decided to design and develop a website for teaching and learning JavaScript programming language
1.1 Statement Of Problem
Today in the world, computerization is en vogue. Every aspect of human endeavours are being computerized, to make services and benefits very easy, fast and available all over the world. In the process, so many activities of humanity are being subjected to automation, a computerization process, design and development, so that what was once a manual activity becomes performed by a computer.
In the modern era, population explosion is a re-occurring decimal, with the teeming population of humanity on the increase, especially in a geometrical proportion. Therefore, there is the need to provide a computerized tutorial software that can teach so many students, across the universities, countries and across the world, even so at the same time. Hence, this project was selected as a contribution to both academic and general human development, especially as way of enhancing the quality and quantity of teaching and learning JavaScript programming.
1.2 Aims And Objectives
The aim of this project is to develop a Internet-driven website for the teaching and learning JavaScript.
The objectives of the project are the following:
- Design the website.
- Design all the necessary web pages.
- Include available types of data to form a multimedia contents, which includes text, graphics, audio and music formats.
- Link the pages.
- Test the new website tutor.
- Debug and make modifications, where necessary.
1.3 Scope Of The Project
This project shall cover necessary introduction, basic fundamentals, variables, declarations, comments, control statements and functions.
The website shall be able to collect, store, retrieve and provide online comments, questions and discussions, by allowing students to ask questions, supply answers, make comments and perform calculations.
The package shall also help the users to navigate to related websites or browse to application packages and social networks like the Facebook, Twitter, Messenger, WhatsApp, etc.
1.4 Significance Of The Study
The website tutor shall provide the following benefits to the universities, students and lecturers, as well as to the colleges, polytechnics and the general public, especially to those in educational fields of human endeavours:
- Provide general introduction to JavaScript programming.
- Explains the basic fundamentals of JavaScript.
- Provide a brief history of the development of JavaScript.
- Outline the table of contents or course outlines.
- Provide course materials for learning JavaScript.
- Make available basic programming techniques and how to apply them.
- Provide the course materials, built into the website.
- Make the website tutor available on portable android phone, laptops and desktop personal computers.
- Guide the students in their learning process, by enabling both direct and random access. Randomness in the sense that a student, who so wishes, can jump to, open any of the course materials by clicking on the relevant links.
- Provide interface for discussion, such that student can post materials, ask questions, make comments or contribute ideas on specific topics or contents.
- Provide answers to frequently asked questions.
- Provide possible remedies to challenges and problems encountered in computer programming.
- Provide sample codes for beginners in JavaScript programming.
- Provide links to related websites.
1.5 Limitations Of The Project
Usually, every meaningful project has challenges, problems and hindrances. The limitations of the project were:
- Inadequate training during the university education, teaching and training.
- As is often the case, network service was not always or readily available, necessitating switching form one network to another.
- The problem of poor and irregular supply of electricity, leading to unnecessary delays and disappointments.
1.6 Definition Of Terms
Access: The opportunity to get and use something, especially by computer network or application.
Application: This is any software package, which can be applied to perform specific tasks.
Break: A temporary stop during program execution or testing.
Break Point: A break point is a specified line in a list of code, where the compiler is directed to halt operation during program execution and testing.
Browsing: The word “browse” means to click, to access, to open, to locate and retrieve information; to see, to read, etc., using a website or search strategy.
Browsing Aids: This refers to text or graphics, which serve as a link to other website or web pages.
Code: One or more lines of computer codes, in the form that a computer can understand, which translates algorithms into source code.
Debugging: Debugging is the practice of test running a software in order to find out errors and correct them.
Design: This is the use of manual efforts in designing a system on papers or book, by sketches, algorithm, flowcharts, initial codes, etc.
Design Mode: The computer software state or environment when a program is being designed.
Home Page: The first page on display whenever a website opens, usually saved as the index.
Incubation: The temporal suspending of a programming task, in order to rest and have a clear mind-set.
Interface: Any onscreen object or form, by which the computer users interacts with computer software and hardware.
Programming: The practice of designing and implementing software, that involves the use of algorithm, flowcharts and codes in making computer perform specific tasks.
Run: This is the state of running a software design, while executing it on the computer.
Run Mode: The state or environment of a software when the program is running.
Software: The seen and intangible computer package that is run or executed on the monitor, in order to perform tasks.
Software Engineering: This is another name for computer programming. A software engineer is also called a computer programmer.
System: Any set of separate devices, which work together in performing tasks. A good example is the computer system, which includes the monitor, keyboard, mouse, central processing unit, printer, scanner, modem, etc.
Web: Another name for the Internet.
Web Page: A Web Page is an on-screen display of information, which may be text, graphics, animation, audio and video.
Web Site: A web site is a collection of related web pages, saved with a single website address.
World Wide Web: The network of all computer networks all over the world.