ICS 365

Organization of Programming Languages

4 Undergraduate credits
Effective August 17, 2014 – Present

Graduation requirements this course fulfills

This course is a comprehensive introduction to the principal features and design of programming languages. It provides a comparative study of programming paradigms including structured programming, object-oriented programming, functional programming and logic programming. This course is a survey of programming concepts and constructs including data types, control structures, subprograms and parameter passing, nesting and scope, derived data types, input and output, and dynamically varying structures. Also covered are the principles of lexical and semantics analysis.

Special information

Note: Students are responsible to both be aware of and abide by prerequisites for ICS courses for which they enroll, and will be administratively dropped from a course if they have not met prerequisites.

Learning outcomes


  • Compare programming languages for their effectiveness in problem solving based on control and data structures provided by them.
  • Explain features of several programming languages
  • Explain the key principles used in the translation and implementation of programming languages
  • Read, understand, and use the grammar of a programming language.
  • Select the appropriate proper programming language to solve problems in a given domain.
  • Understand, write, and document programs in the imperative, functional, object-oriented, and logic paradigms.