CSc 4330/6330 Programming Language Concepts
Summer 2020 (CRN: 52476/53234)
Online

Instructor:Raj Sunderraman (Room 629, 1 Park Place 404-413-5726, raj@cs.gsu.edu, Office hours: 2.00 pm to 4.00 pm MW)
TAs:
Saeid Motevalialamoti (smotevalialamoti1@student.gsu.edu, Office hours: 4.00 pm to 6.00 pm Tuesday)
Mehdi Mosavi (smousavi2@student.gsu.edu, Office hours: 2.00 pm to 4.00 pm Thursday)

Course Objective: To introduce the student to the fundamental concepts and principles underlying high level computer programming languages.

Syllabus: Topics to be covered:

  1. Syntax and Semantics of Programming Languages: Lexical and Syntax Analysis, Operational and Denotational Semantics.
  2. Compiler-Compiler Systems such as Python PLY
  3. Lambda Calculus and Functional Programming (Scala)
  4. Names, Bindings, and Scopes; Data Types, Expression and Assignment Statements, Control Structures, Subprograms.
  5. Logic Programming (Prolog), time permitting

Pre-requisites: CSc 2720, CSc 3210, CSc 3320 with a grade of "C" or better.

Texts:

  1. Robert Sebesta, Concepts of Programming Languages, 11th Edition, Pearson 2016.
  2. Other online resources will be provided in the class website.
Grading Policy: The grading for this course will be based upon the following components:
  1. Homeworks (30%)
  2. 2 Projects worth 10% each (20%)
  3. Midterm (25%)
  4. Final (25%)

Additional Requirement for Csc 6330 students: Some homeworks and projects will have additional work for graduate students.

The final letter grade will be determined based on the following criteria (appropriate curves will be applied):

Withdrawal Date: July 6, 2020 (Monday)

Academic Honesty Policy The academic honesty policy as described in the University Faculty Handbook as well as the Student Handbook will be strictly enforced. Please review the document Academic Honesty Policy. Other topics related to student conduct are available at https://codeofconduct.gsu.edu/.

  1. All assignments are supposed to be individual work and any collaboration or cheating would result in a zero score for the assignment.
  2. A second incident of dishonest work will result in an automatic F grade for the class.
  3. It is also the repsonsibility of each student to protect his or her work including computer files etc from being extracted by others. Computer accounts will be de-activated immediately if the student is found to have been careless in maintaining his or her files (i.e. has kept them open for others to read!). If such carelessness results in another student copying the computer files and submitting them for the assignments all students involved will automatically get a zero for the assignment.

Note: Deviations from this syllabus may be necessary during the semester and changes will be announced in class.


Raj Sunderraman