Students are presumed to be familiar with basic programming techniques, including the use of pointers, functions and procedures, loops and recursion. Also assumed is facility with basic algebra and logic.
Assignments in this course will employ a wide variety of programming languages. All required languages will be available on the Dept.'s Unix system. Where possible, the course home page may indicate sources of language compilers and interpreters for other systems. In practice, however, small differences in compilers, hardware, and operating systems often make programs behave differently on different systems. In all cases, student programs will be graded based upon their performance on the CS Dept's Unix system, and, if a student develops his or her code using a different system, it is the student's responsibility to port their code to the CS Dept. Unix system and to test it there.