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.
  • Select the appropriate proper programming language to solve problems in a given domain.
  • Read, understand, and use the grammar of a programming language.
  • Explain features of several programming languages
  • Understand, write, and document programs in the imperative, functional, object-oriented, and logic paradigms.
  • Explain the key principles used in the translation and implementation of programming languages