5.0 PROGRAMMING1LESSON 1PROGRAM AND PROGRAMMINGPROGRAMA computer program is a series of organised instructions that directs acomputer to perform tasks. Without programs, computers are useless.A program is like a recipe. It containsa list of variables (called ingredients)and a list of statements (calleddirections) that tell the computer whatto do with the variables.Like a recipe, a program can bewritten in different programminglanguages which may express thesteps differently according to theprogramming language syntax, butdeliver the same end result.PROGRAMMINGProgramming is a creation of a set ofcommands or instructions which directs acomputer in carrying out a task.Later these commands or instructions willbe compiled and/or interpreted and thentransformed to executable instructions thata computer or electronic device can executeor run.
5.0 PROGRAMMING2PROGRAMMING LANGUAGEA programming language is a set of words, symbolsand codes that enables humans to communicatewith computers.It is a language used for writing computerprograms, that direct a computer to performcomputation and to organise the flow of controlbetween mechanical devices.EXAMPLES PROGRAMMING LANGUAGEHundreds of programming languages exist today.Each language has its own standard or rules forwriting the commands and/or instructions.Examples of programming languages are:BASIC (Beginner s All Purpose SymbolicInstruction Code)PascalCSmalltalk.EXT : CAREER IN PROGRAMMINGA programmer is someone who writes computer programs. One who adoptsand practices a formal approach to programming is sometimes also referredto as a programmer analyst, computer scientist, software engineer andsoftware analyst.A programmer analyst designs computer programs besides writing them.A computer scientist is a generic or broad term for a professional withexpertise in computer software.These different job titles are quite subjective asdifferent companies may define them differently.Professional programmers may work in corporateIT departments, software houses and servicecompanies.Sometimes professional programmers work forconsulting companies and their work often takesthem to their client s workplace.
5.0 PROGRAMMING3LESSON 2GENERATIONS OF PROGRAMMING LANGUAGEA low-level programming language is a programming language that provideslittle or no abstraction from computer s microprocessor.A high-level programming language is a programming language that is moreabstract, easier to use, and more portable across platforms.LEVELS OF PROGRAMMING LANGUAGE
5.0 PROGRAMMING4FIRST GENERATION OF PROGRAMMING LANGUAGEThe first generation of programminglanguage, or 1GL, is machine language.Machine language is a set of instructionsand data that a computers centralprocessing unit can execute directly.Machine language statements are writtenin binary code, and each statementcorresponds to one machine action.SECOND GENERATION PROGRAMMING LANGUAGEThe second generation programming language, or2GL, is assembly language. Assembly language is thehuman-readable notation for the machine languageused to control specific computer operations.An assembly language programmer writes instructionsusing symbolic instruction codes that are meaningfulabbreviations or mnemonics.An assembler is a program that translates assemblylanguage into machine language.Since assembly language consist of human-readableabbreviations, the assembler must first convert assembly language intomachine-readable language before the computer can readily understand itsinstructions.
5.0 PROGRAMMING5THIRD GENERATION PROGRAMMING LANGUAGEThe third generation of programming language, 3GL, or procedural languageuses a series of English-like words, that are closer to human language,to write instructions.High-level programming languages make complex programming simpler andeasier to read, write and maintain.Programs written in a high-levelprogramming language must be translated into machine language by acompiler or interpreter.PASCAL, FORTRAN, BASIC, COBOL, C and C++ are examples of thirdgeneration programming languages.FOURTH GENERATION PROGRAMMING LANGUAGEThe fourth generation programming language or non-procedural language, often abbreviated as 4GL,enables users to access data in a database.A very high-level programming language is oftenreferred to as goal-oriented programming languagebecause it is usually limited to a very specificapplication and it might use syntax that is never usedin other programming languages.
5.0 PROGRAMMING6SQL, NOMAD and FOCUS are examples of fourth generation programminglanguages.FIFTH GENERATION PROGRAMMING LANGUAGEThe fifth generation programming language or visual programminglanguage, is also known as natural language.Provides a visual or graphical interface, called a visual programmingenvironment, for creating source codes.Fifth generation programming allows people to interact with computerswithout needing any specialised knowledge.People can talk to computers and the voice recognition systems can convertspoken sounds into written words, but these systems do not understandwhat they are writing; they simply take dictation.Prolog and Mercury are the best known fifth-generation languages.
5.0 PROGRAMMING7EXT : OPEN PROGRAMMING LANGUAGEThe Open Programming Language (OPL) isan embedded programming languagefound in portable devices that run theSymbian Operating System.For example mobile telephones and PDAs.OPL is an interpreted language that isanalogous to BASIC.In the early years, before the computerwas invented, there are several inventionsof counting machines.
5.0 PROGRAMMING8LESSON 3PROGRAMING APPROACHESSTRUCTURED PROGRAMMING EDUCATIONStructured programming often uses a top-down design model wheredevelopers map out the overall program structure into separate subsectionsfrom top to bottom.In the top-down design model, programs are drawn as rectangles. A top-down design means that the whole program is broken down into smallersections that are known as modules.A program may have a module orseveral modules.Structured programming is beneficial for organising and coding computerprograms which employ a hierarchy of modules. This means that control ispassed downwards only through the hierarchy.Examples of structured programming languages include Ada, Pascal andFortran.
5.0 PROGRAMMING9OBJECT-ORIENTED PROGRAMMINGThe object-oriented approach refers to a special type of programmingapproach that combines data with functions to create objects.In an object-oriented program, the object have relationships with oneanother.One of the earliest OOP languages isSmalltalk. Java, Visual Basic and C++are examples of popular OOPlanguages.DIFFERENCE BETWEEN STRUCTURED AND OBJECTORIENTED PROGRAMMINGStructured programming often uses a top-down design model.The object-oriented programming approach uses objects.
5.0 PROGRAMMING10LESSON 4TRANSLATORSometimes two people cannot understand each other because they don tspeak the same language. So they need the help of a third person whounderstands both languages. This third person is known as a translator.All software packages or programs are written in high-level languages, forexample, C++, Visual Basic and Java.However, in order for the computer to be able to carry out the instructions,the high-level languages must be translated into machine language beforethe computer can understand and execute the instructions in the program.The translation of high level languages to machine language is performed bya translator.PROGRAMHave you ever wondered how your computer runs your favourite software?Your favourite software is a program that consists of several instructionsthat perform its operation.A programmer will write a source code which consists of the instructionsneeded to run a program. Then the compiler or interpreter with assemblerwill translates the source code into machine language which is made of asequence of bits (eg. 01100011).The computer will load the machine code and run the program.
5.0 PROGRAMMING11ASSEMBLERAn assembler is a computer program for translating assembly languageessentially, a mnemonic representation of machine language into machinelanguage.For example in intel 80836, the assembly language for the no operationcommand is NOP and its machine code representation is 10010000.Example of assemblers are MACRO-80 Assembler and Microsoft MASM.INTERPRETERInterpreter is used to interpret and executeprogram directly from its source withoutcompiling it first. The source code of aninterpreted language is interpreted and executedin real time when the user execute it.The interpreter will read each codes converts it tomachine code and executes it line by line until theend of the program.Examples of interpreter-based language areBASIC, Logo and Smalltalk.
5.0 PROGRAMMING12COMPILERThe source code (in text format) will be converted into machine code whichis a file consisting of binary machine code that can be executed on acomputer. If the compiler encounters any errors, it records them in theprogram-listing file.When a user wants to run the program, the object program is loaded intothe memory of the computer and the program instructions begin executing.A compiled code generally runs faster than programs based on interpretedlanguage. Several programming languages like C++, Pascal and COBOLused compilers as their translators.
5.0 PROGRAMMING13LESSON 5HOW TO INSTALL VISUAL BASIC 6.0VISUAL BASIC 6.0 INSTALLATIONMicrosoft Visual Basic 6.0 was designed to be easy to learn and use. Thelanguage not only allows programmers to easily create simple GUIapplications, but also has the flexibility to develop fairly complex applicationsas well.Programming in Microsoft Visual Basic 6.0 is a combination of visuallyarranging components or controls on a form. Hence a simple program can becreated without the programmer having to write many lines of code.VISUAL BASIC 6.0 FEATURESMicrosoft Visual Basic is fast and easy with intuitive tools that enable you torapidly build your own Windows applications. You can use Microsoft VisualBasic to develop programs such as games, calculator, phonebook databaseand lots more.The word Visual refers to the technique used to build the Graphical UserInterface (GUI). Visual Basic features an easy drag and drop method toproduce an interactive Graphical User Interface (GUI) for your program.The Basic part refers to the BASIC (Beginners All-Purpose SymbolicInstruction Code) language, a high level programming language develop byMicrosoft.
5.0 PROGRAMMING14VISUAL BASIC 6.0 FEATURESAmong the main features of Visual Basic aredrag and drop user interface, data accessfeatures, ActiveX technologies and internetcapabilities. Drag and drop user interfaceallows you to instantly create an interactiveuser interface for your software without dozensof codes.Data access features allow your application toaccess information from a database such as atelephone book program.ActiveX technologies allow you to make use of the functionality provided byother applications.Internet capabilities allow your program to interactively utilise the Internet.
5.0 PROGRAMMING15LESSON 6BASIC ELEMENT IN PROGRAMMING5 Basic elements in programming.1. Constant.2. Variable.3. Data Type.4. Operators.5. Control Structures.CONSTANTS AND VARIABLESConstantsConstant is a data container that stores information. The value will neverchange (remains constant) at any time during the course of a program.Declare is the official term used in programming to announce to the programthe condition of statement in programming.VariablesVariable is a data container that stores information. The value inside maychange at any time during the course of a program.
5.0 PROGRAMMING16DATA TYPES, OPERATOR AND CONTROLSTRUCTURES
5.0 PROGRAMMING17LESSON 7THE DIFFERENCES BETWEEN ETHICS AND LAWCONSTANTS AND VARIABLESConstant is a virtual data container that stores information. The value willnever change (remains constant) at any time during the course of aprogram.Variables is a virtual data container that stores information. The valueinside may change at any time during the course of a program.DIFFERENCES BETWEEN CONSTANTS ANDVARIABLES
5.0 PROGRAMMING19LESSON 8RIGHTS DATA TYPESDATA EXAMPLES FOR DIFFERENT DATA TYPESData type determines the typeof data a variable can store,for example a number or acharacter. Examples of datatypes are integer, double,string and boolean.DATA EXAMPLES FOR DIFFERENT DATA TYPESIntegerInteger data type contains any whole number value that does not have anyfractional part.This is how we declare an integer type constant in Visual Basic statement.This is how we declare an integer type variable in Visual Basic statement.DoubleAny number value that may and could contain a fractional part.This is how we declare a double type constant in Visual Basic statement.This is how we declare a double type variable in Visual Basic statement.
5.0 PROGRAMMING20StringAny value that contains a sequence of characters.This is how we declare string type constant in Visual Basic statement.This is how we declare string type variable in Visual Basic statement.BooleanBoolean type consists either a True or False value. Programmers usually useit to store status.This is how we declare a boolean type constant in Visual Basic statement.This is how we declare a boolean type variable in Visual Basic statement.
5.0 PROGRAMMING22LESSON 9MATHEMATICAL AND LOGICAL OPERATORSMATHEMATICAL, RELATIONAL AND LOGICALOPERATORSOperator is a symbol or notation that tells a computer to perform certainactions or operations.An example: the plus (+) notation will tell the computer to perform the"add" operation.Lets look at some examples of Mathematical Operators.
5.0 PROGRAMMING23Lets look at some examples of Relational Operators.
5.0 PROGRAMMING24Lets look at some examples of Logical Operators.FUNCTION OF MATHEMATICAL OPERATORSMathematical operators are notations that tell thecomputer to perform mathematical operations.FUNCTIONS OF RELATIONAL OPERATORSRelational operators perform comparison betweentwo elements.They return an element of logical 1 (True) where the relation is true, andelement of logical 0 (False) where the relation is false.The diagram shows some common relational operators and their expression.
5.0 PROGRAMMING25Let s understand a relational operation with the following examples.In this expression, A >= B isused to test if the value of leftexpression (A) is greater thanor equal to that of the rightexpression (B).If the conditions are met, thenthe program will return a logical1 and proceed to print "A isgreater than or equal to B" elseit will return a logical 0 andproceed to print "A is less thanB".FUNCTIONS OF LOGICAL OPERATORSLogical operators are notations that tell the computer to perform logicaloperations.Examples of Logical operation are: AND, OR, and NOT.Logical operator compares 2 conditions and returns a TRUE or FALSE value.
5.0 PROGRAMMING26AND operatorThe diagram shows a truth table of AND operator.Notice that truth value of X AND Y is True ( 1 ) ifonly both X and Y are True ( 1 ).Else it is false ( 0 )OR operatorThe diagram shows a truth table of OR operator.Notice that truth value of X OR Y is only True ( 1 )if either X or Y are True ( 1 ) or both X and Y aretrue ( 1 )Else it is false ( 0 )NOT operatorThe diagram shows the truth table of NOToperator NOT X is the negation of X, it isessentially the 1s complement operation.Notice that truth value of NOT X is True( 1 ) when X is False and vice versa.
5.0 PROGRAMMING27DIFFERENCES IN MATHEMATICAL AND LOGICALOPERATORSAs we have learned, there are somedifferences between mathematical,relational and logical operators.Function :Mathematical operators perform mathematicaloperations such as plus or substract.Relational operators perform element-by-elementcomparisons between twoarrays.Logical operators perform logical operations such aschecking the condition of two Boolean values.
5.0 PROGRAMMING28Symbols :These operators have their own symbols based on the programminglanguage.EQUALITY OPERATORSThe equality determine an operand equal to ornot equal to another operand.Remember we must use "=" and not "<>" whentesting if two primitive values are equal inMicrosoft Visual Basic 6.0.
5.0 PROGRAMMING29LESSON 10PSEUDO CODESPseudo code is text only sentences thatdescribe the logic and program flow of acomputer program. Pseudo codeesembles plain English.It usually does not have any specificprogramming language syntax andgrammar.Pseudo code is directly linked to thecomputer codes because each pseudocode statement can often be convertedinto the programming language virtuallyline by line.There are no set rules for writing pseudocode.A programmer can have his or her personalised pseudo code.He or she must use consistent language and syntax in the pseudo code, sothat he or she can understand it at a later stage.AN EXAMPLE PROGRAM BASED ON A PSEUDO CODE
5.0 PROGRAMMING30EXT : STANDARDS OF GOOD PSEUDO CODEPseudo-Code is simply a numbered list of instructions to perform some task.In this course we will enforce three standards for good pseudo codeNumber each instruction. This is to enforce thenotion of an ordered sequence of the operations.Furthermore we introduce a dot notation (e.g. 3.1come after 3 but before 4) to number subordinateoperations for conditional and iterative operationsEach instruction should be unambiguous andeffectively computable.Completeness. Nothing is left out.Pseudo-code is best understood by looking at examples.Each example below demonstrates one of the control structures used inalgorithms : sequential operations, conditional operations, anditerative operations.We also list all variables used at the end of the pseudo-code.
5.0 PROGRAMMING31Example:Computing discount:Pseudo-code:Computing the final price of an itemafter figuring in discount.Note the three types ofinstructions:input (request),process/calculate (=) andoutput (print)
5.0 PROGRAMMING32LESSON 11FLOW CHARTLet s identify some of the main elements in the flow chart. We have fivemain elements in a flow chart.Terminator shows the beginning or endof a program.Flowline and arrowhead use to connectsymbols and indicate the sequences ofoperation.Input or output shows either an inputoperation (e.g. an INPUT from theuser) or an output operation (e.g. PRINTsome messages).Process shows a process to be carried out(e.g. calculation).Decision shows a decision (or choice) tobe made. The program should continuealong one of two routes (e.g. if...else).A flow chart is a diagram using symbols to show the step-by-step sequenceof procedures in a program. A flow chart describes the logic and programflow of a computer program graphically.Example:A student requests his marks fromthe program.The program will then check whetherhis marks is more/equal to 50 ornot.If the marks are over or equal to 50,the program will print acongratulatory message togetherwith the marks.If the marks are lower than 50 thenthe program will print a motivationalmessage together with the result.
5.0 PROGRAMMING33LESSON 12CONTROL STRUCTURESControl structure is a structure of statements in programming that allowsthe programmer to control the flow of a program.Control structure can be dividedinto sequence, selection andrepetition control structures.SEQUENCE CONTROLSequence control refers to the linear execution of codes within a program. Insequence control, the statements are executed one by one in consecutiveorder.In sequence control, the statements areexecuted one by one in consecutive order.
5.0 PROGRAMMING34Lets see an example of pseudo code that has sequence controlstructure.This program will request the user sdate of birth and then request today sdate, calculate the age and finally willprint the user s age.For example, today s date is 1-JAN-2006, then the results will be shown asfollows:Let s see another example of pseudo code that has sequence controlstructure.The following is the result of theexample.Lets see the flow chart for a general sequence controlstructure.As we can see, the flow chart for sequence control is verysimple.It will execute statement 1 followed by statement 2 and anyfollowing statements.
5.0 PROGRAMMING35EXAMPLEThe flow chart represents a programthat will request the user s date ofbirth and then request today s date,calculate the age and finally will displaythe user s age.SELECTION CONTROLThere are times when you want your program to make a decision based onthe situation given.For example, a program that stores student smarks may respond differently to differentmarks.Or maybe a simple mathematical program willdisplay its result as odd or even, based on theresult.Selection control enables the programmer toassign different events for different situations.An example of selection control is If...Then...Else statement. The basicpseudo code for If...Then...Else statement is as follows.Lets see a pseudo codeexample for theIf...Then...Else" statementfor a program that will printYou are too heavy to ridethe toy car if the student sweight is more than orequal to 50.
5.0 PROGRAMMING36Otherwise it will print You can ride the toy carLets see the flow chart for a similar selection control example.Lets see a program that willrespond differently for differentservice hours in a school library.A student requests her service hoursin a library from the program, theprogram will then check whether herservice hours are more than/equalto 30 or not.If the service hours are over orequal to 30, the program will print amessage, Thank you for yourservice .If the service hours are lower than30 then the program will print amessage, Please continue to servein the library .Lets write an example of a program that implements sequencecontrol structure.This program will declare a constantpi equal to 3.142. Then the programdeclares two variables to be used inthe program (r and volume).The program will then assign somevalue to the r variable.The program will then calculate thevolume using the formula volume =(4/3) rThe program will then display thevolume calculated with a messagebox.
5.0 PROGRAMMING37Now write an example program that implements selection controlstructure.Write a program that will retrieve thecurrent date from the system.If today s date is more than 15 then theprogram will display a message box withthe message We are towards the end ofthe month .Else the program will print We are atthe beginning of the month .DIFFERENTIATE BETWEEN SELECTION CONTROLAND SEQUENCE CONTROL
5.0 PROGRAMMING38EXT : REPETITION CONTROL STRUCTURESLet s learn about the last control structure which is repetition controlstructure. A repetition control structure allows the programmer to specify anaction to be repeated while some condition remains true.This is a pseudo code of "While" structure.This program segment will continue its looping until the condition of variablenamed product is greater than 3000.This is a flow chart of a repetition control structure.
5.0 PROGRAMMING39LESSON 13OVERVIEW OF PROGRAM DEVELOPMENT PHASESIn program development, there are five main phases. These phases are aseries of steps that programmers undertake to build computer programs.The program development phases guide computer programmers through thedevelopment of a program.The five main phases of program development are as follows:
5.0 PROGRAMMING40PROBLEM ANALYSIS PHASEDuring the problem analysis phase, the programmer will interview the clientto find out what the client s needs are.For example, the client might be a school that wishes to set up a schoolregistration program. So the school administrator might tell the programmerthat they need to record students data such as name, date of birth, gender,class, parents names, address and contact numbers.PROGRAM DESIGN PHASEBased on that, the programmer will design a flow chart that represents theneeds of the client, which in this case is the school registration program.CODING PHASEOnce the flow chart is confirmed, the programmer will perform coding.TESTING AND DEBUGGING PHASEThe school registration program will be tested by the users at the client ssite. In this case, it will be the school office administrators. If there are anyerrors, the programmer will do a debugging of the program.DOCUMENTATION PHASEAfter this, the programmer will complete the documentation for theprogram; this includes the user manual, a clear layout of the input andoutput records and a program listing.EXT : SIX STEPS OF SOFTWARE DEVELOPMENTStep 1Know your target user.The software we develop isfor our user. Learn theirpreferences.Step 2Search for the excitingpossibilities in your software.In this way, it is possible toidentify their likely concernsand anxieties and thus takethem into account during thedesign stage.
5.0 PROGRAMMING41Step 3Correlate these possibilities with the target user. Find how to combine thesepossibilities with user personalities.Step 4Immerse yourself in the process. You have to be involved deeply in thesubject that you develop.Step 5Engage a talented and visionary designer or developer in the team. They areresponsible for all aspects of the software.Step 6Make quality and fantastic features as the priorities among softwaredevelopment team members.The software should deliver the complete,accurate, reliable and available information to the right person at the righttime in a suitable format.
5.0 PROGRAMMING42LESSON 14PROBLEM ANALYSISPROGRAM DESIGNThe first step in the program development phase is to analyse the problemsfaced by target users. In this phase, a programmer reviews and defines theproblems. Identifies the data input, process and output for the program.CASE STUDYThe school needs a school registration program to computerise theregistration of new students.Any new student who enrolls in the school should have all his or her datakeyed into the school registration program. They will notified of his or herclass for the coming academic year or term.This case study will be used throughout the program development phases.In this case study, the programmer reviews and defines the problems facedby the school administrators.The school enrolment has increased so much that it has become verydifficult for them to perform student registration without the help of acomputer program or system.The programmer must indicate the purpose of the program beforecontinuing to the next task.In this case, the purpose of the school registration program is tocomputerise the registration of new students.the problemIncrease of students make theregistration more and moredifficult.Registration must be made byusing the computer.the solutionthe purposePurpose of the schoolregistration program is tocomputerise the registration ofnew students.
5.0 PROGRAMMING43In this situation, the programmer identifies the data input, process andoutput for the program.First step: The programmer identifies the data input, for example student sname, student s NRIC, gender, telephone number, date of birth, parentsname and address.Second step: The programmer identifies the process for the program. Anynew student who enrolls in the school should have all his or her data keyedinto the schools registration program.PROBLEMS AND SOLUTIONSIn program development, the target user and programmers will face someproblems. Here are some common problems faced by them, and solutions toovercome them.
5.0 PROGRAMMING44LESSON 15PROGRAM DESIGNMany inventions today are driven bycomputer programs. To develop goodprograms, program design is a veryimportant phase.PROGRAM DESIGN PHASEIn program design,there are threepopular tools used,namely the top-downdesign model, pseudocode and flow chart.In this case study,the programmer generates a top-down design model.This top-down model consists of three modules, namely input module,process module and outputmodule.Then the programmer writes thepseudo code for the programbased on the top-down designmodel.Case StudyThe school needs a school registrationprogram to computerise the registrationof new students.Any new student who enrolls in theschool should have all his or her datakeyed into the school registrationprogram. They will notified of his orher class for the coming academicyear or term.This case study will be used throughoutthe program development phases.
5.0 PROGRAMMING45Next, the programmer draws the flow chart that shows the data flow of theprogram.Besides flow chart, a programmer also produces input and output userinterfaces base on the existing form.EXT : UNIFIED MODELING LANGUAGEUnified Modeling Language (UML) hasbeen adopted as a standard notation forobject modeling and development.These notations are used in diagramsthat present various views of theprogram being developed.These are some symbols used in Unified Modeling Language Diagrams.
5.0 PROGRAMMING46LESSON 16CODINGThe process of writing instructions or code for computers is known ascoding. Hence without coding, there would be no software to help usperform useful tasks on computers.CODINGIn this phase, a programmer uses a program development tool whichgenerates or provides some or all codes.Coding is the process of writing the solution using the computerprogramming language. After finishing the coding process, the programmerwill type the programming language code into the computer.
5.0 PROGRAMMING47PROGRAMMING LANGUAGEThere are many different programming languages in the market. Examplesof the popular programming languages used in Malaysian secondary schoolsare Visual Basic and C language.Each of these programming languages has its own particular syntax.CASE STUDY
5.0 PROGRAMMING48EXT : EXTREME PROGRAMMINGExtreme programming is a strategy that proposes that a programmer shouldimmediately begin coding and testing solution as soon as requirements aredefined. The code is continually tested and refined until it works.Extreme programming also suggests thatprogrammers work in pairs.They communicate with each other to generate ideasfor proper solutions.IT experts claim that extreme programming reduces the time required forthe program development phases.Extreme programming most often is used in object-oriented design.
5.0 PROGRAMMING49LESSON 17TESTING AND DEBUGGINGFor computers to perform their taskssmoothly, the software or programmust be error-free.Imagine doing an important assignmenton the computer. Suddenly, there is aprogram error and you are unable tocomplete your work and meet thedeadline.That is why before any software is released to the market or given to theusers, it must undergo testing and debugging. Program testing is done rightafter coding. The purpose of program testing is to ensure the program runscorrectly without any syntax or logic errors.If errors are uncovered during testing, the programmer will proceed todebugging. Debugging involves tracing the source of errors in the programand making the necessary corrections.After correcting the errors, it is normal for programmers to test run theprogram again just to make sure that the errors have been properly fixed.TESTING AND DEBUGGINGOnce the programmer has finished the coding, the next step is to test it.The purpose of program testing is to ensure the program runs correctly andis error-free.There are three types of errors uncovered during this phase: syntax errors,logic errors and run-time errors.
5.0 PROGRAMMING50SYNTAX ERRORWhen the code violates the syntax of the programming language, a syntaxerror occurs.A syntax error is caused by a wrong spelling in command and declaration.Other syntax errors include case sensitive, punctuation and wrong wordcommand.They either show up as you type the program code, or if you have turned offthe automatic syntax error check, the syntax errors show up when you try torun or compile the program.When syntax error is located, a message is displayed on the screen.The programmer must review and correct all syntax errors.
5.0 PROGRAMMING51LOGIC ERRORIf the expected output and actual output do not match for any set of data,the program has a logic error.A logic error is an error in the design that causes inaccurate outputs.We can use desk check technique to test logic errors. There are 3 steps toperform desk checking.First, create a set of test data that includes input and output data.Second, use the test data to test the coding and record the result.Lastly, compare the manual results with the computer generated results.
5.0 PROGRAMMING52RUN-TIME ERRORRun-time error is an error that occurs while the program is running orexecuting.A run-time error may cause the program to stop running.DEBUGGINGThe process of locating and correcting of syntax and logic errors in aprogram is known as debugging the program.The program errors themselves are called bugs. Thus removing the errorsare called debugging.
5.0 PROGRAMMING53EXT : BETASome software companies distribute a beta version of their software tousers. A beta version is a program that has most or all of its features andfunctionality implemented.Users test the beta program and send inbug reports to the software company.This enables the software manufacturerto fix any errors before the software isreleased to the public for sale.
5.0 PROGRAMMING54LESSON 18DOCUMENTATIONIn program development,documentation refers to the writtenmaterial generated throughout all thephases of program development.Thus documentation includes thedetailed problem definition, theprogram plan (flow chart or pseudocode), comments within the sourceprogram and testing procedures.It also includes a detailed description of the program, clear layouts of inputand output records and a program listing.All documentation must be ready by the end of program development.The programmer should ensure that all documentation is complete andaccurate.Documentation is very valuable if the program requires changes in thefuture as documentation enables new programmers to learn about existingprograms much easily and quickly.DOCUMENTATIONDocumentation refers to the written description and pseudo code ofcomputer programs.
5.0 PROGRAMMING55Although documentation is stated as the last phase in programdevelopment, it is actually performed throughout all the five main phases ofprogram development.Documentation consists of materials generated during each phase.Thus the documentation package is made up of the detailed problemdefinition, the program plan (flow chart or pseudo code), comments withinthe source program and testing procedures.Other items in the documentation package also include a detailed descriptionof the program, clear layouts of input and output records, and a programlisting.The programmer should ensure thatall documentation is complete andaccurate.Documentation becomes especiallyvaluable when the program requireschanges in the future.Proper documentation greatlyreduces the amount of time a newprogrammer spends in learningabout the existing programs.INTERNAL DOCUMENTATIONInternal documentation consists of comments within the program. These twotypes of comments are global comments and internal comments.
5.0 PROGRAMMING56Global comments, usually stated at the top of the program, explain theprogram s purpose and identify the program s name, its author and the datethe program was written.Internal comments, which appear throughout the body of the program,explain the purpose of the code statements within the program.Internal comments are mostly addressed to other programmers who mayhave to make corrections or other modifications in programming language.EXT : MARKETING DOCUMENTATIONIt is important to provide some informative materials that enable people tolearn more about the software product.This form of documentation, called marketing documentation, has threepurposes.1. To interest potential users with the productand encourage them to get more involved.2. To inform potential users about the productso that they know what to expect in return.3. To compare the product with otheralternatives.GlobalcommentInternelcomment
5.0 PROGRAMMING57LESSON 19COMPUTER USERSDEVELOP A PROGRAMA project is a set of activities with a fixed start date and end date. Programdevelopment is also a type of project.A successful program development project will result in one or moreprograms that are error-free, affordable, relevant to the needs of the usersand delivered on time.All the software that you find so helpful, educational and enjoyable today isthe outcome of successful program development projectsFor a program development project to succeed, the people involved mustpossess the appropriate set of communication, management and technicalskills.APPLY PROGRAM DEVELOPMENT PHASES TO SOLVEPROBLEMSLet s see how a programmer applies programdevelopment phases to solvethe library problems.Problem Analysis Phaseidentifies the data input, processing and outputfor the program
5.0 PROGRAMMING60Testing and Debugging PhaseDocumentation Phase
5.0 PROGRAMMING61EXT : TIPS AND TECHNIQUESLet s learn a few tips and techniques on developing a new program usingMicrosoft Visual Basic 6.0.In Microsoft Visual Basic 6.0, undeclared variable will be assigned asvariant type. Variant type is slow, consuming more memory than theothers.Every procedure and module should have comments explaining theirfunction. It will be easier for you to maintain the code later.Use descriptive words for your variables and control. It will be easierfor other people to understand the program if you use this technique.When using graphic, use *.gif, *.jpg, and *.wmf picture formatsinstead of *.bmp. Bitmaps format consume more memory and mayslow your program down.If you have some code which is repeatedly used, code it asindependent module or function so that you can easily reuse themlater.
5.0 PROGRAMMING62LESSON 20OVERVIEW OF THE LATEST TYPE OF PROGRAMMINGLANGUAGESTHE LATEST TYPE OF PROGRAMMING LANGUAGES.FIFTH GENERATION LANGUAGESFifth generation programming language (5GL) isan advance programming language whichconcentrates on solving problems using constraintsgiven to the program.In fifth generation language, the programmer justneed to define the problem to be solve and theprogram will automatically code the programbased on the problem definition.Fifth generation languages are designed to make the computer solve theproblem for you.Fifth generation languages are mostly used in artificial intelligence research.Examples of fifth generation languages include Prolog and Mercury.NATURAL LANGUAGENatural Language programming aims to use natural language such asEnglish to write a program.Instead of using a specific programming language syntax, natural language
5.0 PROGRAMMING63programming will use normal English as the input to program software.Such a technique would mean less technical programming knowledgeis required to write a program.The programmer needs to define the program using normal language.OPENGL (GRAPHIC LIBRARY)OpenGL (Graphics Library) is a standard specification to describe thestandard Application Programming Interface (API) for 3D/2D computergraphic applications.OpenGL specification describes a set of functions and the exact behavioursthat the 3D/2D application must perform.OpenGL was developed by Silicon Graphics.OpenGL is widely used in virtual reality, scientific visualisation, flightsimulation and video game development.
5.0 PROGRAMMING64EXT : THE LATEST PROGRAMMING LANGUAGES:CAPABILITIES & DIFFERENCESWhat can the latest programming languages do? How are they different fromthe previous or past programming languages?