1. What is ong>theong> URL (i.e, web address) for this course's web site?2. How do ong>youong> receive ong>theong> messages from ong>theong> course listserv? How do ong>youong> send a message to ong>theong>course listserv? Who gets ong>theong> messages ong>youong> send to ong>theong> course listserv?3. When a computer program is described as elegant, what criteria are being used to judge ong>theong>program? (Cooper, Ch.1)4. List three ways in which a class (3D model) is similar to a blueprint for a house. (Cooper, Ch.1)5. Why is an object in an Alice world said to have six degrees of freedom? (Cooper, Ch. 1) Try todescribe ong>theong>m in ong>youong>r own words.6. Which Alice built-in methods make an object rotate? Which Alice built-in methods make anobject move in a straight line without rotating? How can ong>youong> set ong>theong> arguments to an Alicebuilt-in method to make an object move in a curved path AND rotate, and which method(s)could ong>youong> use?7. Explain why ong>theong> center of an Alice object is sometimes located at its center of mass andsometimes not. Who decides where ong>theong> center is?8. What kind of a model is an Alice object?9. Use a diagram to illustrate ong>theong> distance between two Alice objects. Describe ong>theong> distance in asentence. (Cooper, Ch. 1)10. What is ong>theong> purpose of a visual storyboard, as used in ong>theong> animation film industry? (Cooper, Ch.2)11. (a) What is an algorithm? (b) In what way is an algorithm related to a program?(Cooper, Ch. 2)12. Textual storyboards are written in a particular format. Describe ong>theong> format and give an exampleto illustrate ong>youong>r description. (Cooper, Ch. 2)13. One might write a purely textual storyboard, or one might include sketches and/or computergenerated images. However, often a sketch or image must be accompanied by a description.Why can't such descriptions be replaced by just sketches or images? What must be describedwhich is easier to describe in words than in pictures?14. What is ong>theong> technical term for something that happens (such as a mouse click, button press, etc.)when it causes some code in a program to run? What is ong>theong> technical term for ong>theong> body of codethat is run to handle such a thing when it happens? When ong>youong> program using Alice, how do ong>youong>specify which body of code will run when a particular thing like a mouse click does happen?Where on ong>theong> Alice screen is ong>theong> control to use?15. What is ong>theong> very first choice ong>youong> must specify to Alice when ong>youong> create a new world?16. What part of Alice is used to choose and locate each of ong>theong> objects that will be in a world?17. What is in ong>theong> Alice gong>allong>ery?18. What are some advantages of using drop-down method invocation of methods instead ofmanipulators provided in ong>theong> scene editor? What are some advantages of scene editormanipulators over drop-down method invocation?19. What are ong>theong> 4 views in an Alice “Quad view?” How do ong>youong> get a Quad view in Alice?20. What kind of editor is used in Alice to edit program code? (Hint: ong>theong> ong>answerong> is in ong>theong> question.)21. Match up ong>theong> following Alice names for 3-d rotation with ong>theong> names for ong>theong> same rotations usedby airplane pilots: (Turn left/right, Turn forward/back, Roll left/right) (Roll, Pitch, Yaw)22. Maong>theong>maticians and teachers sometime use ong>theong> names X, Y and Z for ong>theong> three directions inspace. Geographers use East/West, North/South and Elevation. What three names are used in
Alice for ong>theong>se three directions?23. What is meant by ong>theong> phrase "one block of code can be nested in anoong>theong>r"? (Cooper, Ch. 2)24. How do ong>youong> know wheong>theong>r a computer program has a bug? (Cooper, Ch. 2)25. If comments are ignored by Alice ong>theong>n why do we add comments to our programs? (Cooper, Ch2)26. Suppose ong>theong> vehicle of a dog is set to be equal to a cat. (a) What happens to ong>theong> dog when ong>theong>cat moves? (b) What happens to ong>theong> cat when ong>theong> dog is moved?27. When ong>youong> specify a different object for ong>theong> “as seen by” parameter in an Alice turn method,what difference does it make?28. When a fish object is commanded to turn right 2 revolutions, without furong>theong>r qualifications, itwill spin around its own up-down axis. What do ong>youong> have to do to make ong>theong> fish swim aroundan island?29. What's ong>theong> difference between ong>theong> control structures “do in order” and “do togeong>theong>r”?30. Explain how long it takes for Alice to execute one “do in order” block. Next, explain how longit takes for Alice to execute one “do togeong>theong>r” block. Make sure ong>youong>r explanations inform ong>theong>reader of how “do in order” and “do togeong>theong>r” blocks are different.31. What is ong>theong> difference between a function and a method?32. Why do functions have return types but methods do not?33. What type of value is returned by each of ong>theong> following built-in functions?(a) distance to (b) iswithin threshold of (c) is wider than (d) width.34. What are ong>theong> four operations that can be used in a math expression in Alice?35. What does Boolean mean?36. What type of function value is used to check a condition in an If/Else statement? (Cooper, Ch.3)37. Describe what happens in an If/Else statement when ong>theong> instruction in ong>theong> Else part is DoNothing? (Cooper, Ch. 3)38. The following relational operation is available in ong>theong> World's functions list:(a) Give an example of what "a" and "b" can represent. (b) What type of value is obtained whenthis operation is evaluated?(Cooper, Ch. 3)31. What is ong>theong> purpose of a Loop statement?(Cooper, Ch. 3)32. True or False: (a) All Alice objects have parts. (b) Some but not ong>allong> Alice objects have parts.(c) Every Alice object is indivisible, ong>allong> one piece, with no parts at ong>allong>. (d) The parts of an Aliceobject can be moved separately. (e) Each part of an Alice object is an Alice object.33. Why are Alice objects with parts have ong>theong> vehicle object property of each part, say ong>theong> rightarm, set equal to ong>theong> object it is a part of, say ong>theong> body?34. Name and describe as many properties of Alice objects as ong>youong> can. (The more points ong>theong> moreactual properties!)35. What does ong>theong> practice of incremental development mean?
36. Give an example of two different built-in functions with two different kinds (or types) of values.37. Why is it better to program repetition with a loop than to just make ong>theong> right number of copiesof ong>theong> instruction ong>youong> want to repeat?38. “An object is an instance of a class.” Explain what that means in ong>youong>r own words.39. A class is like a rubber stamp. Why? If a class is like a rubber stamp, what is an object like?40. When Alice automaticong>allong>y names different objects from ong>theong> same class when ong>youong> create ong>theong>m inong>theong> scene editor (a) Why is it a good idea to rename ong>theong>m? (b) How are ong>theong> automaticong>allong>ygenerated names formed?41. What kind of refinement is ong>theong> process of breaking a problem down into large tasks andbreaking each task down into simpler steps?42. Once a storyboard is completed, what two things can people on a team do with it?43. A method implementor certainly needs to know a storyboard or equivalent specification forwhat ong>theong> method should do. Why? Why must a programmer who writes instructions invokingthat method also know ong>theong> storyboard or equivalent information?44. What do ong>youong> click on to begin creating a new World level method in Alice?45. What do ong>youong> click on to begin creating a new class-level method in Alice? After selecting anobject, which of ong>theong> three “tabs” must ong>youong> select?46. Besides ong>theong> method tab, what are ong>theong> two oong>theong>r tabs in ong>theong> “details” window below ong>theong> Aliceobject hierarchy viewer? That window is in ong>theong> lower-left part of ong>theong> Alice screen and islabelled by ong>theong> selected object's name followed by “details”. What are ong>theong>se two oong>theong>r tabs usedto select?47. What things in Alice have parameters? What is an argument? Explain how ong>theong> wordsparameter and argument mean different things.48. How can a method with parameters be more flexible and usable in more situations than amethod without parameters?49. Suppose a top-level Alice statement is a loop with count of 5, whose body is anoong>theong>r loop withcount of 4. Inside ong>theong> inner loops body is an instruction to make a rabbit hop once. How manytimes does ong>theong> rabbit hop when ong>theong> top-level statement is executed?50. What does ong>theong> orient to method do? Give an example where it is useful.51. Why is it unrealistic for animate a rolling bong>allong> so it always turns forward 1 revolution when itrolls forward 1 meter? (For math wizards: For which bong>allong>s is this amount of turning for 1 meterof forward rolling actuong>allong>y is realistic?)52. What affects how much a rolling bong>allong> should turn forward when it rolls forward 1 meter? Howwould ong>youong> program Alice to make ong>theong> bong>allong> turn ong>theong> right amount?53. Suppose one surface like a bong>allong> or wheel rolls on anoong>theong>r surface like ong>theong> ground. Compare ong>theong>distance on one surface with ong>theong> distance on ong>theong> oong>theong>r surface along which ong>theong> rolling tookplace.54. How is rolling different from sliding? Hint: See ong>theong> ong>answerong> to ong>theong> above question.55. What is ong>theong> circumference of a circle? What distance does it signify? How can ong>youong> or Alicecompute ong>theong> circumference of a circle from its diameter?
56. Give an example of one function being cong>allong>ed within ong>theong> cong>allong> to anoong>theong>r function. (Cooper, Ch.6).57. For each of ong>theong> following 5 methods, technologies or concepts for managing complexity, reviewone example of it in a lab exercise, homework project or reading assignment. Then create forong>youong>rself one variation of ong>theong> example ong>youong> studied. Implement it in Alice to demonstrate toong>youong>rself that ong>youong> reong>allong>y can. (1) Storyboard and implementation to be done separately. (2) Theblock in control structures contains a sequence of statements written for a common purpose. (3)Built-in functions and method technology. (4) Technology for writing ong>youong>r own methods andfunctions with as many parameters ong>youong> want (up to system limits). (5) Class-level methods andfunctions ong>youong> write ong>youong>rself.58. Why does making and using a name for something complicated helpful in managingcomplexity?59. Play ong>theong> following game with ong>youong>r friends to help each oong>theong>r study: Think of an interestingcombination of a few Alice movements or oong>theong>r actions, sometimes with loops or conditionsthat involves between two to four objects. Examples should be somewhat like those found inong>theong> textbook sections and practice exercises. Optionong>allong>y, implement it in Alice, verify it runs asong>youong> expected or debug it if not. Then, give ong>youong>r friend ong>theong> code and ask him or her to figure outwhat happens without first running it in Alice. If ong>youong> and ong>youong>r friend disagree or havedoubts about it, ong>theong>n code it into Alice and see, if ong>youong> didn't do that already.60. What is ong>theong> name of ong>theong> application program or software that was used in this course for each ofong>theong> following tasks:(a). View web sites and download Alice 2 World (.a2w) files from ong>theong> web so ong>youong> can run ong>theong>min Alice.(b). Transfer files from ong>theong> lab computers or ong>youong>r USB drive to ong>theong> itsunix web server.(c). Log in to itsunix, get a shell, view ong>theong> shell prompt, and give shell commands such as“setweb” Such shell commands must be typed in raong>theong>r than invoked by double-clicking anicon.(b). Edit and preview html files.61. Study ong>theong> bunny.hop method of Section 7-1. What 4 actions are carried out simultaneously?How many seconds is is ong>theong> common duration for ong>theong>m? Why did ong>theong> authors make sure thatong>theong> durations for ong>allong> 4 actions were equal? Draw a diagram of ong>theong> code similar to ong>theong> DocumentObject Model (DOM) trees that Mozilla/Netscape/Firefox displays for html.62. Do infinite loops reong>allong>y run forever? What stops ong>theong>m?63. Give an example of two instructions in a do togeong>theong>r block that will cancel each oong>theong>r out.Explain why a move forward instruction done togeong>theong>r with a turn instruction results in noforward motion. How can ong>youong> modify ong>theong> move forward instruction so that ong>theong> forward motionis always in an unchanging direction? That was done to implement ong>theong> realisticong>allong>y rolling bong>allong>.64. An instruction and a control structure are two kinds of Alice statements. Look up ong>theong>irdescriptions in ong>theong> textbook and use what ong>youong> find to explain ong>theong>ir differences. What is in ong>theong>“body” of a control structure (two bodies in ong>theong> case of if/else)? Are functions and expressionsalso categorized as “statements”?