Looking for CS 3411B (the T/Th class with Hutto)? Go here.

CS 3411 - Programming Language Concepts

Winter 1999

Jump directly to various contents of this page... Or to other main pages...

Contact info

Lecture meets MWF at 10am in MRDC 2407. The class newsgroup is git.cc.class.3411a; you are required to be aware of any information posted there by the instructor or any TA.

Instructor Brian McNamara lorgon@cc MWF 2-3
TA Tanisha Hall thall@cc T/Th 12:30-1:30
TA Dan Singhal death@cc M/W/Th 11-12
TA Joe Lafiosca fnord@cc T/W/Th 4-6

We all hold office hours in the common area of the College of Computing Building.

General info about the course

CS 3411. 3-0-3. Prerequisites: CS 2390 and CS 2430.
A study of the history, conceptual basis, and fundamental constructs of high-level programming languages and models.

This a 3000-level course, Programming Language Concepts is offered primarily as a core requirement for undergraduates majoring in Computer Science. Other students with appropriate backgrounds in programming languages are welcomed.

Programming languages have been an important area of study in computer science for many years. Although most programming is done in a relatively small number of languages, many very important software development concepts and other key ideas in computer science have been incorporated into programming languages over the last 30 years. The primary goal of this course is to enable you to develop a well-organized conceptual understanding of programming languages, building on your prior concrete experience with several diverse languages.

Academic misconduct

Because you are being graded relative to other students in this course and not on an arbitrary, predetermined scale, any student's attempt to increase his or her grade through dishonest means could unfairly decrease the grades of other honest students. The assignments in this course are not intended to be collaborative exercises, but on the other hand we don't want to discourage discussion between students about ideas pertaining to this course. So, if you incorporate ideas into your assignments that did not originate with you, or did not come from the obvious sources--your instructor, teaching assistant, textbooks, lectures, or supplementary reading materials provided in this course--you must give credit to your sources. Furthermore, at no time is it acceptable for you to share your solutions to the assignments with other students, whether these solutions are complete or partial. You are not to work on these assignments in groups, whether on paper or at the computer. Students who fail to follow these rules will be charged with academic misconduct, which carries severe penalties. Of course, there is to be no collaboration whatsoever during exams. If you haven't already done so, you should take the time to become familiar with Georgia Tech's definition of academic misconduct and the policies and procedures pertaining to academic misconduct. This information can be found in the 1997-99 general catalog on pages 364-371.

Grading

Grades will be computed according to the following formula:

Component Normal Weighting Graduating Seniors
Homeworks (4) 25% 35%
Programs (2) 20% 30%
Midterm 20% 35%
Final 35% N/A

Examinations

There will be two exams: a midterm and the final. Most exam questions will reflect the material covered in lectures, the readings and the homework. They will consist mostly of short answer questions, with a few longer essay questions and a little code writing or interpretation.

Assignments

There will be two programming assignments required during the quarter, one in Prolog and one in C++. Programs will be graded on a 100 point basis, with 95 being the grade for a plain functional programs that meets the requirements of the problem statement. The other 5 points may be awarded for an especially outstanding job, such as including extensive error-checking, additional features, and so forth. Programs should be written in a readable coding style with descriptive variable names and informative comments.

Programs are to be turned in electronically (details to be provided later). Programs will be accepted up to three days late, with a penalty of 10 points for each day. On-time submissions are strongly encouraged, but getting the programs working is obviously important.

In addition to the programs, there will be four written homework assignments. They will involve questions pertinent to material covered in class and in the readings. They will be assigned in class and due at the beginning of class on their due dates.

For more specific information about assignments, go to the assignments page.

Other materials

There is another section of CS 3411 this quarter: section B, taught by Phil Hutto. It has a newsgroup and web page which are bound to have useful materials.

Follow this link to a short tutorial on C++, which will be useful for the programming assignment.

Go here to learn a little more about the recent ANSI/ISO C++ Standard, and find links to Bjarne Stroustrup's homepage and books.


Last updated on Thu Feb 11 09:46:37 EST 1999 by Brian McNamara