Syllabus
CSCI 3675
Organization of Programming Languages
Fall 2003

Class meeting MW 5:00pm-6:15pm Austin 304
Instructor Karl Abrahamson
Office Science and Technology C-113
Office hours MW 12:30pm-2:00pm, TTh 6:30pm-7:30pm
Phone 328-9689
Email karl@cs.ecu.edu
Course web page www.cs.ecu.edu/~karl/3675/fall03/
My web page www.cs.ecu.edu/~karl/
Text Concepts of Programming Languages: A Unified Approach (June 2003) by Karl Abrahamson


Prerequisites

You should have had a course in data structures and be familiar with at least one procedural programming language, such as C or C++. You should be a proficient computer programmer.


Introduction

Programming languages are the notation in which programmers express their creations. It is said that natural language influences how people think. Whether or not that is true, it is certainly the case that programming languages strongly influence how programmers think.

This course explores different kinds of programming languages: their philosophies, components, structure, advantages and disadvantages. It also covers related issues, such as implementation methods; type checking; specification of syntax and semantics; and reasoning about correctness. The student should come away with an appreciation for different forms of programming languages, as well as an ability to use different programming styles (regardless of the language used) when the need arises and to learn new languages that follow particular paradigms.

Because most students are familiar with imperative programming, we will spend more time looking at forms that are not imperative. We will examine important features of functional, logic and object-oriented languages.


Grading

Grading will tentatively be as follows.

Programming assignments and homework 35%
Five quizzes 7% each
Comprehensive final exam 23%
Attendance 7%

You can expect about 8 programming assignments.

Cutoffs for grades will tentatively by 90% for an A, 80% for a B, 70% for a C and 60% for a D. Those cutoffs will not be raised.


Attendance policy

You are expected to attend class. You are responsible for announcements and assignments given in class. If you miss a class, it is up to you to obtain notes and any other information that was provided in the class. Excuses that you did not know about something because you did not come to class and did not obtain the information will not count for anything at all.

Those who choose not to attend class can count on doing poorly in this course. If you choose not to attend class, then you must live with the consequences of that decision, however bad they are.

No incompletes will be issued in this course except for extraordinary circumstances, and even then only if you are nearly done already, and have done work of acceptable quality so that it is realistic that you can pass the course.


Asking questions by email

You are encouraged to ask questions about your programs when you are stumped, especially if you come up against a difficulty with the language. Send questions early, to leave yourself time to make progress after receiving an answer.

A good way to ask questions is by email. Please use a subject indicating that you are asking a question for CSCI 3675, and always include your name in your email. A reasonable subject would be

CSCI 3675 question about assignment 2
I will respond as quickly as I can.


Weather emergencies

In the event of a weather emergency, information about ECU can be accessed through the following sources:

ECU emergency notices http://www.ecu.edu/alert
ECU emergency information hotline 252-328-0062


Students with disabilities

East Carolina University seeks to comply fully with the Americans with Disabilities Act (ADA). Students requesting accommodations based on a covered disability must go to the Department for Disability Support Services, located in Brewster A-114, to verify the disability before any accommodations can be made. The telephone number is 252-328-6799.