In the more innovative part of the course we will be discussing new highly parallel computer architectures such as reduction and data-flow architectures, as well as introducing a functional programming language, Miranda. Functional programming languages hold promise of being much more efficient than traditional languages on highly parallel machines. Programs in the traditional portion of this course will be run on Apple Macintoshes using the Lightspeed Pascal compiler. We will use the Computer Science Department network of Sun workstations for Miranda.
This course, as does CSCI 134, serves as a prerequisite for CSCI 136 and 237, and from there to upper level computer science courses. We assume that all students enrolled have experience with some programming language (we do not presume that you know anything about Pascal). Your level of experience should be sufficient to write a simple program (in any programming language) to read in a list of numbers and compute the average and maximum of the list. If you have had extensive experience in Pascal, Modula-2, C, C++, Java, or other similar language, CSCI 136 might be a better choice. See me if you have questions.
This course has mandatory scheduled laboratories that meet Wednesdays at 1:10 p.m. Labs include a combination of short exercises and work on weekly programming assignments. Weekly programming assignments will be due on Sundays by 11:59 p.m. Electronic copies should be submitted at that time in the CSCI 135 drop-off folder on Cider Press. There will be several types of laboratory and class assignments given: (1) practice assignments -- for which no grade is recorded (but which must be turned in), (2) homework assignments -- which together count for 12% of the grade, and (3) test programs -- which count a total of 30% of the final grade. There will be a midterm (worth 25% of the final grade) on Wednesday, October 13 (during lab period), and a scheduled final exam (counting 33%). You are free to obtain as much help from others as necessary for practice assignments since they are mainly to get you started, but the amount of help you may receive on homework assignments is restricted (see handout). Test programs are treated as take-home exams, with no assistance allowed. Violations of these restrictions will be taken directly to the honor committee. Homework assignments will not be accepted after the due date. Late test programs will be accepted, but with a penalty of 10% per day. See the Late Policy in Computer Science Courses handout for further information.