The tremendous impact of electronic technology (like computer and computer embedded devices, computer networking, artificial intelligence, multimedia among others) on the human psychological capabilities productivity, intellectuality and other human related activities are very obvious. The quest and virtual implementation of computer in all the fields of human endeavor increases with its inevitable impact, these impacts are on its increase due to the need for high quality and timely response. Therefore, this project titled, “Design and implementation of e-learning platforms for an introduction to C++ programming language”, is aimed at exploring and incorporating some of these sophisticated technologies for the development of electronic tutorial materials. This work examines and explains the step-by-step procedure for accomplishing the development of the proposed software products, the attainment of the goals and necessary requirement for their implementation. It considers and discusses the impact of the proposed products on the targeted end-users. This project is implemented using HTML, Microsoft asp.net and SQL Server for the online learning platform tutorial application package, and an e-book.
TABLE OF CONTENTS
List of tables
List of figures
Table of contents
CHAPTER ONE: INTRODUCTION
REVIEW OF RELATED LITERATURES
2.2 The traditional teaching and learning procedure, and some of its weakness
2.3 What is e-learning/the e-learning procedure?
2.4 challenges affecting the effective implementation of e-learning
2.5 possible remedies to the aforementioned challenges affecting the effective Implementation
2.6 concept of computer programming
2.7 C++ programming language
2.8 Benefit of C++ programming language In E-Learning Design
CHAPTER THREE: SYSTEM ANALYSIS AND DESIGN
3.2 Feasibility study
3.3 Methods of data collection
3.4 Data preparation
3.5 Program structure
3.6 File maintenance module
3.7 Main menu specifications
3.7.1 Output specification
3.7.2 Input specification
3.7.3 File/database specification
CHAPTER FOUR: SYSTEM IMPLEMENTATION
4.2 Justification of the programming language
4.3 Program flow chart
4.4 System requirement
4.5 Implementation details
4.5.2 System testing
4.5.3 Program documentation
4.5.4 Changeover procedure/product implementation
4.5.5 Training and re-training of staff and students
CHAPTER FIVE: SUMMARY, RECOMMENDATIONS AND CONCLUSIONS
Learning is one of the very vital human activities that require concentration blended with interactivity, clear and distinct understanding of the facts been stated or discussed, high communication skills and techniques, attractive learning qualities such as colorful pictorial presentations of information among others. Nevertheless, all not learning process is considered to be effective. Effective could be assumed to had been achieved if about hundred percent (100%), of the population lectured assimilate the knowledge and/or ideas across; this is quite different when the population size is very high and there is existences of certain un-conducive learning conditions such as noise, poor ventilation, and extreme temperatures.
For effective learning to take place, it is dependent on many factors. In most cases, these factors arise from the teachers, the students, the teaching and learning media or materials, and the learning environment with its structures. For instance, if a teacher lacks communication skills and techniques, the students, will find it difficult to comprehend, if the necessary media or materials required for teaching and learning is not provided or if the provision is inadequate, the understanding of the subject topic or issue been discussed might be impaired. In addition, the duration for teaching and learning, the rate of understanding and individual learning style effect the assimilation of knowledge by the students; and may have impact on the extent to which the teacher covers the teaching scheme. These factors will, certainly, hamper the effective teaching and learning by the teacher and by the students respectively (see figure 1 in appendix).
Most especially, the factors affecting effective learning is pronounced in learning aspects where intensive or much practical approach is required for the impacting of knowledge to the students. For example, in computer science much practical knowledge is required especially in computer networking, computer programming, and computer maintenance. The practical equipping of students are been affected by certain factors such as the duration for practical teaching and learning, inadequate computers, availability of computer laboratories, and poor power supply among others. As a result it is generally observed that most computer science students with little or no practical knowledge engages the service of the road side “computer training institute” due to the fact that it is not financially intensive and there is great need for the services, this approach, by such student has high tendency of impacting wrong knowledge on students especially on the terms and explanation of concept s found or used in the computer science world. Therefore, there is the need to reduce this different situation and ensure that the practical standard required of the students is attained.
The progress made in the computer world through the development of sophisticated hardware, software, and other technologies could be employed for the remedy of the situation. Exploring the powerful capabilities of multimedia and implementing it on teaching and learning processes via the production of learning material and products such as e-book, computer assisted learning (CAI), computer aided instruction(CAT), computer based training(CBT), internet based training among others would go a long way towards improving the advancement of the practical and theoretical knowledge of the students. With high quality content value of the e-learning products and the captivating multimedia features embedded in them, a student can easily, assimilate such knowledge (even in the absence of a teacher and the required physical environment) through repetitive
Accessing of the e-learning materials and following the animated instructions contained therein. Finally, the case study computer science department, federal polytechnic nekede, owerri is selected due to its proximity.
It is very obvious that it is required of the computer science students to be practically and theoretically sound so as to face the challenges to be encountered in the labor market. Disappointingly, most of the computer science students are not equipped as expected before lunching them into the labor market.
Often time, the students are found to be the highest set of customers patronizing most of the side “computer training institute” and in turn, might not get the value of services they requested. This situation had been ascribed to many claims, in most occasions, had been made by both students and teachers on the pattern of teaching and learning respectively .for instance, the students claim the greater percentage of the teachers have poor teaching communication skills, and likewise the teachers blame the inadequate teaching and learning facilities and/ or infrastructure as the reason for ineffective learning.
Hence, the problem centers on effective teaching and learning processes for the impacting and the advancement of the students’ theoretical and practical knowledge.
owing to the difficulties experienced during teaching and learning processes, this project is aimed at implementing e-learning through the development of a web site expected to be published over the internet, a CAL application package that will be installed in a computer, and on e-book in portal document format (PDF); this is to provide different remedy platforms for the shortcoming found in the traditional teaching and learning procedures.
Focusing on the above, the objectives of the study are to develop e-learning applications that are capable of:
This project uses the combination of multimedia features, little artificial intelligence features, and human –computer interaction principles for the development of a web site for an online and implementation offline implementation of e-learning. Both of the e-learning are designed for the learning of c++ programming language at its introductory level. These proposed e-learning avenues are deviations from the traditional teaching and learning procedure, and as a result have their main importance as follows:
Apart from these main importance of the study, other reasons like protecting the students from assimilating wrong information passed on by the quack, the inadequate learning and teaching materials, difficulties to have access to information on time, and the general factors affecting effective learning could take care of.
The proposed e-learning products are targeted for the attainment of effective learning through the use of interactive presentations. Further, the products are expected to be used by computer science students with little or no pre-knowledge of c++ programming language. The product contents are structured to accommodate novice in computer programming and their usage are not limited to computer science students alone but to students of other disciplines who wish to have basic fundamental knowledge on programming using programming language.
In the development of the proposed products, certain security consciousness likes piracy where moderately considered while some security measures like password were implemented. Each of the proposed e-learning products have different security requirement. On the side of the e-learning application package, password usage was implemented for discriminating the premium users from the free users. The internet application is designed to have an open unrestricted accessibility; this is to boost products awareness and marketing. The e-book is created in portal document format (PDF) so as to ensure content authenticity. Nonetheless, the three e-learning products do not implement any strong piracy security due to the fact that day after day more sophisticated hardware and software are developed which, in the contrary reason for their development and usage, used for computer product piracy. Finally, the physiological and cognitive impact of the proposed e-learning products on their users have their scope for achieving them limited to the use of multimedia features and interface design. This is one of the most important tasks required to be embedded in the products. In this learning application package, this is accomplished through the use of help menu and help animations, the internet application accomplishes the same task through the use of hyperlinks, flash animations, and still images while the e-book made use of hyperlinks and still images.
Apart from the usual risk and limitation present in every project due to time, scope, quality and financing, a major limitation arises from the gathering of information or data from the concerned individuals with fair and un-bias judgment of the proposed e-learning products. Many of the individual, especially the expected users, were unwilling to give feedback on the impact of the proposed products on them while some other will prefer to give haphazard information which tantamount dirty data. In addition, the tendency of receiving unfair and bias information and materials (which ranges from reference materials to development support devices) required for actualizing the proposed e-learning products specifications posed a great impediment to the study. Nevertheless, in the attempt to overcome these impediments, the research work of other scholars and practitioners were used in conjunction with the result of my project research evacuation and analysis. This approach is adopted to ensure accurate and good developmental practices
Considering the multi-tasking nature of the project, much time and financial resources are required. Owing to this fact, specifications of the proposed e-learning products were adjusted to suit the available financial budget allocated to it and which is obtainable. However, efforts were made, towards retaining the e-learning products quality, accomplishing of the projects objectives and completion of the project within the specified period of time.
1.7 DEFINITION OF TERMS
Software – a set of logical related program modules that are given to the computer for the accomplishment of a specific task or asset of task.
Program module – this is made up of one or more program procedure, routine, function, or events that handle a definite task or set of task.
Program procedure – a set of program codes that response to a particular action such as click or could be called for execution from another program procedure depending on its scope.
Program routine – see program procedure.
Program function – this is of ascribe to program procedure that is used for accomplishing a specific task, especially mathematical operations, whenever call for execution. See also program procedure.
Program event – see program procedure.
Program- a set of logical related instruction codes that is given to the computer which enables it to perform a specific task or events.
Application – this is synonymous to application software or application package. Application software is a class of software that runs on an operating system and its design to handle a specified task related to any human career.
Operating system – it is a set of logical related programs which enables the computer to manage its resources. The resources which it manages are hardware components.
System software – this is a class of software that are made up of other suit of software designed to enable the computer handle its resources and carry out some set of task. The system software comprises of operating system, program translators, editors and utility programs.
Translator – this is synonymous to program translator or language translator or programming language translator. This is software whose function is to translate or transform program codes written in one programming language level to another (from high level programming language code to low level programming language codes). A translator could be an assembler, an interpreter or a compiler.
Dirty information – this is also known as dirty data. It is information that does not conform to the directives for its supply. Example: supplying your date of birth as against date of employment using the title finger instead of ring finger in a finger print which requires ring finger.
High level programming language – this is a class of programming language that is much closer to human language. It requires program translator for its codes to make meaning and be executed by the computer. Examples of high level programming language are BASIC, JAVA, HTML, C++ and PASCAL.
BASIC – this is a high level programming language, is very simple and less difficult to learn and use. It can come in the form of command oriented programming language e.g. QBasic or could come in the form of object oriented programming language e.g. visual basic.
HTML – this is one of the programming languages which could be used for developing web documents.HTML stands for hypertext markup language. Other languages that could be for web development are XML (extended markup language) and XHTML (extended hypertext markup language).
Programming language – this is a set of operation of grammatical rules (syntax or protocol) use for written and developing instructional codes given to the computer for task performance.
Programming language application software – this is application software designed to allow the user write and develop program and/or application using a particular programming language. For instance, visual Basic programming language.
Interpreter – this is a kind language translator that translates high level programming codes equivalent and at the same time executes the program codes line after line, this is achieved if and only if the line of code is error free.
Compiler – this is a kind of language translator that translates high level programming language code into its low level programming language codes equivalent and makes it executable only if this entire program code is error free.
Low level programming language – this is a class of programming language that requires language translators for it to be understandable by the computer. This class of programming language has the characteristics of machine independency, easer to debug and comparatively show during program execution. Example, Basic, FORTAN, java, Pascal, C, C++ among others.
Debug – this refers to detecting and correcting or removing errors contained in a source program.
Source program – this is a set of program codes that contains the instructions and response to events. It is usually used in guiding the computer on the reaction to take place or the specific task to carryout for a given action. The source program codes are usually executed by the computer and are not to be seen by the user especially if the target program is application software.
User interface – the environment that is seen by the end-user of application software which allows the end-user to make use of it.
Event – An action that is made by the computer system though its input devices or software.
Object code – codes that are displayed as a result of executing the sources program or the source codes. Object codes are displayed on the user interface.
Media – these are those things, materials or tools used for storing and delivering of information or data. Media can also imply channels, links or materials that convey data or information.
Learning media – learning materials that convey information to a student or from which a student can extract knowledge from. Example, textbooks novels, among others.
Multimedia – as applied to this project, it is media and content that uses a combination of different content forms.
Contents – information and experiences that may provide value for end-user.
Content form – this refers to the way information or content is been presented. The different features of the multimedia forms its content forms. Example audio, video, text, among others.
Content value – this refers to the usefulness of information contained in media.
End-user – also known as user. this is an individual or an organization that make use of finished product or for whom a product is designed and developed.
Hardware – this is a physical component of a computer that could be touched or felt. Example visual display unit (VDU).
CAL – this stands for computer Assisted learning. It is an application package that is designed to enable the user learn a particular subject through the provision of tutorial that may or may not companied by questions. CAL is popularly called tutorial software. CAL is very close to CAI and could be used interchangeable, but in some cases, might not mean exactly the same.
CAI – this is an abbreviation of computer aided instruction. It is an application package that is designed to enable the user learn and/or get acquainted with a specific subject or an aspect of life.CAI, in most cases, is a simulation of real life event or true appearance of the subject for which for the user is to be educated on. Most CAI comes in the form of examination preparatory tutorials like TOEFL (test of English as a foreign language) and safety training tutorials like military combat training. Computer game is not always regarded as a CAI application rather entertainment application software.
Project – this is finite endeavor having started and completion dates undertaken to create quantifiable product. It is made up of series of job to be completed individually within the time duration allocated such a project.
Project completion time – those resources or inputs that are required for accomplishing a project. The major project resources are human materials and financial resources.
Data collection – the act of gathering information or data from different sources within the problem defined set. Data collected are processed and the information used for validating the proposed product of the project.
Problem defined set – the population set for which an evaluation must be made to verify the impact of the proposed product. For instance, the problem defined set for this project are the students (especially, the computer science students) and instruction ( the instructor who wishes to introduced to C++ programming language).