Programming Logic Program Design Objectives • • • • Steps in program development Algorithms and Pseudocode Data Activity: Alice program Programming • Development of a solution to an identified problem, and the setting up of a related series of instructions that, when directed through computer hardware, will produce the desired results. Steps in development of a program 1. 2. 3. 4. 5. 6. 7. Define the problem Outline the solution Develop outline into algorithm Test the algorithm Code in a programming language Run the program Document the program Algorithm • • • Simple terms: a recipe Set of detailed, unambiguous and ordered instructions to produce desired output from a given input. Simple English Pseudocode • Ways to represent algorithms • Concentrate on logic • Conventions: – Use simple English – Separate lines – Keywords, indentation to signify control structure – Top to bottom Keywords • Receive information – Read: input from file or record – Get: user input • Output – Print: output to printer – Write: written to file – Display/Put: to screen Program Data • Variable: store a particular data item – – • • Character, integer Value changes Constant: data item that remain same Data Types: 1. Integer • 3, -5, 1000 2. Character – ‘A’, ‘b’, ‘$’ 3. Boolean – – True or false Control flag Program data (Continued) • Data Structures – Data items or/and data structure 1. Record: data items with relationship to one another • Student record 2. File: collection of related records. – Student file 3. Array: data structure made up of data items with same data type and are accessed by same name – Student scores 4. String: collection of characters, fixed or variable – Student name Class, Object, Method • Class: – the abstract characteristics of a thing – White Rabbit • Object: – A particular instance of the class – A single rabbit • Method: – An object’s abilities or behaviors – Turning the rabbit’s head Programming Implementation in Alice Program Style • Change program display styles in Preferences • How to access Preferences dialog box – Click the Edit menu – Click the Preferences choice • Selecting a display style in Preferences dialog – Click next to “display my program” in General tab – Select a style • Style recommended for course: Java Style in Color Program Style (continued) Adding Objects to Alice • Class: blueprint for an object • How to populate Alice world with objects – Click Add Objects button in world window – Locate class specifying the object in the Alice Gallery – Right-click class and select “Add instance to world” • Objects in sample world: aliceLiddell and whiteRabbit • Naming conventions for objects and classes – Class: capitalize all words; e.g., AliceLiddell – Object: capitalize all but first word; e.g., aliceLiddell • Objects can be renamed from the object tree Adding Objects to Alice (continued) Accessing Object Subparts • Bounding box: encloses any Alice object • Impact of selecting an object in the object tree – Bounding box is drawn around object in world window – Details area adapts to the selected object • First action to program: Alice turns head to user • First set of programming steps – Select + sign next to aliceLiddell in object tree – Select + sign next to neck subpart – Select head (bounding box is drawn, details change) – Drag doInOrder control to top of editing window Accessing Object Subparts (continued) Accessing Object Subparts (continued) Sending Messages • Programs rely on sending messages to objects • Method: behavior-producing message • Programming Alice’s head to turn – Select Alice Liddell’s head in the object tree – Scan through the methods in the details area – Click on pointAt() – Drag pointAt()to the editing area and drop it – Specify camera as the target Sending Messages (continued) Testing and Debugging • Bug: error interfering with normal program functions • Debugging: process of removing program bugs • Click the Play button to test Alice Liddell application – Alice Liddell’s head will turn toward the user Testing and Debugging (continued) Coding the Other Actions • say() message – Displays dialog for an object – Text can be customized by selecting other… • Task: complete first Alice Liddell application – Add Alice Liddell’s initial greeting – Point the white rabbit to the user – Have Alice Liddell introduce herself – Have the white rabbit introduce himself • Customize messages by selecting from more… – Example: adjust fontSize of message text to 30 Coding the Other Actions (continued) Statements • Statement: a line or control structure in a program • Computer program is a collection of statements • Basic format of a line in a program – object.message(value); more... • Control structures manage other statements – Example: doInOrder contains other statements The Final Action • Sequential execution – Actions are performed consecutively – Example: actions executed in doInOrder structures • Simultaneous execution – Actions are performed in parallel – Example: actions performed in doTogether structure • Finishing the first program – Add doTogether control structure to application – Send say( )to aliceLiddell and whiteRabbit – Message value: Welcome to our world The Final Action (continued) Final Testing • First set of actions are performed separately • Final actions are performed simultaneously Final Testing (continued) Questions