Clayton State University
College of Information and Mathematical Sciences

CSCI 3333-01: Programming Languages
Course Syllabus
Spring 2011

Course
Description:





Course Title: Programming Languages

Course Number: CSCI 3333 (CRN: 25426)

Section Number: 01

Credit Hours: 3.0

Weekly Contact Hours: 3.0




Course Description: This course covers the concepts of syntax and semantics of grammars and languages. It includes the study and comparison of the organization and major constructs of various programming language paradigms, with in-depth study of several specific languages. Language Implementation and compiler/interpreter-related issues are addressed.




Course Date: Monday, January 10, 2011 (first day of class) through Monday, May 02, 2011 (last day of class)

Location: Room U312 - James M. Baker University Center

Meeting Day(s): MWF

Meeting Time(s): 11:00am-11:50am




Prerequisite(s): CSCI 2302 and MATH 2020 both with a minimum US grade of C.




Course objectives and Learning outcomes: Students are expected to achieve in depth understanding of organization and construct of programming languages.  At the conclusion of this course, the successful (passing) students will be able to:
  • compare and contrast various programming paradigms.
  • identify distinguishing characteristics from various programming paradigms.
  • explain the phases of program translation from source code to executable code.
  • describe the steps and algorithms used by language translators.
  • recognize formal models and their connection to language definition via grammars.
  • demonstrate different forms of binding, visibility, scoping, and lifetime management.
  • describe each of the elementary data types.
  • demonstrate the difference between call-by-value and call-by-reference parameter passing.
  • describe the importance of abstraction. and explain how abstraction mechanisms help create reusable components.
  • be able to design, implement, test, and debug simple programs in both functional and object-oriented languages.



Instructor
Information:





Instructor Name: Muhammad Asadur Rahman, Ph.D.

Email: mrahman@clayton.edu

Office Location: UC 337

Office Hours: WF 08:45am-09:00am; MWF 10:00am-11:00am; MW 04:00pm-5:00pm
Other times available by
appointment.

Phone: 678-466-4446



Text and Other
Resources:





Textbook:
Sebesta, Robert: "Concepts of Programming Languages," 9th Edition, ©2010, ISBN-13: ISBN-13:  9780136073475; Publisher: Addison-Wesley.




Software: Microsoft Visual Studio, MASM, and other language compilers (information will be provided as necessary).



Course
Policy:






Grading: There will be a midterm and a final exam in this course along with a number of quizzes. All quizzes and exams will be announced and will be based on the topics covered.  No makeup exams or makeup assignments will be allowed in this course.  If you fail to take the final exam you may be given a grade of I (incomplete).  No extra-credit or bonus points will be given in this course.  Your grade in this course will be determined based on the percent of total points earned at the end of the term with the following weight given to each type of assessment:

Assessment
Type
% of Total
Grade
Final Exam: 30%
Midterm Exam: 20%
Assignments and SW Projects
30%
Quizzes: 20%

The final letter grades will be assigned based on the following scale:

Letter
Grade
% of Total
Points Obtained
A 90-100%
B 80-89%
C 70-79%
D 60-69%
F
below 60%

Assignments: All assignments must be submitted via GeorgiaView. Absolutely no email submissions, please! Any assignment submitted as hardcopy or via email will not be graded and will simply be ignored.  If you submit wrong assignment you can take it back and resubmit before the cutoff date. Once the cutoff date has passed no resubmission will be allowed and you will be graded based on what you have submitted. It is your responsibility to ensure that your submission via GeorgiaView is the correct submission for the given assignment.  You are expected to complete and submit the assignments in a timely manner within the given submission deadline.  Late submission if allowed, will carry a penalty of upto 20% per day and no submission will be accepted after the cutoff date.




Midterm Grade Reporting: The mid-term grade in this course, which will be issued on March 01, will reflect less than half of the entire course grade.  Based on this grade, students may choose to withdraw from the course and receive a grade of “W.”  Students pursuing this option must fill out an official withdrawal form, available in the Registrar's Office, by mid-term, which occurs on March 04.




Attendance Policy: All students are expected to attend the scheduled class meetings.  They will be responsible for material covered and announcements made during such meetings.




Academic Standard and Conduct Expectations: Clayton State University does not condone cheating, plagiarism, or other forms of academic dishonesty. The student handbook contains further information and guidelines. Students are expected to uphold the school's standard of conduct relating to academic honesty and assume full responsibility for the content and integrity of the academic work they submit. The guiding principle of academic integrity shall be that a student's submitted work, examinations, reports, and projects must be that of the student's own work. Students shall be guilty of violating the honor code if they:
  • Represent the work of others as their own.
  • Use or obtain unauthorized assistance in any academic work.
  • Give unauthorized assistance to other students.
  • Modify, without instructor approval, an examination, paper, record, or report for the purpose of obtaining additional credit.
  • Misrepresent the content of submitted work.
  • Any student violating the honor code is subject to receive a failing grade for the course and will be reported to the Office of Student Affairs. If a student is unclear about whether a particular situation may constitute an honor code violation, the student should meet with the instructor to discuss the situation.
Tentative Course
Schedule:




The following is the tentative weekly schedule for this course and it is subject to change:





Date/Week

Course Topics

Book Chapters

Assignements





       

Week.01

Overview of programming languages

Chapter.1

Quiz 1

Week.02

Overview of programming languages

Chapter.2

HW 1

Week.03

Language translation syntax and semantics

Chapter.3

Quiz 2

Week.04

Language translation systems

Chapter.4

HW-SW1




Week.05

Declarations and types

Chapter.5

Quiz 3

Week.06

Declarations and types

Chapter.6

HW 2

Week.07

Midterm Exam (02/23/2010)

          -

Midterm Exam

Week.08

Programming Language Design & Implementation

Chapter.7






Week.09

Spring Break - No Classes (March 5-12)

          -
    -

Week.10

Programming Language Design & Implementation

Chapter.8

HW-SW2

Week.11

Programming Language Design & Implementation

Chapter.9

Quiz 4

Week.12

Programming Language Design & Implementation

Chapter.10

HW4




Week.13

Abstraction Mechanisms

Chapter.11

Quiz 5

Week.14

Object-oriented Programming

Chapter.12

HW-SW3 

Week.15

Virtual Machines; Exception and Event Handling

Chapter.13 & 4

Quiz 6

Week.16

Functional Programming and Logic Programming

Chapter.15






Week.17

Functional Programming and Logic Programming

Chapter.16

(Review)

Week.17

Final Exam (TBA)


Final Exam





Note that the above schedule will be adjusted based on actual progress in the class.  However, this syllabus will not be updated to reflect the actual coverage in the class.

Additional
Information
:





ITP Choice: All students enrolled at Clayton State University are required to have on-demand access to a notebook computer that meets the recommended hardware/software specifications that have been established by Clayton State faculty. Academic penalties may be incurred for not meeting this requirement. Refer to the ITP Choice website for specifications and FAQs: http://itpchoice.clayton.edu/Also, each student is responsible for monitoring the Clayton State issued email address on a regular basis for official communications from faculty and administrators. Students must use Clayton State issued email address when communicating with faculty and administrators. Communications originating from non-CSU email address may be ignored.

Disability Services: Students with disabilities who wish to obtain this document in an alternative format or would like to request reasonable accommodations must contact the Disability Services Coordinator at 678-466-5445 or disabilityservices@clayton.edu. If you are already registered with Disability Services and are seeking accommodations for this course, please make an appointment with your instructor to discuss your specific accommodation needs and provide your accommodations letter.




Note: This syllabus is subject to change and the instructor reserves the right to change any course policy or its implementation if need arises during the semester. The course schedule presented in this syllabus is tentative and most likely will change throughout the semester. The students are responsible for finding out about missed announcements or material covered in the class.





Last update: 07 January 2011.