Rules
Communication
- Reach me through my official U.M. email, not through blackboard.
- Always make sure your name appears, and say which class you are in.
Attendance
- This is an in-person class. Attendance is required. Watching by Zoom does not count.
- Attendance will be taken on random dates and unexcused absences will reduce your final grade.
- Arrive on time for the beginning.
Submitting Assignments
- Assignments must be submitted as word documents.
- They must begin with your name and which assignment it is.
- Then say exactly where I can find the file in your rabbit account.
- Then any comments about clever/complicated things you have done that might need to be explained to me.
- Then, if it is a resubmission, include all of my original feedback and say a few words about how you have corrected everything.
- Then include all of your code as plain text, not as screen-shot images.
- Make sure your code is readable, and that I will be able to copy and paste it somewhere if necessary.
- Good coding practice: consistent proper indentation and spacing is required. Unreadable means ungradeable.
- Good coding practice: things must have sensible and meaningful names.
- Include useful and comprehensive test runs.
- Be sure that your test runs really test all the important features.
- Your test runs should also be plain text, not screen-shot images.
- Faked test runs will be treated like any other form of cheating: a zero with no resubmissions allowed.
- All assignments are to be submitted through blackboard under Assignments.
- Grades will be posted on blackboard.
Do it yourself
- This is all about learning to use Unix and to program under both C and Unix.
- Everything that the assignment is about must be done by you.
- e.g. if an assignment is about sorting a directory you may not use a built in function (scandir) that does it for you.
- Third party software is completely out of the question.
- Everything must be done in C, no C++ or anything else, and not even the latest C (I'll explain)
Lateness
- There will be real deadlines for assignments.
- Assignments are graded out of 10,
For every day (or part of a day) it is late, the maximum grade will be reduced by 1.
- Extensions will only be granted for exceptionally good reasons.
- You are always given plenty of time to complete assignments,
If you don't start until the day it is due, you are asking for trouble.
Where to do your assignments
- You will all have accounts on the Unix server rabbit.eng.miami.edu
- You should do all of your assignments there; it is very important to be familiar with Unix
- If you insist on not following that rule, you must at least upload your work to rabbit,
and make sure it works there.
- When you submit an assignment, you must tell me exactly where to find it in your account.
Collusion and Plagiarism
- All assignments are to be individual effort. There will be no group work.
- When an assignment asks you to do something, you are expected to do it yourself.
- It is not acceptable to find something on the internet or in a book or anything like that.
- It is not even acceptable to find an official library function or class that does the job for you.
- Failure to follow these rules will result in a zero, without the possibility of resubmission.
Final Grades
- 50% of your final grade will come from the assignments,
- 50% of your final grade will come from examinations.
- Therefore you will not be able to pass the course if you don't do the assignments.
- There will be two mid-terms and one comprehensive final.
- Most, maybe all, of the final will consist of opportunities to improve your mid-term grades.
The Book
- It is not absolutely required to buy the text-book,
but it is definitely recommended.
- It is a quite useful real-world reference.
- Old-ish versions from amazon and ebay are good enough and can be very cheap.