**CS10051
Knowledge Summary- Chapter 1 - Paul Durand**

Sections 001/002/005/006 - Spring 2007

`1. What is the definition of Computer Science? (p.
4)2. What is the 4-part definition of an algorithm ? Explain each part.
(p. 10-15)3. What are the three types of primitive operations
we can use to express an algorithm? (p. 5,6)4. Why it is important to develop
`

**CS10051
Knowledge Summary- Chapter 2 - Paul Durand**

`1. What is Natural Language ? Why is it not
suitable for expressing algorithms? (p. 42-43)2. Why is it not a good idea
to design and write algorithms in formal programming languages, e.g. C, Pascal
and Java? (p. 43-44)3. What is pseudocode? Why is it a good choice
for designing and writing algorithms? (p. 44)4. What do we
mean by Sequential Statement? ( in reference to algorithms ). (p. 45)5.
What are the three basic types of sequential statements used to express algorithms?
Give examples in pseudocode. (p. 45-47) 6. What is the function of
a Conditional Statement in an algorithm? (p. 48)7. What is the syntax
of the `

8. What are the semantics of the

9. Give an example of an

10. What are the two basic

11.What is the

12. If we sort the telephone list alphabetically, we can design a more efficient search algorithm called a

13. What is the

14. Explain in general how the algorithmic solution to the

15. What is the

16. What are three applications of the Pattern Matching algorithm mentioned in the book or in class?

17. Why is the pattern matching algorithm in the book considered simple or 'naive' ?

18. What are the 'rules of thumb' presented in class for designing algorithmic solutions to simple problems?

19. Explain the terms

`NOTE: This is a summary of the topics covered in class.
Although it is presented as a list of questions, it is not meant to be
representative of questions asked on exams in this course. The page numbers
refer to the area of the book or supplementary notes in which these topics are discussed.`