CIS346: Organization of Programming Languages

Syllabus

Fall 2003

 

I.               Instructors Information

Name: Prof. Charles R. Hardnett

Office: Room 219 Science Bldg (Tapley)

Phone: 404-270-5880 (please leave a message)

Email: hardnett@spelman.edu (best way to communicate)

Office Hours: M 10-12, F 2-4, and by appt

 

II.             Course Description

4-3-0. Prerequisite or Co-requisite: CIS 213.

This is course is a study of the fundamental concepts and general principles underlying programming languages; the run-time behavior of programs; and the comparison of language features and programming techniques using several languages such as Ada, C, Java, LISP, C++, and Prolog.

 

Course materials such as lectures, links to significant web pages, bulletin board, etc. will be available through webct (webct2.spelman.edu).

 

III.           A 4-hour course?

This course requires the completion of a semester long independent study of a programming language. The student must learn the language, write programs in the language, and evaluate the language. The student is required to submit a full technical report following the ACM guidelines (http://www.acm.org/sigs/pubs/proceed/template.html contains ACM proceedings templates for word, wordperfect, and Latex) and give an oral presentation at the end of the semester.

 

IV.           Course Objectives

The primary objectives of this course are for you to develop the abilities:

a.     To learn new languages more easily and quickly;

b.     To evaluate programming languages with respect to their suitability for particular applications;

c.     To recognize language design choices;

d.     To describe language features within a conceptual framework;

e.     To understand the relationship between language features and implementation requirement;

f.      To write and debug programs in Perl, Prolog, LISP, and a language of your choosing; and

g.     To develop and deliver technical oral presentations

V.             Learning Activities

This course will involve several learning activities including:

a.     Attending class lectures/discussions

b.     Homework assignments which may be worked on collaboratively

c.     Programming assignments to reinforce the features and concepts of various programming language paradigms

d.     In class demonstrations of programming language features and concepts

e.     Writing a technical paper

f.      Developing and orally presenting technical material

 

VI.           Evaluation

Letter grades will be assigned based on the following scale:


Numeric

Letter

94 - 100

A

90 - 93

A-

87 - 89

B+

84 - 86

B

80 - 83

B-

77 - 79

C+

74 - 76

C

70 - 73

C-

67 - 69

D+

64 - 66

D

60 - 63

D-

< 60

F


The final grade for the course will be computed based on the following categories and weights:

Homework            20%
Programs               15%
Midterm                20%
Project                   20%
Final Exam            25%

 

VII.         Textbooks

 

Required: Concepts of Programming Languages by Robert W. Sebesta, 5th Edition (2001), Addison-Wesley Publishers, ISBN 0201752956.

 

VIII.       Major Assignments

These dates are not meant to be flexible. They will only be changed in extreme circumstances and with plenty of notice.

 

a.     Oct. 3rd            Programming Assignment #1 (Perl)

b.     Oct. 15th          Midterm

c.     Oct. 24th          Programming Assignment #2 (Prolog)

d.     Nov. 14th         Programming Assignment #3 (Scheme)

e.     Nov 24th         Programming Language Evaluation Paper

f.      Dec 1st            Programming Language Evaluation Presentation

 

IX.           Late Assignments

I prefer that you not submit materials late. However, I realize that things happen that can affect you in completing assignments. For this reason, I allow each student a total of 4 late days. You may use your 4 late days anyway you see fit. You may use them all at once, and submit one assignment 4 days late without penalty; or you may scatter the use throughout the semester. These late days only apply to programming assignments and homework assignments.

 

X.             Course Outline

This is meant to serve as an approximate schedule. There are some topics which may take less time, and other topics which may take more time depending on the class itself. Significant modifications to the schedule will be made as early as possible.

 

a.     Aug, Chapter 1 (1.5 days)                                          HW #1

b.     Sep, Chapter 3 (4 days)                                            HW #2

c.     Sep, Chapter 4 (4 days)                                           HW #3

d.     Sep, Perl (2 days)                                                      PG #1

e.     Sep, Chapter 5 (2 days)                                           HW #4

f.      Oct, Chapter 6 (2 days)                                          HW #5

g.     Oct, Prolog (Chapter 16) (2 days)                             PG #2

h.     Oct, Chapter 7 (2 days)                                             HW #6

Midterm (target date is Oct. 15th)

i.      Oct, Chapter 8 (3 days)                                            HW #7

j.      Oct, Chapter 9 (3 days)                                           HW #8

k.     Nov, Scheme (Chapter 15) (2 days)                           PG #3

l.      Nov, Chapter 10 (3 days)                                           HW #9

m.   Nov, Chapter 11 (3 days)                                          HW #10

n.     Nov, Chapter 13 (1 day)

o.     Nov, Java: Selected topics from Chapters 12, 13, & 14 (2 days)

p.    Nov, Review (1 day)

q.     Dec, Presentations (2 days) (we may use an alternate time to do in one day)

Final (Dec 8th Ð 12th)

 

XI.           Reading Assignments and Bibliography

Most reading assignments are based on the textbook. However, you will be required to read other books to better understand the programming languages we discuss. In addition, there may be additional reading materials to support the textbook.

 

XII.         Attendance Policy

Students are required to be present and on time for each class and are responsible for all material covered in class whether they are present or absent. The instructor may withdraw students with excessive unexcused absences.

 

XIII.       Academic Honesty

At the heart of Spelman CollegeÕs mission is academic excellence, along with the development of intellectual, ethical and leadership qualities. These goals can only flourish in an institutional environment where every member of the College affirms honesty, trust, and mutual respect. All members of the academic community of Spelman College are expected to understand and follow the basic standards. Students are expected to read and abide by the Spelman College Code of Conduct (see the Spelman College Student Handbook 2003-2004) and are expected to behave as mature and responsible members of the Spelman College academic community. Students are expected to follow ethical standards in their personal conduct and in their behavior towards other members of the community. They are expected to observe basic honesty in their work, words, ideas, and actions. Failure to do so is a violation of the Spelman College Academic Integrity Policy. Violators will be subject to the sanctions outlined in the Spelman College Bulletin.

 

XIV.       Disability

Spelman College is sensitive to the special needs of students with disabilities. Any student who feels she may need an accommodation based on the impact of a disability should contact the Office of Disability Services privately to discuss her specific needs. Please contact the Office of Disability Service at 404-270-5289 in MacVicar Hall to coordinate reasonable accommodations.