Computer Sciences Dept.

CS/ECE 252 Introduction to Computer Engineering

Spring 2008 All Sections
Instructor David A. Wood
TAs Spyridon Blanas, Priyananda Shenoy & Shengnan Wang

URL: http://www.cs.wisc.edu/~david/courses/cs252/Spring2008/

Name: Priyananda Shenoy
Section: 1
Email: shenoy@cs

Problem 1

a) http://www.cs.wisc.edu/~david/courses/cs252/Spring2008/index.html
b) compsci252-1-s08@lists.wisc.edu ( also compsci252-2-s08@lists.wisc.edu )

Problem 2

Expect 0 points as this course has a strict "NO LATE HOMEWORK" policy. Exceptions will be considered only under extreme non-academic circumstances discussed with the instructor at least one week before the assignment is due.

Problem 3

a) CS
b) It's a required course.
c) CS 302
d) To know what a computer is.

Problem 4

a) No. Here are some reasons why:

  • Digital computers can only solve numerical or logical problems, not philosophical ones.
  • For a computer to process and give an output to a problem, the problem needs to be stated unambiguously. In this case, the question is subjective, and hence open to different interpretations, and a computer cannot give a definite answer.
  • This question cannot be answered by an algorithm.

b) Each time the computer would give exactly the same answer. Computers are deterministic systems. Even if the computer makes use of a "random number generator" to change its behavior, it isn't truly random, because the generator would be a "pseudo random generator" since given the same set of initial conditions it will generate the same sequence of numbers every time.

Problem 5

a) Slide Rule
b) iPod Nano

Problem 6

A cheap computer can solve all the problems which a supercomputer can solve. But the amount of time it might take to do so might render it inpractical. Weather prediction is a complex and computationally intensive application, and a small computer would not be able to make the computations fast enough.

Problem 7

a)
 

b) 3 and 3
c) For the first design, the paths are the following:
     

For the second design:
     

Therefore for the first design:
max(2,2,2,2) = 2

For the second design:
max(3,3,2,1) = 3

The difference in the maximum number of boxes in a path in both the designs nicely illustrates the ideas of "serial" and "parallel" processing, which you will encounter in greater detail later. Both the designs produce the same output and use the same number of boxes. But Design 1 is faster than Design 2! Assume that it takes 10 seconds for the box to produce an output. In Design 1, in 10 seconds both (a+b) and (c+d) are independently computed, then the total sum is computed in another 10 seconds. So the total time it takes is 20 seconds. In Design 2, (a+b) is computed in 10 seconds, (a+b+c) in 20 seconds and the total sum in 30 seconds. This is because in Design 2, the second box had to wait for the first box to complete its operation, only then it could start computing.

The path with the most number of boxes is called the "critical path", because reducing the number of boxes in this path, (in general reducing the "length" of this path) leads to a decrease in the overall computation time.

 
Computer Sciences | UW Home