Syllabus
Computer Science 3675
Organization of Programming Languages
Section 001
Fall 2011

Class meeting 1:00-1:50pm MWF Austin 306
Instructor Karl Abrahamson
Office Sci. & Tech. C-113
Office hours MW 2:00-3:00pm;
TTh 1:30-3:00pm;
or by appointment
Phone 328-9689
Email abrahamsonk@ecu.edu
Course web page www.cs.ecu.edu/~karl/3675/fall11/
My web page www.cs.ecu.edu/~karl/
Text Concepts of Programming Languages: A Unified Approach (August 2011) 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 Java, 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 and software developers think.

This course explores different kinds of programming languages: their philosophies, components, structure, advantages and disadvantages. It also covers issues such as type checking, specification of syntax and semantics of languages, foundational issues and how programming languages are implemented. We will encounter imperative, functional, logic and object-oriented programming.

The student should come away with an appreciation for different forms of programming languages, and should be able to explain when and why they are useful. The student should be able to apply different programming styles to solving problems, regardless of the language used. The student should have sufficient background to understand programming language documentation, and to learn new languages that follow particular styles.


Textbook

The price of textbooks has risen to astronomical levels. For this course, you will not be required to purchase a textbook. The book is available to you via a link on the course web page.


Grading

There will be seven quizzes, on 9/9, 9/23, 10/7, 10/21, 11/4, 11/18 and 12/2. Each quiz will be given at the beginning of class, and additional material will be covered afterwards. There will be no makeups for missed quizzes. The final exam is Monday, December 12 from 11:00am to 1:30pm, in Austin 306.

I will drop your lowest quiz grade, leaving six quizzes. Grading will be on the basis of seven programming assignments (38%), six quizzes (36%) and a comprehensive final exam (26%). 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

I will not take attendance. It is up to you 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.


Incompletes

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. An incomplete will not be given simply because a student could not find the time to do the course work. By registering for this course, you are committing to finding time to do the work.


Recommendations for success

  1. Attend class. Arrive on time.

  2. Avoid distractions during class. Do not send or receive text messages, read your email, play games, etc.

  3. Read your notes and the book twice. Take a break (like a whole day) in between. You will learn much more that way.

  4. Do not allow yourself to fall behind. Work on the homework early. Do not wait until just before the deadline.

  5. Schedule time to work outside of class.

  6. If you are having trouble, seek help soon. Do not wait until it is too late.

  7. Get adequate sleep. Sleep is important both before and after you learn new concepts. Sleep before enables you to concentrate, and sleep afterwards is critical for moving new information into permanent memory.


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. For example, if you cannot understand why your program gets a compile error, and you are stuck, ask for help. 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 for a question about assignment 3 is

CSCI 3675 question about assignment 3
Please send email to the address listed on the first page of this syllabus. Although I will get to the questions as quickly as I can, do not expect immediate answers. Give yourself time to get answers.


Student conduct

Smoking is not permitted in classrooms. Please turn off telephones and other communication devices while in class. You may use a computer for taking notes.

Students are expected to abide by the university's Student Honor Code. The homework that you do is a critical part of your education. Each student is expected to do his or her own work. That does not mean you are not allowed to discuss your ideas with other students. Working groups can be beneficial, and I encourage you to talk through ideas with other students. But outright copying is plagiarism, and is unacceptable. Students who copy other students' work, or who allow their work to be copied, or who copy their work from other sources, such as the internet, will receive no credit.


Weather emergencies

In the event of a weather emergency, information about ECU can be obtained 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. Students requesting accommodations based on a covered disability must go to the Department for Disability Support Services, located in Slay 138, before any accommodations can occur. The telephone number is 252-737-1016.


Retention Requirements

Academic requirements for retention have changed. Please be aware of the following new GPA requirements. Please discuss the retention requirements, entrance to major requirements, and your goals with your academic advisor.

GPA Hours at ECU (identified in Transcript in Banner Self Service) plus transferred credit hours Old Retention Requirements (GPA) New Retention Requirements Effective Fall 2011 (GPA computed based on all courses taken at ECU)
1-29 semester hours 1.6 1.8
30-59 semester hours 1.8 1.9
60-74 semester hours 1.9 2.0
75 or more semester hours 2.0 2.0