Instructor: Dimitris Margaritis
Office: Atanasoff 103
Office Hours: Mondays and Wednesdays 4-5 (or make an appointment by email
or come by the office).
Voice: (515) 294-8052
Email:
Teaching Assistant: TBA
Office: TBA
Office hours: TBA
Email: TBA
The course will cover the following topics, either completely or partially, as time permits. These may be presented in a slightly different order than the one listed below.
Your final grade in this course will be based on homeworks, programming projects, and exams. These will be weighted as follows.
You are guaranteed to receive the highest applicable letter grade based on the following scale.
The instructor reserves the right to raise grades. For example, if your final grade is 83%, you are guaranteed to receive at least a B, but you may receive a B+.
Graders will email scores for homeworks, projects, and exams to students. Grades may be appealed for ONE WEEK after they are emailed except the final exam whose grade will be emailed by request only. After the appeal period has expired, grade change requests will be denied.
Homework assignments will be due on Monday of each week (unless stated otherwise), and will be discussed during recitation. ALL homework must be turned in electronically (see the section on electronic submission). Written work must be submitted as plain ASCII text. The graders must be able to view your homework using a text editor such as vi, emacs, or pico. Word or WordPerfect files will not be accepted!
Homework 0 must be completed before any other electronic submission is accepted.
There will be three programming projects for this course. The following applies to all projects.
make. For
more information on the tool make, see the online manual.pyrite. This is the machine that will be used by the
graders.Homework assignments and projects are individual efforts, not group efforts. While discussion of assignments with other students is encouraged, a level of discussion that produces identical work is prohibited. When discussing code with other students, you may
It is expected that you have written EVERY LINE OF CODE that you submit (with the exception of code given out in class). The following are examples of activities that are PROHIBITED:
Such activities will result in zero points awarded for the assignment and a formal charge of Academic Dishonesty through the Dean of Students' Office (see the University's Academic Dishonesty Policy for details).
Programming projects and homework assignments will be penalized 1% per hour past the deadline. For instance, if you turn in a project 6 hours late, your grade will be multiplied by 0.94. Homework assignments will not be accepted after Thursday at noon. Programming projects more than 100 hours late will be assigned a grade of zero points.
Each student will be given three coupons for projects only. You can think of each coupon as a personal due-date extension good for one day. For instance, you can choose to do one of the following (only one, not all!):
COUPON (or COUPON1,
COUPON2 etc if using multiple coupons), together
with your source code.Use your coupons wisely, because additional coupons will not be awarded except under extreme circumstances.
There will be two midterm exams and one final exam. Midterm exams will be one-hour, in-class exams. The tentative exam schedule is the beginning of October for Midterm 1, which will cover Chapters 1-5. Midterm 2 will be around the beginning to middle of November, and will cover Chapters 6-8. The final exam will be given according to the University schedule (Wednesday, December 17, 7:30-9:30 am currently), and will cover the remaining material in depth and general concepts from the midterms.
All exams will be closed book and closed notes. Please bring a photo ID with you to each exam. To reschedule an exam or for special considerations, please contact the instructor at least one week prior to the exam date. Missed exams will not be re-offered except under extreme circumstances.
If you have a disability and anticipate needing accommodations in this course, please contact the instructor within the first two weeks of the semester. Before meeting with the instructor, you will need to obtain a SAAR form with recommendations for accommodations from the Disability Resources Office, located in Room 1076 on the main floor of the Student Services Building. Their telephone number is 515-294-7220.
All homework assignments and programming projects must be turned in electronically, using a script called turnin. The script is invoked by calling
~cs352/bin/turnin Assignment
(You may create an alias to
reduce your typing requirements.) The script copies everything within
your current working directory to a directory named
Assignment in the TA's grading account. Note that the
script must be invoked from one of the Red Hat PCs (e.g.,
popeye). Use caution when submitting an assignment: if you turn in the
same assignment more than once, your previous submission will be
erased. You should receive email confirmation of your submitted
files. If you don't, or if you receive an email without
mentioning your files, there was a problem with the submission. A
common problem is too little disk quota in your account (the
turnin script uses some temporary space in your account
and will fail if there is not enough space).
This example assumes that the script has been aliased, by adding
the following line to your .cshrc file, assuming that
your shell is the tcsh shell.
alias turnin352 ~cs352/bin/turnin
mkdir tmp
cd tmp
cp ~/proj1/makefile ~/proj1/*.c ~/proj1/*.h .
To use a coupon for the project:
touch COUPON
(To use two coupons you would have typed: touch
COUPON1 COUPON2)
turnin352 Project1
This is an automated response. Please do not reply.
We have received your Project1 submission on Sun Jan 9 20:34:24 CST 2006.
We now have the following files from you for Project1
---------------------------------------------------
COUPON makefile source1.c source1.h source2.c
---------------------------------------------------
cd ..
rm -R tmp
If you have any difficulty with electronic submission, please contact a TA or the instructor.