Apr 20, 2021  
2020-21 Catalog 
2020-21 Catalog [ARCHIVED CATALOG]

Add to Favorites (opens a new window)

CS 320 - Programming Languages

5 CR

This course is an introduction to the design and implementation of programming languages. The course explores organization and structure of programming languages, run?time behavior and requirements of programs, and programming language specification. The course teaches the programming models underlying different programming paradigms such as functional, logic, scripting and object-oriented languages.

Prerequisite(s): CS 300  with a C or better and admission to BC CS program, or instructor’s permission.

Course Outcomes
  •  Distinguish various programming language paradigms 
  •  Choose a suitable programming paradigm and language for a given problem or domain 
  •  Use formal grammars to specify the syntax of languages 
  •  Give a formal semantics for a small language 
  •  Construct new data types, abstractions, encapsulations in various languages 
  •  Apply the program paradigms to simple problems 
  •  Explain design concepts, design alternatives and trade-offs, and implementation considerations for scope, binding, data types, expressions, control structures, subprograms, abstract data types, objects, concurrency structures, and exception handling in modern programming languages 
  •  Explain how programming language implementations typically organize memory into global data, text, heap, and stack sections and how recursion and memory management map to this memory model

Find out when this course is offered

Add to Favorites (opens a new window)