Department of Computer and Information Science
723 W. Michigan Street, SL 280
Indiana University-Purdue University Indianapolis
Indianapolis, IN 46202-5132
CSCI 56500: Programming Languages
Instructor: Prof. Rajeev R. Raje
The goal of this course is to understand the theory of programming languages.
Basic principles and advanced topics related to programming languages will be
discussed in this course. The list of topics, that will be covered in the
course, is indicated in the syllabus.
It is assumed that the students have taken an undergraduate programming language
class. Students who have not taken such a course should
familiarize themselves with the material covered in an undergraduate class.
- During the semester, many announcements will be sent to the
list. Hence, everyone must subscribe to the mailing list.
See the information on the syllabus about subscribing to this mailing list.
announcements will also be posted on the (this) CSCI 56500 web-page. Everyone
should check their mails and this web-site regularly.
- 9/27/17 -- The next set of slides are available at the usual locations.
- 9/18/17 -- The next set of slides are available at the usual locations.
- 8/30/17 -- The next set of slides are available at the usual locations.
- 8/22/17 -- Students should subscribe to the cs56500 mailing list.
- 8/22/17 -- Class notes will be periodically placed in the
/usr/local/examples/rajeev/56500/notes directory on Tesla and also on the
class page of Canvas. The first of slides are available in both these places.
Statements About Academic integrity, Cooperation and Plagiarism
Students are responsible for completing their work on time, working
independently, attending class, and checking Canvas, class page, and
their email for new
announcements and assignments. They are responsible not only for the reading
material from the textbook, but also all the material covered in lectures
including any specified external reading.
Students are encouraged to discuss the concepts and principles amongst
themselves. Such discussions may help in a better understanding of the topics
taught in the class. However, the student cooperation should not result in
identical or near identical answers/report/code/documentation.
All classwork and material submitted for grading must be student's own effort,
unless specified otherwise by the Instructor.
During the exams, the students are to do the work on their own (e.g., do not
look at neighbors). Students are also not allowed the use of cell phones or
other Internet connected devices during exams.
Students should not distribute graded quizzes and tests to other (past,
current and future) students and should also not ask for past quizzes and
tests from other students and the TA.
Proper credit (in the form of correct citations and references)
should be given wherever applicable and direct cutting-and-pasting
MUST BE avoided, unless indicated as verbatim (e.g., putting the
text in quotation marks). A short tutorial (seen better with Internet
plagiarism is located at: IUPUI Tutorial .
Policy on Academic Dishonesty in the Department of Computer and Information
Science at IUPUI
The faculty in the Department of Computer and Information Science (henceforth,
referred to as the department) values academic honesty to be absolutely
essential and expects all students to conform to it. Any violation of academic
integrity is considered a serious offense and will result in severe
The policy against violations of academic integrity will be enforced at the
departmental level across all courses.
If a student does not abide by this policy then, for the first violation,
he/she will receive zero points for the component of the course on which
academic misconduct occurred and will be reported to the Department
Chairperson. If the violation is not related to a specific assignment or exam,
the course instructor reserves the right to impose the zero-point penalty to
any component of the course.
For a second violation of academic integrity (occurring anywhere in the
graduate or undergraduate curriculum, in the same or a different semester, in
the same or a different course), the student will receive a failing grade for
the course where the second violation occurred, as enforced by the Department
Chair and the School of Science Dean’s Office, and, in addition, an official
reporting process will be initiated by the Department Chair as per IUPUI's
Student Conduct Policies:
For a third violation, the department will initiate dismissal request from the
program in which the student is enrolled.
In all cases of academic integrity violation, the involved student will be
notified in writing at the time the offense is observed and acknowledge the
receipt of such notice in writing.
This is the minimal policy and the department reserves the right to impose
more severe penalties for the first and/or second offense of academic
The student will have opportunities to file appeals at the department, the
school, and the university levels, to contest the academic dishonesty finding
and/or the imposed penalty.
At the department level, any appeal will be made to the department’s graduate
or undergraduate committees respectively, depending on whether the student is
a graduate or an undergraduate student. The graduate or undergraduate
committee chair will substitute any committee members involved in the penalty
imposition process with other faculty members with no conflicts of interest
before processing the appeal. If desired, a student can pursue a further
appeal to the School of Science Appeals Committee. Finally, the student can
also submit an appeal to the IUPUI Appeals Committee.
There are a number of campus-wide course policies, including the policy for
academic integrity, at IUPUI. These can be found here:
Policies. Students are expected to know the particulars of these polices.
In addition, there is a professional code of ethics for
Computer Scientists specified by the main professional
society, Association for Computing Machinery (ACM). ACM's
Code of Ethics is found here:
ACM Code of Ethics .