COS 250 – Spring 2004
George Markowsky
University of Maine
1. To teach you about the important basic concepts of computer science and to improve your ability to solve problems with the computer
2. To teach you to think more clearly and abstractly.
3. To help you understand formal logic and the axiomatic method.
4. To introduce you to programming in a functional language.
5. To give you some experience in programming in Logo.
6. To give you some experience using Windows and writing programs in it.
1. A good understanding of very basic mathematics.
2. A willingness to learn something new and to work.
Your final average will be computed using the harmonic mean
of your homework grade and your exam grade as described below. This method places
equal emphasis on homework and exams. If you get a poor grade in either
homework or exams it will seriously drag your average down.
There will be a midterm and a final in this course, together
with regular homeworks.
1. I will use +/- grading in the class. The grades will be assigned on the basis of your final class average
based on the following ranges:
|
A |
90 or above |
C |
70 to 72 |
|
A- |
85 to 89 |
C- |
65 to 69 |
|
B+ |
83 or 84 |
D+ |
63 or 64 |
|
B |
80 to 82 |
D |
60 to 62 |
|
B- |
75 to 79 |
D- |
55 to 59 |
|
C+ |
73 or 74 |
F |
54 or below |
2. To encourage improvement, I will replace earlier test
scores by later test scores if they are better.
For example, if you get 50 on the midterm and 85 on the final, both
scores will be counted as 85. Thus, a poor midterm grade will not hurt you as
long as you improve.
3. The
homework average is just the arithmetic average of the homework grades.
4. The exam
average is computed as follows:
a. ExamAvg = AdjustedMidterm/ 3 + 2*Final/3
b. AdjustedMidterm = max(Midterm,Final).
c. FinalAvg =
HarmonicMean(HwAvg,ExamAvg);
5. All
numbers are rounded and the letter grades are assigned according to the
scale mentioned in bullet 1 above.
In this course, both the homework and exams are very
important. The arithmetical mean that is often used to average course grades
allows a good performance in one area to offset a poor performance in another. Since
I want to emphasize good performance in both homework and exams, I will use the
harmonic mean of your homework grade and your exam grade as your final average.
The harmonic mean is very sensitive to extremes in performance. In other words, if your homework and exam grades are close to one another, their harmonic mean is essentially the same as the usual arithmetic mean. If they are far apart, the harmonic mean is pulled sharply down toward the lower grade. Thus, students who copy their homework from others cannot use the good grades they obtain in this manner to offset their poor exam grades. The following table gives you sample values.
|
|
|
|
|
Exam Grade |
|
|
|
|
|
|
|
|
||
|
|
|
40 |
45 |
50 |
55 |
60 |
65 |
70 |
75 |
80 |
85 |
90 |
95 |
100 |
|
|
40 |
40 |
42 |
44 |
46 |
48 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
|
|
45 |
42 |
45 |
47 |
50 |
51 |
53 |
55 |
56 |
58 |
59 |
60 |
61 |
62 |
|
|
50 |
44 |
47 |
50 |
52 |
55 |
57 |
58 |
60 |
62 |
63 |
64 |
66 |
67 |
|
HW Grade |
55 |
46 |
50 |
52 |
55 |
57 |
60 |
62 |
63 |
65 |
67 |
68 |
70 |
71 |
|
|
60 |
48 |
51 |
55 |
57 |
60 |
62 |
65 |
67 |
69 |
70 |
72 |
74 |
75 |
|
|
65 |
50 |
53 |
57 |
60 |
62 |
65 |
67 |
70 |
72 |
74 |
75 |
77 |
79 |
|
|
70 |
51 |
55 |
58 |
62 |
65 |
67 |
70 |
72 |
75 |
77 |
79 |
81 |
82 |
|
|
80 |
53 |
58 |
62 |
65 |
69 |
72 |
75 |
77 |
80 |
82 |
85 |
87 |
89 |
|
|
85 |
54 |
59 |
63 |
67 |
70 |
74 |
77 |
80 |
82 |
85 |
87 |
90 |
92 |
|
|
90 |
55 |
60 |
64 |
68 |
72 |
75 |
79 |
82 |
85 |
87 |
90 |
92 |
95 |
|
|
95 |
56 |
61 |
66 |
70 |
74 |
77 |
81 |
84 |
87 |
90 |
92 |
95 |
97 |
|
|
100 |
57 |
62 |
67 |
71 |
75 |
79 |
82 |
86 |
89 |
92 |
95 |
97 |
100 |
The exact formula for the harmonic mean is
F = 2*E*H/(E+H)
Here E is the exam grade and H is the homework grade. Your
final grade F will be computed by using this formula exactly and rounding off
to the nearest whole number.
1. The dates of the two PRELIMS are given on the schedule.
2. Prelims are based on homeworks and lectures. Under the harmonic mean homework can count a great deal and I urge you to take it seriously.
3. Prelims are long but not tricky, so you must know the material thoroughly! You are expected to know the definitions of all important concepts and will be asked to write them down on the exams.
4. All prelims and finals are closed book and in class. CALCULATORS MAY NOT BE USED ON ANY OF THE EXAMINATIONS!
5. All prelims and finals are cumulative and cover all the material up to the time they are given so you must review material from the beginning of the course when preparing for these exams.
6. Partial credit will be given on exam problems.
7. I want people to work on the homework individually. You can talk to each other and give help, but this help should not take the form of letting other people copy your work. It is important that you understand how to do all the problems on your own. Otherwise you cannot do well on the exams. The harmonic mean grading scheme requires a good performance on both the homework and exams in order to get a good grade.
8. The homework grading will be strict since the goal is to make you more careful. Errors are the source of much mischief, so it is important to reduce them as much as possible. Even minor arithmetical mistakes will result in points being lost, so do your work carefully.
9. If a problem asks you to write a program, a function or a procedure, always submit a printed listing and output, even if the problem does not explicitly ask for these. Handwritten code is not acceptable. I also expect homeworks to be stapled together rather than paper clipped. You will lose points if you fail to follow these rules.
10. If your programs have bugs, I expect you to make a reasonable effort to find the bug on your own. I will be happy to help you find problems in your programs, but you must come with evidence that you have tried to find the problem on your own and the program I see should have evidence of your efforts to debug it.
11. If you run out of time and must turn in a program that doesn't run, submit enough material to explain what you have done as well as a listing. Look up an error messages in the Help facility and try your best to solve the problem on your own.
12. Be sure that your listings include comments that explain what you are doing if it is not completely obvious. It is up to you to explain what you are doing.
13. If you do not understand a problem get a clarification from me. Do not waste a lot of time working on something that you don't understand.
14. Expect a penalty for late homework unless you get permission to turn the homework in late. Homework turned in late without permission will lose points. Once a homework has been graded and returned you will be unable to submit it unless you have prior permission from me.
15. People caught cheating will suffer the full wrath of the instructor. Cheating includes such things as using crib notes on exams and copying other students' homework. Cheating is bad for the class and bad for the individual.
I will use Discrete Logo: Release 2.1. It should be available at the bookstore. I have changed some of the material from earlier releases, which has completely changed the page numbering. If you want to avoid confusion, I suggest that you get a copy of the latest version of the book, although older versions have considerable overlap with this release.
|
Office |
237 Neville Hall |
|
Office Hours |
TuTh 9:30-11:00 am and by appointment |
|
Phone |
581-3940 |
|
|
markov on any CAPS or CS Dept. Network |
If you plan to come for office hours it is best to make sure
that no unplanned event is keeping me away.
You can check by either calling my number or the Computer Science
Department (581-3941). If you have problems with this course and need help come
in to see me immediately. Don't fool
around until the end of the semester and then try to learn all the material in
a week.
The class will meet every Tuesday and Thursday from 11:00 am until 12:15 pm with the following exceptions: there will be no classes during Spring Break.
Tuesday, October 14 is FALL BREAK.
Thursday, November 27 is THANKSGIVING.
Jeremy Logan (e-mail: Jeremy_Logan@umit.maine.edu) will be the teaching assistant/grader for this course. If you have any questions about how your homework was graded, please talk to him first, before you talk to me.
You can obtain help with COS 250 from several sources. First, you can ask questions in class (this has been known to help). Second, you can come to office hours. Third, you can send me e-mail with questions. Fourth, you can make appointments with the teaching assistant for help. Fifth, you can ask for tutoring from the tutoring program.
If you have a legitimate disability that is interfering with your performance in class, please speak to me about it. I will try to accommodate you as much as possible.
The following schedule subject to change. I will be traveling some this semester and will have some guest lecturers on some of the indicated dates. Details will be announced as they are determined.
|
Date |
Event |
|
|
Part I -- Recursion |
|
1/13 |
Introduction to the Course, Logo and Recursion |
|
1/15 |
Recursion |
|
1/20 |
Proof by the Principle of Recursion |
|
1/22 |
Proof by the Principle of Recursion (HW #1 Due) |
|
1/27 |
Numbers and Peano's Axioms |
|
1/29 |
Numbers and Peano's Axioms |
|
2/03 |
Impossible Problems (HW # 2 Due) |
|
2/05 |
Backus-Naur Form and Context Free Languages |
|
2/10 |
PRELIM 1 |
|
2/12 |
Review of Prelim 1 |
|
2/17 |
The History of Computing (HW #3 Due) |
|
2/19 |
Principles
of Computation |
|
2/24 |
Principles
of Computation |
|
|
Part II -- Logic |
|
2/26 |
Propositional Logic (HW #4 Due) |
|
3/02 |
SPRING BREAK |
|
3/04 |
SPRING BREAK |
|
3/09 |
SPRING BREAK |
|
3/11 |
SPRING BREAK |
|
3/16 |
Computer Circuits |
|
3/18 |
Arguments
and Satisfiability (HW #5 Due) |
|
3/23 |
Truth Trees |
|
3/25 |
Predicate
Logic & Prolog |
|
3/30 |
Predicate Logic & Prolog (HW #6 Due) |
|
4/01 |
Predicate Truth Trees |
|
4/06 |
PRELIM 2 |
|
4/08 |
Review
of Prelim 2 |
|
|
Part III – Set Theory |
|
4/13 |
Finite
Sets and Combinatorics |
|
4/15 |
Finite Sets and Combinatorics (HW #7 Due) |
|
4/20 |
Infinite
Sets |
|
4/22 |
Relations and Database Theory |
|
4/27 |
Relations and Database Theory (HW #8 Due) |
|
4/29 |
Relations and Database Theory |
The due dates for the homeworks are tentative and liable to change. The number of homeworks is also tentative. There will be a final in this course. The time will be selected by the Registrar and announced in class.