82 Computer Science 600-level CS courses. CS 625 cannot count as one of the six 600-level courses, and can be taken for a maximum of 3 credits. Students complete requirements through either Plan A or Plan B. Plan. A requires 45 graduate credits, including 9 to 15 credits of Thesis and Research. Plan B requires 51 graduate credits, including 3 credits of Thesis and Research. No more than two courses used to satisfy these requirements witl be accepted with grades below B-, and none will be accepted with grades below C.
of simple expressions, statements, and declarations. Organization and design of a rompiler. Prerequisite: CS 220. (3\Y) (3F)
Graduate-level courses taken outside the department should be approved prior to registration by the candidate's committee.
6153. Computer Vision and Pattern Recognition I. Application of computer to vision and pattern recognition. Image formation, image processing, motion analysis, syntactic and statistical pattern recognition. Prerequisites: CS 220 and Math 321 or permission of instructor. (3W)
Graduate students with low GRE subject exam scores are required to pass the five departmental placement exams (Computer Architecture, Algorithms, Operating Systems, Compilers/Programming Languages, Automata Theory) upon entrance. As an alternative, students may choose to pass any of the following corresponding courses at USU, within one year, with a grade of B- or better: CS 355 and 356 (architecture), 220 (algorithms), 410 (operating systems), 530 (compilers) or 470 (programming languages), and 510 (automata).
15M. Algorithms. Study of algorithms and complexity analysis including: priority queues, equivalence relations, search trees. geometric algorithms, greedy, divide and conquer, dynamic programming, iterative methods, parallel and distributed algorithms. Prerequisite: CS 220. (3W)
Requirements change from time to time, so students are advised to check with the department or their adviser to determine whether the requirements at the time of graduation or in the first quarter of registration as a graduate student will have effect.
1571. Topics in Computer Science (Topic). Current topics i.e. computer science, as determined by advances in the field . Fo1· advanced undergraduate or graduate students. Prerequisite: advanced standing as e CS major or permission of instructor. (l-6F,W,Sp,Su)
Financial Assistance App licants for admission will automatically be considered for financial aid, with no need for additio nal appli cation procedures. Continuing students will be requested to apply for aid during the spring quarter. Acceptance into the program does not guarantee financial assistance.
Computer Science Courses 6015. Parallel Programming. Programming methodologies fo1· highly parallel computers. Topics include concurrent programming, distributed programming, and implementation issues. Prerequisite: CS 410. (3W) 1510. Finite Automata Computabilit y and Com plexity. A treatment of formal grammars, finite and push down automata, Turing machines, and the theory of romputability, decidability, and complexity. Prerequisite: CS 220. f3Sp) •1511. Distributed and Parallel Operating Systems. Concepts and methods for distributed consensus, reliability and recovery, concurrency control, deadlock, mutual exclusion, file systems, and related topics. Prerequisite: CS 410 or consent of instructor. (3FJ 517. Theory of Database Management Systems. Relational, hieran:hical, and network systems. Schemas, chnstraints, properties, and Inn· guages. Comparison of systems. Prerequisite: CS 220. ('IF; 1518. Information Systems Development. Life cycles, J>Oiitics , technology. Techniques of analysis, design, and implementation. Files. interface, testing. Inputs , reports, processes. Database applications. Implementation of a commercial quality system. Prerequisite: CS 517. (3\VJ 525. Computer Modeling and Simulation. Introduction to simulation and comparison with other techniques. Discrete simulation models and discrete change simulation. Analysis of data generated by s imulation experiments and validation of simulation models and results. Prerequisites: statistical methods and computer programming. t3WJ S28. Graphical User Interfaces, the OSF/Motif Toolkit, and th e XWindow System. Design principles or CUis and the phi losophy, s •. uc· ture, and programming of X· Windows applications using Motif. Prerequisites: CS 220 and C programming. t3FJ sao, ~31. Com piler Construction. Review of program language structures. translation, load ing, execution, anJ storage allowtion. Compi lation
541, 542. Computer Graphics. A two-quarter sequence introducing the concepts of graphics techniques and digital representation of information. Prerequisite: CS 172 or 260 or consent of instructor; CS 541 must be taken prior to 542. (3F) (3W) 549. Expert Systems and Applied Artificial Intelligence. Erpert systems and other problem solving techniques. Existing tools used to solve practicnl problems. Prerequisite: familiarity with a hiGh-level programming language and the use of computers. (3F)
••sse. Design and Analysis of Parallel Algorithms. Parallel: complexity classes, models of parallel computation, and trade-ofTs bet.,..een portability, programming, and performance. Pa rallel algorithms in a wide variety of areas. Prerequisite: CS 555. (3Sp) 560. Artificial Intelligence 1. An introduction to artificial inteUigence languages. LISP and PROLOG, programming techniques, and applications of these two languages to some simple AI problems. Prerequisi:e: CS 220 or consent of in.;tructor. (3F)
•1577, Distributed Software Systems. Introduction to distrbuted software systems, including clienVserver and peer nrchitectures transparency, file and directory services, remote procedure calls, migration and replication strategies, collaborating servers, and security. (3F) 59~. Independent Study. Provides for independent study of s!lected topic::~ . Prerequh;ite: Pennit~t~iun uf iuslruct.ur. Fur u:;e iu the Ogden area only. (3-6F,W,Sp,Su)
6015. Advanced Parallel Programming. An advanced cou.rst in parallel programming. Topics include fine-grained synchronization, 12maphores. conditional critical regions, monitors, asynchronous message ptssing, synchronous message passing, and RPC. (3Sp) 607 (d507).1 AJgorithm8 for Digital Signal Processing. A study of algorithms essential to digital signal processing applications. To.Jics will include Fourier transforms, convolution, digita l filters , and estimation. Speech recognition techniques will be examined. Prerequisites: CS 172 and Math 222. (3F) 610. Operating Systems. Presents a s uTVey of operating sygo.ems theory and functions, as well as advanced concepts. Prerequisite: CS4 10 or consent of instructor. (3F) 615. Theory of Relntional DatabaHe Systems. A study o:· attributes, domains, tables, dependencies. derompositions, and relatioml operators. Cyclicity and acyclicity. Models and formalism s. Prerequisi:e: CS 517. (3W)
.. 616. Structured Systems Analysis and Design. Classiml life cycle, data flow diagrams, data dictionary, sys te m spec ifications i1 structured English, file creation from data fl ows, system design. Prere.tuisites: CS 517 and 518. (3F ) 621. Parallel Computing System!!. Interconnection netw1rks, vector, MIMD, SJMD, VLIW, s uperscalar. and pipelining. Case s tuties on past, current, and future parallel architectures. Prerequisite: CS 50i. (3\VJ 625. Cooperative Work Experience, Crnduate. Provilhs credit for s tudents who work at a participati ng firm under faculty mpervision. ll-9F,W,Sp,Sul ® ..626. Object-Oriented Models und Me thods. Study of olject-oriented concepts, principles, teehniques, development processes, ant tools across all areas of software engineering, with special e mphasis 01 current research topics.!3FJ 627 {d527J. Software Engineering. Advanced techniques for soflware development, concentrating on project manageml'nt. analy1is, SJK!ci lication . ~tnd design . Pn•rt>fJuisite: ('S 427 . 1~ \V J