CMSC160: Introduction to Algorithmic Design I
Fall 2008
Instructor: Dr. R. P. Webber
Office location and hours: Ruffner 332. MF 2:00 3:30, T 1:30 3:00, and by appointment or coincidence.
Telephone and email: 395-2192; webberrp@longwood.edu
Course description and prerequisite: An introduction to problem solving and algorithmic design using a modern high level language. Topics include problem solving techniques, high level structures, subprograms and modularity, user defined types, and fundamental algorithms. No prerequisite. 3 credits.
Text: Malik, C++ Programming, Fourth Edition. Course Technology, 2009.
Course objectives:
Course requirements and grading:
Three tests and a composite quiz grade (drop
lowest of those 4)
11% each
Assignments .
55%
Final exam
12%
The grade scale is
as follows. 90-100 A; 80-90 B; 70-80 C; 60-70 D;
below 60 F
Quizzes: Given frequently (but not every day), quizzes are given at the start of the period. They are intended to see if you have read the material, paid attention in class, and done the simple exercises in the text. Quizzes are always short, and they are open book and notes. Often they are taken directly from the homework. Quizzes that are missed for any reason cannot be made up. You may miss one quiz without penalty, but you will be assigned a grade of 0 on any additional quizzes that you miss.
Assignments and working with others: Assignments will consist of nonprogramming and programming exercises. It is OK to work with others on the logic of a program and to help others debug a program or understand an error message. Everyone should contribute approximately equally to the work. If somebody tries to freeload, dont work with him or her, and tell me if the person persists. Furthermore, everyone is to write up his or her own solutions. I dont want to see duplicate code or solutions. In general, its all right to brainstorm about how to do an assignment, but the details of carrying it out are to be done individually.
Each assignment will have a due date. It is due by the start of class on that date. Failure to hand it in on time will result in a penalty of 25% for each class day it is late. No excuses will be accepted for late programs. Im sorry, but such things as computer failure, sickness, etc., are not excuses! I strongly urge you not to wait until the last minute to submit your assignments. No assignment will be accepted after the last day of the term for any reason.
Click here to see the rubric for grading programs. Nonprogramming exercises will be graded on a partial credit basis.
What to submit: For nonprogramming exercises, type your answers and submit them on paper. For programming exercises, submit paper copy with your source code, documentation, and output. Examples will be shown in class. For all exercises, make the first line a comment with your name, the assignment number, and (for programs) a brief account of what the program is supposed to do.
Make sure that programs compile, run, and produce correct output before submitting them. As stated in the grading rubric, if a program doesnt compile, I assign it a grade of 0 and grade no further. Make sure it works before sending it to me for grading!
Of course, I will be glad to help you debug a program that does not work. Bring me a file with the code along with a brief description of what happens when you try to compile or run it. Do this before the due deadline so that youll be able to correct it before it is due.
Attendance: Attendance is expected at all classes. Makeup tests will be given only with a doctors or school excuse. Makeup tests are always more difficult than regular tests, regardless of the reason for absence. Homework or programming assignments that are late for any reason, including excused absences, will be penalized 25% per class day late.
Tentative Schedule:
|
Week 1 Aug 25 29 |
Ch.1: Introduction; history; get C++ compiler running |
|
Week 2 Sep 3 5 |
|
|
Week 3 Sep 8 12 |
|
|
Week 4 Sep 15 19 |
|
|
Week 5 Sep 22 26 |
TEST; |
|
Week 6 Sep 29 Oct 3 |
|
|
Week 7 Oct 6 10 |
|
|
Fall Break |
|
|
Week 8 Oct 15 17 |
|
|
Week 9 Oct 20 24 |
Ch 8: Arrays |
|
Week 10 Oct 27 31 |
Review; TEST |
|
Week 11 Nov 3 7 |
|
|
Week 12 Nov 10 14 |
|
|
Week 13 Nov 17 - 21 |
|
|
Week 14 Nov 24 |
|
|
Thanksgiving |
|
|
Week 15 Dec 1 5 |
Review; TEST; review |
|
Thursday, Dec 11 |
EXAM 3:00 a.m. 5:30 p.m. |
Honor Code: The teacher subscribes to the Longwood College Honor System, which, among other things, assumes you do not cheat and that you take responsibility to see that others do not. Infractions will be dealt with harshly. A student who is convicted of an Honor Code offense involving this class will receive a course grade of F, in addition to penalties imposed by the Honor Board.
Computer: You will be given an account on Longwoods LINUX system. You may do your programs and assignments on this system. You may want to put a copy of C++ on your PC. I recommend Dev-C++. It is free, and instructions for downloading will be given in class. You may use other versions of C++ if you wish, but you will not be able to get help from me in implementing them. Programs must run correctly on the LINUX system or Dev-C++ to be acceptable for this class.