Hints for the Introduction to Programming course exam on 21.10.2009
The course exam is on Wednesday 21.10.
from 9:00 to 12 (2.5 hours of time to answer)
in the Exactum auditorium
A111.
Important things, hints, etc.
-
You should be able to use statements and expressions in programming. There will be no questions like
"what is a while statement like" or "program this and that using a for statement [or while statement etc.]"
-
You will not be asked to program anything that requires exact formatting of output
(as in the question 6)
-
Input must be read using a Scanner. The details of constructing a Scanner aren't important, but
you need to know how it's used.
-
You should be able to write methods and pass parameters to them. Also, be prepared to explain these concepts.
-
Make sure you know how to write methods that are "main program's little helpers" and accessor methods.
Overloading should be understood.
-
You must know how to program classes and objects, and be able to explain their usage - using the right
terms, too. Especially the idea of encapsulation is important!
-
You should remember the String methods length(), equals(String) and compareTo(String).
-
You should know how to program both linear (sequential) and binary search. The names of these algorithms
need to be remembered.
-
You should be able to order an array somehow - knowing any particular named way isn't required, though.
-
In the exam it is enough to understand and be able to handle arrays of type int, double and String.
(But the Advanced Course in Programming expects that you understand more of them, like using your own objects
in an array and having an array as an instance variable...)
Other advice:
-
Keep in mind what an exam is really about and what it isn't: An answer should convince the inspector - or at least
fool him to believe - that the student knows enough. Think of the psychology of the inspector, don't think of
your own enthusiasm or anxiety! An exam is like a performance that you give to the inspector.
-
It is wise to first answer the questions that you know you can answer. After that, if there's time, you
can try the others too...
-
To speed up the grading process, each answer is written on a separate paper.
That is because each inspector checks all of the answers to a single question.
-
It is wise to use descriptive variable names and write clear code! That way the inspector might understand
what you mean with a solution, even if it isn't entirely correct.
Remember to indent sub-statements and inner blocks!
-
You can abbreviate "System.out.println" with "S.o.p".
Note that this is assumed to mean println(), not print().
-
The exercise tasks
are important. Often an exercise question has appeared in the exam as an exact copy, or with
only minor modifications.
The following types of questions
are NOT asked in the examination:
1, (2), (3), 5, 6, 8, (14), (24), 28, 29.
-
All of the old exam questions can be found in the
old course pages.
The old example solutions need to be taken with a grain of salt, though, because the course is constantly
evolving. If you are not happy with your grading this year, you may not base your argument on an
old example solution ;-)
Course grading (tentative):
The exam can earn you at most 50 points, and the exercises at most 10 points. To pass the course you need to score
at least 30 points. However, at least 25 of those have to come from the course exam.
Exercise points:
answers: 6 8 10 12 14 16 18 20 22 24
points: 1 2 3 4 5 6 7 8 9 10
The grade:
points: 30 35 40 45 50
grade: 1 2 3 4 5