This course will serve as an introductory course in computer science for non-CS graduate students. Specifc topics include:
Note that this document can be found on the world wide web at: http://www.cs.uga.edu/~dkl/700/Spring97/syllabus.html
Office: GSRC 219D, 542-9269
I am a faculty member in the Computer Science Department at the University of Georgia. My main area of research is operating system support for parallel computing.
Office hours are for you. Please do not hesitate to come to my office. Consultation outside of office hours will be handled strictly by appointment. Please note that I will not be able to accept all requests for appointments, especially around program due dates.
Office Hours: Wednesday, 12:10-2:00, GSRC 539
The required textbook for the course is Applications Programming in ANSI C by Johnsonbaugh and Kalin. You will be expected to read any assigned material. We will not be able to cover all assigned reading in lecture. Please note, however, that you are responsible for any assigned material. Specifically, exam questions covering reading material are fair game.
Attendance at lectures is optional. You are, however, responsible for all material covered in lectures. We may be discussing material different from the textbook. I will do my best to make lectures interesting. Just copying another's notes may not be enough to actually understand the material.
You should come to lecture prepared. Ideally this means you have read the assigned material in advance. I am aware that this will not always be possible -- at least review the previous lecture.
"Lecture" is really a misnomer. Ideally, we will have a discussion as opposed to me talking for 50 minutes. Please do not hesitate to ask questions; you might think your question is dumb, but more likely, many people are wondering about the same thing.
Roughly speaking, we will start at the beginning of the text and cover as much material as we can.
Grades will be assigned on the usual A-F basis. Grading will be absolute; there will be no "curve". Achieving a 90% will guarantee an "A", 80% a "B", and so on. However, when the final grades are given, it could be the case, for example, that an 85% gets an "A". Do not confuse this with a curve, however. If everyone does A work (as I hope), everyone will get an A. If everyone does C work, everyone will get a C. So that you know your grade at all times, four fictitious students will be given grades for each assignment and exam. These students will be named "Min A", "Min B", etc., indicating the minimum score for each grade. Graduate students will be graded on a different scale than undergraduate students.
There will be three to four homework assignments, three programming assignments, a midterm, and a final. Their approximate weights will be as follows:
Please note that these are extremely tentative. I have never taught this class before, so I am not exactly sure what the assignments will be. You will be notified of the exact format very early in the quarter. Furthermore, relative weights of assignments can change upon the whim of the instructor. Also, I reserve the right to fail any student who fails the final exam.
The class schedule will be updated quite often. You should reload this page often. This is where reading assignments are posted . Please note that due dates can change up on the whim of the instructor.
It's a good idea to read the assigned material before lectures. You can find the material that will be covered in each lecture on the Class Schedule page
Written assignments will cover the material in the book and in lecture. These assignments are to be done individually.
The programming assignments will be designed to reinforce the material covered in class. All programs must be written in C.
All assignments are due at the start of class. Over the course of the semester, each steudent will receive 3 late days. These can be used in any combination on the programming assignments and should allow you to schedule around deadlines in other classes you are taking. Note that a weekend counts just as regular days do; in other words, if an assignment is due Friday and is turned in Monday, it is 3 days late. Late days cannot be used on the written assignments; furthermore, I will not accept any homeworks that are more than 3 days late..When you have no late days left, you will lose 10% per day, without exception. Late days cannot be used after classes have ended.
We realize that many of you must work to support yourselves. However, this cannot be used as an excuse for late work. I would suggest that you start early on programming assignments. I will warn everyone of this several times, but surely people will ignore these warnings (computer scientists, by nature, are procrastinators). However, the fact remains that in the real world, there is a penalty for lateness, unless you happen to be working for Microsoft.
There will be one midterm and a final. The exams will not be simple regurgitation of the material covered in class; rather, they will be designed to see if you understand the material.
Without prior arrangement, any missed exam will result in a grade of zero.
Cheating will not be tolerated in this class. You are allowed, and in fact encouraged, to discuss the programming assignments with other students. However, these must be general discussions. For example, discussing the need for locking address spaces is perfectly fine; however, telling one exactly how that is done is not. If you have any doubts about what you are doing, ask me. If you are caught cheating you will be penalized appropriately according to University guidelines. You will certainly fail the assignment and possibly the course. So, simply put, don't do it.
I will be using the Web as much as possible for this course. Handouts will be rare. All lecture notes will be on the Web. In addition, you are encouraged to use the CS 700 newsgroup, uga.cs.700. The TA and I will read this group, which is the place to post questions of general interest. Please note that the newsgroup is not to be used for trying to get answers to homework assignments. (Remember, I will be reading it.)
Class announcements, such as due date and assignment changes, will be made in the newsgroup and/or on the Web. You are therefore responsible for checking these two places.