If you've decided "there's still next week" or "there's no HW, so why should I have to do 311" this week, there may be a lot to study. The course is partly about getting you to do the work that's necessary, even if there's no homework or quizzes. Ultimately, you're responsible for getting something out of the course, regardless of who's teaching the class. You can always find excuses why you didn't learn something, but it doesn't help you learn anything.
Anyway, onward and forward!
The first three parts usually make up about 100-110 points out of a 140 point exam. The last part is about 30-40 points.
Some students will only manage to complete the first 3 parts, and not be able to complete the rest of the exam. The exam is usually on the long side. Partial credit will be given. So, you might favor some incomplete answers if you get a sketch of the basic idea correct.
If you're concerned about time, then you may want to skip the programming questions and come back to them later. They will be worth more points this time.
Note: there are also circuit problems, so they can take some time to draw too.
The "Challenge" section has challenging questions. They can be much tougher than the average question. However, points are points, whether they come from the easier section or the challenge section. Occasionally, a challenge question will be easy, so it's worth reading them over quickly to see if any of them look easy to you.
The test is usually curved. I tend to rank you relative to the entire class. Historically, a C is about 70/140. That's only 50%. However, since it's curved, it may not always work out to be 70. Clearly, I prefer students to be in the 80-90 range minimum.
Usually, you need to average over 100 for an A. That leaves a very large A range (from 100-140).
We'll return exams after Spring Break.
The FSM should output 00 if the two values are equal so far, 10 if string A has a larger value (assume UB), and 01 if string B has a larger value.
Draw the FSM.
int sum( int n )
{
if ( n <= 0 )
return 0 ;
else
return n + sum( n - 1 ) ;
}
li $v0, 1 # 1 means to print_int, li means load immediate li $a0, 10 # Puts the value to be printed in $a0 syscall # Prints the value
You may assume you have a la $rs, label instruction which loads the address given by label into register $rs
Implement as a loop.