Programming skills will be developed in the context of doing physics. Topics include numerical integra tion of Newton's equations, cellular automata, and random walks including Monte Carlo methods. CPSC 320 Principles of Programming Languages Study of programming language concepts and comparative evaluation of several programming languages. Typical topics include imperative, functional, and object oriented programming paradigms, programming language syntax, type theory, static and dynamic binding of variables, and scope rules. CPSC 430 Operating Systems Study of the internal operation of modern operating systems, including processes and threads, mutual exclusion, CPU scheduling, deadlock, memory management, file systems, and networked and distributed computing.
Content varies from year to year.