Issues like multi-processing, mutual exclusion, synchronization, protection, and deadlocks are also discussed. Also studied is the application of these principles to several modern operating systems. The primary function of a programming language is to let the user communicate with the computer via a common interface. There are many programming languages, and in this course we will investigate the principles behind all of them. All languages, for example, must deal with data structures, flow of control, syntax, variable control, conditionals, and iteration.
More sophisticated languages deal with high-level structure, subprograms, parameters, and recursion.
These common issues are the subject of this course. CS375 Algorithms and the Theory of Computation 3 credits Formal models of computation, and the elements of formal languages will be studied. These models will be used for a mathematical study of computability. The design and analysis of algorithms, particularly those for handling complex data structures, and non-numeric processes will be studied. Algorithm design and verification techniques are also discussed.