Wednesday, June 15, 2011
There are just two more days of class left for my Introduction to Computers for Arts and Social Sciences course. In each of these classes, there is a quiz for students to write. I wanted to share the first three quizzes they've already done because it gives a pretty good overview of what I've asked them to know and how well they've done.
Each quiz is out of 5 and is worth 5% on the final grade. The idea of having a quiz on each topic was to help the students keep on track and to give them feedback often so they had a sense of how they were doing.
The first quiz was on programming concepts in Scratch. It had the following questions:
- What programming concepts do you need to run one block(s) of code if an event occurs, and another block(s) of code if it doesn’t? Include an example.
- Explain the difference between variables and what is stored in variables. Using an analogy might help.
- Explain how ‘broadcast’ works in your own words. What happens on the stage when you use broadcast?
- How do you get from 11111 to 100000, both in binary? How can this knowledge make it easier to find 11111 in decimal?
- How many different values (numbers) can be represented by 6 bits?
- Describe the two ways of representing raster images shown in class.
- Describe when a vector image is more suitable than a raster image.
I decided to give them a make-up opportunity because I wanted them to really try to understand these topics rather than accept a poor grade and forget about it. They got the new slightly harder questions in the next class and had just over 24 hours to submit their answers via email to one of the TA's. They were allowed to work together on the answers as long as they wrote up their own answer in the end. These were the make-up questions:
- Suppose you want to store numbers no larger than 500 in decimal as binary numbers. What is the smallest number of bits required to accomplish this? How many bytes would you need?
- Decimal has ten digits (0-9) and binary has two (0-1). You can create any number system in a similar way. Given this, convert this octal (8 digits, 0-7) number into decimal: 721
- Suppose we are representing a greyscale raster image by describing each pixel with one byte. Propose a way to compress this image when there is repetitive data.
- Explain why we need vector image representation when working with 3D graphics. Be sure to explicitly say why raster images alone would not work.
It turns out that only a third or so of the class bothered to submit the make-up quiz, which is a little disappointing. I don't have all the stats yet, but those who did submit seemed to improve their grade, now giving more than half the class a passing grade. So far both the average and the median of all quizzes (a mix of the old grades and the replacement grades) are 3.
Last week we had a quiz on algorithms. I've been teaching them three searching algorithms using the Battleships CS Unplugged activity (linear, binary, hash table), and three sorting algorithms (selection, insertion, and quick). These were the questions I asked:
- Consider a paper phone book. Describe what type of information you would be looking for that would cause you to use each of the three types of searching (linear, binary, hash table).
- Precisely describe the algorithm for selection sort. Be sure to include all details.
- What’s the difference between selection and insertion sort?
- Describe what can happen to cause Quicksort to be slower than normal and why it has that effect.
Our last two quizzes should be easier for these students than the first three. They will be on HCI and Open Source/Internet. Once these are factored in I think the quiz averages will be on target. To me, this proves that you can challenge students and go beyond the traditional "teach MS Office most of the term" without seeing their grades plummet.