CMSC160: Introduction to Algorithmic Design I
Fall 2006 (Online)
Instructor: Dr. R. P. Webber
Office location and hours: Ruffner 332. MWF 10 – 10:50, MF 2 – 2:50, T 2 – 3:15, and by appointment or coincidence.
Telephone: 434-395-2192
Email: webberrp@longwood.edu
How to contact me: Email works best. If you are on campus, feel free to stop by my office.
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: Cohoon and Davidson, C++ Program Design Third Edition. McGraw Hill, 2002. ISBN 0-07-241163-5.
Course objectives:
Course requirements and grading: This
is a programming course, and your grade will be based on the assignments that
you do. There will be approximately 12
assignments, counted equally.
There will be no tests and no exam.
The grade scale is as follows.
90-100 A; 80-90 B; 70-80 C; 60-70 D; below 60 F
Assignments will be posted on Blackboard.
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, don’t work with him or her, and tell me if the person persists. Furthermore, everyone is to write up his or her own solutions. I don’t want to see duplicate code or solutions. In general, it’s 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 12 midnight on that date. Failure to hand it in on time will result in a penalty of 25% for each calendar day it is late. No excuses will be accepted for late programs. I’m 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 midnight on the last day of the term for any reason.
Nonprogramming exercises will be graded on a partial credit basis. Click here to see the rubric for grading programs.
What to submit: For nonprogramming exercises, type your answers and submit them in a file. For programming exercises, submit a Notepad file with your source code. I will compile and run it on my machine. 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.
How to submit: Send your assignments to me
Make sure that programs compile, run, and produce correct output before submitting them. As stated in the grading rubric, if a program doesn’t 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. Send me a file with the code, and send me a description of what happens when you try to compile or run it. Do this before the due deadline so that you’ll be able to correct it before it is due.
If you submit program via email, don’t put the code in the body of the email. Rather, put it in a Notepad file (not a Word file) and send each program as a separate attachment. Similarly, if you are using Blackboard’s digital drop box, use Notepad, and put each program in a separate file.
Tentative Schedule:
|
Week 1 Aug 28 – Sep 1 |
Ch.1: Introduction; Computing and object oriented design; get C++ compiler running |
|
Week 2 Sep 6 - 8 |
|
|
Week 3 Sep 11 – 15 |
|
|
Week 4 Sep 18 – 22 |
Ch. 3, 4: Objects; decision statements |
|
Week 5 Sep 25 – 29 |
|
|
Week 6 Oct 2 – 6 |
|
|
Week 7 Oct 9 – 13 |
|
|
Week 8 Oct 18 – 20 |
|
|
Week 9 Oct 23 – 27 |
|
|
Week 10 Oct 30 – Nov 3 |
Ch. 7, notes: OO design; binary numbers |
|
Week 11 Nov 6 – 10 |
|
|
Week 12 Nov 13 – 17 |
|
|
Week 13 Nov 20 |
|
|
Week 14 Nov 27 – Dec 1 |
|
|
Week 15 Dec 4 – 8 |
|
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 are expected to do your programs and assignments on your own computer. You will want to put a copy of C++ on your PC. I recommend Borland C++ version 5.5. It is free, and instructions for downloading it will be in Course Documents on Blackboard. 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 Borland 5.5 to be acceptable for this class.