COMPSCI 354: Programming Languages

advertisement
COMPSCI 354: Programming Languages
3-credit course with 3 lecture hours per week
Course Coordinator: Alark Joshi
Textbook(s) and Supplemental Material
Concepts of Programming Languages, 9th ed., Robert W. Sebesta, 2010.
Catalog Description
Principles of programming languages: design, syntax, semantics, information binding, strings,
arithmetic, input/output, recursion and extensibility.
PRE/COREQ: COMPSCI 342.
Required
Goals for the Course
Successful students will be expected to:
• identify characteristics of procedural, object-oriented, functional, and scripting
languages
• describe the phases of program translation
• explain different forms of binding, visibility, scoping, and lifetime management
• demonstrate the differences between various parameter passing methods
• explain the concepts of encapsulation, abstraction, inheritance, and polymorphism
• write programs in languages based on several different programming paradigms
• evaluate a language on the basis of the various features which it supports
Outcomes Addressed
b.
c.
f.
h.
an ability to analyze a problem, and identify and define the computing requirements
appropriate to its solution
an ability to design, implement, and evaluate a computer-based system, process,
component, or program to meet desired needs
an ability to communicate effectively with a range of audiences
recognition of the need for and an ability to engage in continuing professional
development
Outcomes Assessed: b, f, and h
Topics Covered
Syntax and Semantics
Parameter Passing Techniques
Scope and Extent
Type Systems
135
Implementation of Procedures
Functional Languages
Grading
At the end of the course, a letter grade is assigned to each student which is determined from numerical
scores assigned for performance of the following activities:
Activity
Weight
Written Homework
15%
Programming Assignments
15%
Written Report
10%
Interpreter Program
20%
Midterm Exams (2)
20%
Final
20%
Curriculum Category Content (Credits)
Area
Core Advanced
Algorithms
Software Design
Computer Architecture
Data Structures
Programming Languages
3
136
Download