CPSC 376 Programming Languages
Fall 2009

Instructor: Dr. Whitfield Voice Mail/ Phone: (724) 738-2935
Office Hours: MWF 10 - 11am, Wed noon - 2pm E-Mail: deborah.whitfield@sru.edu
Office: 246 Advanced Technology and Science Hall WWW: http://granite.sru.edu/~whit


Required Text: Concepts of Programming Languages by Sebasta, 8th edition

Suggested Texts: Lisp, Fortran, Perl

Catalog Description:Programming languages are studied from the view of users. Features of common computer languages are surveyed along with developments in newer languages. The goal is deeper understanding of computer languages. Topics include compilation, interpretation, data types, data structures, binding, scope, control mechanisms, conversions, storage management, reliability, portability, modularity, documentation, implementation methods, and language extensibility.
Credits: 3.
Prerequisite: Cpsc 150.

The course grade will be based upon quizzes, exams, assignments, class participation, and attendance. The following is a tentative point assignment for the course:
Quiz (Chapter 1 and 2) 25
Exam 1 (Chapter 3.1-3.4, 4) 100
Exam 2 (Chapter 5-9) 100
Exam 3 (Chapter 3.5, 10-14)
December 18th, 8am-10am
100
Programming Assignments, Presentation: 250
Other: 50

The final grade is calculated by adding the number of points that the student earned divided by the total number of possible points. The final grade will be based on the scale:
100 to 90% -- A
89 to 80% -- B
79 to 70% -- C
69 to 60% -- D
59% and below -- F
The instructor may change this scale to benefit the students.

Academic Integrity: All work in this class will be the sole effort of the individual student. Cheating in any form will automatically result in a 0 and may result in failure of the course.

In programming, there is a fine line between cheating and "helping out". In my course, you may discuss the programming assignment and methods of solving the problem with others. However, you may not write code together. You must document any source that you use for an assignment. If the source is not documented, then it is plaguarism! If you have a question about what is permissable, please do not hesitate to ask.

Assignments are due at the beginning of class on the due day. Printer problems, lost data, lost programs, etc., are not excuses for late work. Late assignments will immediately be docked 50%.

Attendance: You are expected to attend every minute of every class session. If you miss a class or portion of a class it is your responsibility to determine what was missed.
Makeup exams are not given unless a valid documented absence is provided. Please note that the health center will not provide excuses.


Course Outcomes: This course and its outcomes support the Computer Science Learning Outcomes of Problem Solving and Critical Thinking (PS&CT), Communication and Interpersonal Skills (C&IS), and Ethical and Professional Responsibilities (E&PR). These Computer Science Learning Outcomes are tied directly to the University Wide Outcomes of Critical Thinking and Problem Solving, Communication, and Values and Ethics.

Program Objectives Assessed in CpSc 376

Degree

Program Objective

Assessed Course Objective

CS

I.c. Examine and analyze alternative solutions to a problem

1. Analyze the semantic differences of variables, data types, expressions, assignment statements, control structures, subprograms, data abstraction, concurrency, and exception handling in diverse programming language paradigms

CS

I.f. Determine correctness and efficiency of a system design and implementation

2. Identify and use methods for describing the syntax and semantics of a programming language.

CS

II.b. Use written, oral, and electronic communication to convey technical information effectively.

3. Give an oral presentation to convey programming language features

CS

II.d. Work cooperatively in teams and with others

4. Work in teams on a programming language project.

The student will be able to:

1.  identify and use methods for describing the syntax and semantics of a programming language

2.  write programs in programming languages other than the departmental core language

3.  analyze programming languages and their features that can be  utilized to ensure the security, privacy and integrity of data