Mathematics 203 (Introduction to computer science) - Fall 1983 General information The subject matter of Mathematics 203 includes the Pascal programming language and introductory material in theoretical computer science. The rationale for this combination is that Pascal is, by design, an ideal illustration of many of the basic concepts of computer science, and that the abstract structure of many kinds of problems in theoretical computer science is more clearly reflected in Pascal programs than in programs written in other languages. Among the topics to be covered are machine organization, data representation, data structures, recursion, and programming aids (debuggers, profiling programs, etc.) The instructor for this section of the course is John Stone. My office is in Darby Gymnasium, on the second floor, about halfway down the hall (the rooms are unnumbered). My telephone number is 236-2591. I am on campus almost all the time between 8 a.m. and noon and between 1 p.m. and 5 p.m.; guaranteed office hours are as follows: Mondays, 11 a.m. to noon Wednesdays, 1:15 to 2:30 p.m. Thursdays, 3 to 4 p.m. The textbook for the course is OH! PASCAL! by Doug Cooper and Michael Clancy (New York: W. W. Norton & Company, 1982). The course work consists of two examinations, a mid-term and a final, about nine short programming assignments, and a large programming project. Each programming assignment will have a deadline; I expect most students to meet the deadlines without difficulty. I shall, however, accept late submissions until I begin returning corrected papers to other students. My policy is to judge late papers more strictly than ones that come in on time, on the theory that the extra time should be put to good use. (For those of you who want to know the exact arithmetic details, the formula I use is l = g - d(m - g), where l is the grade assigned to a late paper, g is the grade it would have received if it had been submitted on time, d is the difference in days between the deadline and the actual run time of the program submitted, and m is the maximum grade for the assignment.) You will be choosing your own programming projects. I shall prepare a list of project proposals, and you can either select something from the list or come up with a suggestion of your own. I am assuming that everyone would prefer to have an individual project; any of you who want to work on a team project should see me early in the semester, so that we can come up with a project proposal of suitable difficulty. There are three requirements for passing the course: (1) You must have a passing grade on the short programming assignments and the mid-term, taken collectively; (2) you must have a passing grade on the final examination; and (3) you must complete the programming project. A complete programming project is defined as a program that is syntactically correct, is intelligible to the knowledgeable Pascal programmer (me), and handles at least one set of test data correctly. Except in the case of an approved team programming project, it is unethical to submit a program that is not entirely your own work. To borrow other people's code without acknowledgement would be improper in any case; in this class, since the point of the exercises is to get you to learn the material for yourself, it is improper to take answers or partial answers from others even if their contributions are explicitly acknowledged. Any indications of collaboration or plagiarism will be submitted to the Committee on Academic Standing.