Test 2 information

Test #2 begins at 9:10 AM on Friday March 23rd.

The test is not in your tutorial room.
Like last time, you are assigned to a room and seat number in my "netgrade" system. Please look up your seat assignment in advance.
Note that this time we are in two different rooms.

Be on time or lose minutes! It will take you a few minutes to get seated; if you walk through the door at 9:10, you're late.

Please BRING YOUR STUDENT PHOTO ID CARD. Please put it face up on your desk so that we can check them quickly.

The coverage of this test is basically the material subsequent to the previous test, except that the "history of computing machinery" material is not on the test. So the material covered is:

Basic numeric expressions are, of course, still required; everything we're doing these days requires them. Similarly, python 'print' and assignment statements are still required.
However, the time calculation material is not within the scope of the second term test -- let's leave that for the exam.
I've put an overview of the coverage of CSC 104 material on the tests and exam at http://www.dgp.toronto.edu/~ajr/104/coverage.html.
There are also sample questions there. Not every topic has a sample question yet, but every topic which is on test #2 does. I will fill in the rest before the final exam.
If you've missed some lectures, meet someone else in the class and get copies of their notes.

No aids are allowed (no calculators either). However, you should not have to memorize any tables of stuff. If you're not clear on whether or not you have to memorize something, ask in e-mail. For the final exam, my usual answer will be "if you asked me that question during the exam, I would tell you the answer"; unfortunately the tests have to be during class time so time is rather short, but the same policy applies, it just may not be possible to enact depending on how many student questions there are.

Obviously a 45-minute test can't be comprehensive over this range of material -- the above is a list of what is potentially covered by the test.

The test is written on paper; there are no computers in the test room.

See the course topics list for some notes, and section references in our optional textbook. Of course you can find a lot more information about all of this out there on the web. I hesitate to cite Wikipedia pages because they can be changed at any time by anyone, but usually Wikipedia is quite good.

Most of all, though, to prepare for the test you should do stuff, as much as or more than reading stuff. Go through the assignments; play with Python and Gnumeric; convert some integers between base ten (decimal) and base two (binary).

And I have posted two previous CSC 104 exams of mine, with solutions. Many of the problems there are relevant.

I also suggest the following practice python questions, and any variants you care to think of on these themes:

Sample test questions

Here are some possible practice questions for the test. Feel free to work on them in front of the computer.

1. If a university test turns out to be too difficult, sometimes an overall formula is applied to the grades to raise them. In the spreadsheet below, we employ the simplest grade-raising formula of all: simply add a specified number (found in cell B1) to everyone's score. However, we have an additional rule which says that no one gets promoted over 90 by this grade-raising rule. So Wilma's grade (row 9), which was 94, stays 94; and Betty's grade (row 6), which was 88, might be promoted as high as 90 (if the adjustment value in cell B1 is high enough, as it is in this case), but no higher.

Write a formula for cell C4 (to be copied downwards).

2. Write a program to produce the following output using just one print statement in a 'for' loop.

	I like cheese
	I dislike cheese
	I am indifferent to cheese

That is, the body of the for loop is: print 'I', x, 'cheese'

3a. Write a program with a 'for' loop which prints the integers from 0 to 10.
3b. Now put an 'if' statement around the 'print' statement in the loop body so that it skips the number 5. (i.e. the output is 0, 1, 2, 3, 4, 6, 7, 8, 9 (on separate lines of course, and without commas))

4. Write a Python program whose interaction looks like this:

How many seconds?
7861
7861 seconds is 2 hours and 11 minutes and 1 seconds

The first and third lines above are output; the middle line is input. Remember that '%' in Python is used to get the remainder from an integer division.

5. Someone wonders, what is the lowest square greater than 1000?
Write a program (which takes no input) to answer this question. Its output is the first "square" integer which is greater than 1000. A number can be squared by multiplying it by itself. So the squares are 0, 1, 4, 9, 16, 25, ...


I think that for me to give you solutions to the above problems is pointless, or even counterproductive.

But I know that some people will ask for it, so here. Here are solutions which I recommend you don't look at.


[main course page]