CSC 221: Computer Programming I
HW 1: History, Objects, & Alice
- While the architectural details may vary from computer to computer, virtually
all modern computers have the same basic layout, known as the von Neumann
architecture. Describe this layout and the role each of the major components
plays in performing computations.
- In class, we briefly discussed the role of Alan Turing in designing computers
for breaking Nazi codes in World War II. Turing made many contributions to
computing, and is considered one of the founding fathers of the discipline of
computer science. Conduct some research on Turing, and briefly (in a few sentences)
describe two other significant contrbutions that he made to computing. Be sure
to reference your source. If you are using the Internet/Web for your information,
verify the material with an additional source (and reference that source as well).
- An algorithm must be clear to its intended executor in order to be effective.
Give an example of a real-world algorithm that you have encountered and felt
was not clear. Do you think that the algorithm writer did a poor job, or do you
think that the algorithm was formalized with a different audience in mind?
Explain your answer. Then, give an example of a real-world algorithm that
you felt was clearly stated. What features of this algorithm allow you to
understand it more easily?
- Suppose you were assigned the task of designing and developing a video card game.
Following an object-oriented approach, you would first identify the objects involved
in the game, and then model each kind of object. Recall that an object is defined by
its properties (or fields) and its actions (or methods).
- Consider a playing card. What essential properties (in terms of a software model)
does a playing card have? What actions should you be able to perform on a playing card?
- Consider a deck of playing cards. What essential properties (in terms of a software model)
does a deck of cards have? What actions should you be able to perform on a deck of cards?
- Using the Alice IDE, create an animation of your own design. The content of
the animation is entirely up to you, but it must include multiple objects that
interact through methods. Be creative, as we will have a screening of all of
the student movies in class.