Instructor: Lu Ruan
Office: Atanasoff 204
Office Hours: MWF 4pm-5pm (or make an appointment by email).
Voice: (515) 294-2259
Email: ruan_AT_cs.iastate.edu
Teaching Assistants:
Shuxing Cheng
or
The course will cover the following topics, either completely or partially, as time permits.
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.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).
Homework assignments will not be accepted after the deadline. Programming projects 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. Programming projects more than 100 hours late will be assigned a grade of zero points.
Each student will be given three slip days for projects. You can think of these as personal due-date extensions. For instance, you can submit one project three days late, one project two days late and one project one day late, and other combinations without incurring the late penalty. Slip days are subject to the following rules.
SLIPDAY with your source code or by sending an email to
your TA. Use your slip days wisely, because additional slip days 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 for Midterm 1 to cover Chapters 1-6 during the week of October 10, and Midterm 2 to cover Chapters 7-10 during the week of November 7. The final exam will be given according to the University schedule, 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-6624.
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.
alias turnin352 ~cs352/bin/turnin
mkdir tmp
cd tmp
cp ~/proj1/makefile ~/proj1/*.c ~/proj1/*.h
To use a slip day for the project:
touch SLIPDAY
(To use two slip days you would have typed: touch
SLIPDAY1 SLIPDAY2)
turnin352 Project1
This is an automated response. Please do not reply.
We have received your Project1 submission at Sun Jan 9 20:34:24 CST 2005.
We now have the following files from you for Project1
---------------------------------------------------
SLIPDAY 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.