CSCI 372: Comparative Programming Languages

Call Number: #13242 (prereq CSCI 161 or 228)

TR 2:00-3:15
IACC, Rm. #102

Office hours: TR 3:30-4:30, or by appt. CSCI 372 Grader:
Dhananjay Dimri
(Virtual?) Office Hours: TBA

Dr. Brian M. Slator

Computer Science Department
North Dakota State University
Office: IACC Building, Rm. #262-E
Phone: 701-231-6124
Fax: 701-231-8255

Announcements, etc

Course Overview

CS372: Comparative Programming Languages, is about the application, suitability, syntax, and semantics of programming languages.

General Comments

  • This document will change over the course of the semester.
    You should check here at least once a week.

  • You can expect a substantial amount of outside class effort for this course, and a substantial amount of reading.

  • You can expect an exam around every fourth week
    • Use to enroll in the course, then take the test (you can enroll any time).
    • Exams will be available between 2:00 and 3:15 PM, and you will have 75 minutes to complete it.
    • 50 questions, multiple choice, open book, open notes, covering chapters and lecture, but using individual effort
    • Two clusters are being reserved to accomodate most of you (thirty-six seats), the rest must find a machine somewhere (dorm, cluster, home, etc.)
    • The clusters last year were: Ehly 119 (18 computers), Architecture 102 (18 computers). These are being reserved for the semester.

Required Reading:

This semester you will read almost every word of these two documents:
  1. Concepts of Programming Languages (6th Edition) by Robert W. Sebesta. Published by Addison Wesley.

    • To: "'Brian M. Slator'" <>
      From: "Johnson, Craig" <>
      Date: Mon, 25 Aug 2003 19:24:07 -0400
      "[...] The student portion of the textbook
      website is suppose to go live this Friday, the 29th."

  2. Online LambdaMOO Programmer's Manual (LambdaMOO Version 1.8.0p6, March 1997)
    There are a number of copies online, both text and html versions, in a number of pretty similar versions: 1.8.0p6 is the most recent.

  3. OPTIONAL: Online Lecture Notes

Course Structure

The course will have three (3) major components:

  1. Theoretical study of programming languages. Part of the course will be held in a virtual Museum of Computer Science physically located in Valley City State University.

  2. 5 assignments.
    1. Assignment #1 - Listserv (50 pts.)
      Due: Midnight, Thursday, August 28.
    2. Assignment #2 - MOO (50 pts.)
      Due: Midnight, Thursday, September 4.
    3. Assignment #3 - Lisp (100 pts.)
      Due: Midnight, Thursday, October 2.
    4. Assignment #4 - Lisp Room/Bot (200 pts.)
      Due: Midnight, Tuesday, December 9.
    5. Final writing assignment (100 points), OPTIONAL
      Due at final exam time, Wed, Dec. 18 at 2:30 PM
      No late assignments can be accepted!
      write a 3-5 page paper, using good English style and complete with citations and references, on ONE of the following topics:
      • 1) Compare and Contrast C# with LambdaMOO
      • 2) Compare and Contrast Java with LambdaMOO
      Note this assignment is optional. It will be averaged in to your other scores, and could effect your final grade in either positive or negative manner.

    Assignments will be handed in electronically and results will be returned electronically. Programming assignments are designed to be as individualized as possible. You will be creating objects (machines, exhibits, demonstrations, and so forth), in a virtual museum designed to teach about programming languages.

  3. Four (4) Exams, approximately one every four weeks, using Blackboard


    1. Chapter 1, 2, 15
    2. Chapter 3, 4, LambdaMOO
    3. Chapter 5, 6, 7,
    4. Chapter 8, 9, 10, PERL
    Exams will be self-paced but timed, Web-based, and taken outside of class.

Relevant Links

Client Software

Some homework assignments will be completed in the ProgrammingLand MOO, which is an instance of a LambdaMOO server. In order to do the assignments, you will need access to an Editing Client. The following are available.

  • MacMOOSE available in the NDSU IACC Mac Clusters
  • tkMOO-light available in the NDSU IACC PC Clusters or the SOD Cluster
  • Or, for your own use at home, you can download the following:


Grades will be assigned according to the customary system:
  • A 100%-90%;
  • B 89%-80%;
  • C 79%-70%;
  • D 69%-60%;
  • F 59% or less
Assignments and exams will be scored as follows:



Semester Schedule

Policy on Late Assignments

There is no happy way to assign lateness demerits. For the purposes of this class, it is never too late to turn in work (until grades are turned in at the end of the semester)

However, the later an assignment is produced, the less it is worth.

Therefore, the policy will be this: late assignments will lose a letter grade immediately, and then another letter grade after one week.

Special Needs
NDSU Academic Affairs New Course Syllabi Requirement

Any student with disabilities or other special needs, who needs special accomodations in this course, is invited to share these concerns or requests with the instructor as soon as possible.

Academic Dishonesty or Misconduct
NDSU Academic Affairs New Course Syllabi Requirement

Work in this course must adhere to the Code of Academic Responsibility and Conduct as cited in "Rights & Responsibilities of Community: A Code of Student Conduct" (1993) pp. 29-30. "The academic community is operated on that basis of honesty, integrity, and fair play. Occasionally, this trust is violated when cheating occurs, either inadvertently or deliberately .....Faculty members may fail the student for the particular assignment, test, or course involved, or they may recommend that the student drop the course in question, or these penalties may be varied with the gravity of the offense and the circumstances of the particular case."

Academic dishonesty can be divided into four categories and defined as follows:

  • Cheating: Intentionally using or attemping to use unauthorized materials, information or study aids in any academic exercise.
  • Fabrication: Intentional and unauthorized falsification or invention of any information or citation in an academic exercise.
  • Facilitating academic dishonesty: Intentionally or knowingly helping or attempting to help another to commit an act of academic dishonesty.
  • Plagiarism: Intentionally or knowingly representing the words or ideas of another as one's own in any academic exercise.

Would you like to know the Current Time?
Hits since Tuesday, 8/26/03:
Send comments to: