Just so y’all know that you didn’t do ALL of my exam study work for me…
CS1002/01 — Final Examination — Summer, 2003
1. What was the most important thing you learned in this class?
That I had absolutely no idea what “computer science” truly meant. I have a fair amount of IT experience, but no CS experience at all.
2. Who was John von Neumann and why was he important in the development of computing?
He was a mathematician and physicist who was born in Hungary and emigrated to the United States. He is credited with the stored program concept and the logical computer design (von Neumann machine model) that is used in all computers today.
3. Give a brief definition of the type of AI known as an “expert system”.
Expert systems are designed to reproduce the problem-solving behavior of an expert in a particular, narrowly-defined field. They store information organized by rules gleaned from those experts.
5. How should you evaluate information found via a search engine? Why?
The results should be carefully evaluated based on the credibility of sources, dates, and relevance to your topic. Checking multiple sources is highly recommended, and it is often wise to check snopes.com and similar sites if the information seems outrageous in any way.
6. List and define the three levels of formal methods in software engineering.
Informal — no constraint on the model you develop
Semi-formal — well-defined syntax (pseudocode)
Formal — rigorously defined (with math) syntax and semantics
8. Give two examples of differences between “big AI” and “small AI”.
Big AI — large scale, general, hard to do, advances general knowledge—for instance, recognizing spoken English from anyone saying anything
Small AI — small scale, specific, easier to do, may not advance general knowledge—for instance, recognizing one person saying a few words
9. Does Michie’s matchbook computer exhibit intelligent behavior? Does it learn? How can you do one without the other?
It does not truly “learn” or exhibit intelligent behavior, but it does improve its algorithms over time. It cannot exhibit spontaneous behavior to solve a problem, nor does it have any cognitive capability. It cannot create anything new. It does not perceive any relationships but is programmed to always select the move (box) containing the most beads. That is a simple calculation. Storing information is not the same as learning, as the information does not necessarily have any relevance—witness how many children learn to rattle off multiplication tables by rote but are not able to actually DO multiplication correctly.
10. Why should you learn how to analyze algorithms?
Failure to analyze algorithms and use the best method for the task at hand results in wasted resources. The most memorable example given involved a process that would take eight months using the most obvious algorithm and about one hour using another one.
13. What are the three kinds of things you can say to a computer in a program?
‑sequences of direct instructions (assignment, I/O)
‑selection rules to decide what to do next (if case)
‑iteration of a group of instructions (for, while)
14. Describe and illustrate with a diagram the “fetch-interpret-execute” cycle of a standard computer.
Stored programs are run by fetching the instruction, interpreting or decoding it, then executing it, and repeating that cycle.
(I can’t really put in what I drew, but it was very simple.)