COMPUTER SCIENCE (C SC)

127a . Introduction to Computer Science (4) Programming in a high-level language such as C++. Emphasis on program design issues. Programming topics: basic control structures, primitive data types, arrays, structures, simple recursion. 3R, 1L.

127b . Introduction to Computer Science (4) Continuation of 127a, programming in high-level language such as C++. Continued emphasis on program design. Programming topics: advanced recursion, linked lists, binary trees, hashing. 3R, 1L. P, 127a.

227. Program Design and Development (4) Programming using a language such as C. Several medium-sized projects will be required, with emphasis on program design and implementation techniques. P, 115, MATH 124 or 125a.

237. Machine Organization (4) Introduction to digital computers, elementary hardware concepts, machine operations and instructions, assembly language concepts, programming in assembly language. CR, 227. Delete course. Fall '98

318. Unix Tools (1) Unix programming tools: pipes, filters, editors, compilers, debuggers, Makefiles, source-code control, performance monitoring and shell programming. P 127b or 227.

330. Object-Oriented Programming and Design (3) Fundamentals of object-oriented programming, design principles, and project management. Includes inheritence, polymophism, frameworks and patterns. P, 127b or 227. CR, 318.

340. Foundations of Computer Systems (4) Basic machine organization, assembly code, memory allocation, linking, interrupts, traps, system calls and virtual memory. Introduction to "C". P 127b or 227.

342. Data Structures and Algorithms (3) Mathematical preliminaries; fundamental data structures and associated algorithms, implementations and applications: stacks, queues, trees, graphs, sorting, and searching. P, 227, MATH 243 or MATH 362. (Identical with MIS 342).

344. Foundations of Computing (3) Fundamental methods for understanding, developing, verifying and analyzing algorithms: predicate logic, induction, program verification, recurrences, discrete probability, regular expressions. P, 227; MATH 243. (Identical with MATH 344). Change prerequisites to: P, MATH 243. Fall '98

372. Comparative Programming Languages (3) Introduction to several major high-level programming languages and their characteristics. Programming projects are required in at least three languages. P, 237 or MIS 307 or ECE 274, 342. (Identical with MIS 372). Change prerequisites to: P, 127b or 227.

402. Mathematical Logic (3) (Identical with MATH 402, which is home). May be convened with 502.

409A - 409B -. Advanced Symbolic Logic (3) (Identical with PHIL 409a-409b, which is home). May be convened with 509a-509b.

411b . Symbolic Logic (3) (Identical with PHIL 411b, which is home).

421. * Advanced Systems Modeling and Simulation (3) (Identical with MIS 421, which is home).

422. Principles of Concurrent Programming (3) Fundamental concepts of concurrent programming, synchronization mechanisms based on shared variables and message passing, systematic development of correct programs, paradigms for parallel and distributed programming. P, 342, 344, 372. Change prerequisites to: P, 127b or 227, 318, 340, 342, and MATH 243. Fall '98

425. Principles of Computer Networking (3) Theory and practice of computer networks, emphasizing the principles underlying the design of network software and the role of the communications system in distributed computing. Topics include routing, flow, and congestion control, multicast, and data representation, and RPC. P, 452. May be convened with 525. Change prerequisites to: P, 127b or 227, 318, and 340. Fall '98

430. Case Studies in Software Design (3) Techniques and tools for program design and implementation, especially of large programs. Specification, abstraction, verification, maintenance, performance tuning. Includes substantial programming. P, 237 or ECE 274; 342. May be convened with 530. Delete course. Fall '98.

433. Computer Graphics (3) Theory and practice of computer graphics: 2D and 3D transformations, clipping, and viewing, hierarchical modeling, computer graphics hardware, raster graphics, input models, interaction techniques, and applications. P, 344, 430. May be convened with 533. Change prerequisites to: P, 330, 342, 344, and MATH 215. Fall '98

438. Computational Linguistics (3) (Identical with LING 438, which is home). May be convened with 538.

443. Theory of Graphs and Networks (3) (Identical with MATH 443, which is home). May be convened with 543.

445. Algorithms (3) Mathematical preliminaries; using induction to design algorithms; introduction to analysis of algorithms; algorithms involving sequences and sets; graph algorithms; advanced topics. P, 342, 344, MATH 362. Writing-Emphasis Course.** Change prerequisites to: P, 342, 344. Fall '98

449. Continuous-System Modeling (3) (Identical with ECE 449). May be convened with 549.

450. String and List Processing (3) Data representation, pattern matching, programming techniques; applications. P, 344, 372, 430. May be convened with 550.

452. Principles of Operating Systems (4) Concepts of modern operating systems; concurrent processes; process synchronization and communication; resource allocation; kernels; deadlock; memory management; file systems. P, 430. Change prerequisites to: P, 127b or 227, 318, and 340. Fall '98

453. Compilers and Systems Software (4) Basic concepts of compilation and related systems software. Topics include lexical analysis, top-down parsing, semantic analysis, code generation; assemblers, loaders, linkers; debuggers. P, 344, 372, 430. Change prerequisites to: P, 127b or 227, 318, 330, 340, and MATH 243. Fall '98

460. Database Systems (3) Functions of a database system. Data modeling and logical database design. Query languages and query optimization. Efficient data storage and access. Concurrency control and recovery. P, 344, 372, 430. May be convened with 560. Change prerequisites to: P, 127b or 227, 330, 342, 344, and MATH 243. Fall '98

472. Continuous-System Simulation (3) (Identical with ECE 472, which is home). May be convened with 572.

473. Automata, Grammars and Languages (3) Finite automata, regular expressions, and their applications; context-free grammars, pushdown automata, and their applications; Turing machines and undecidability; the Chomsky hierarchy. P, 344. (Identical with MATH 473). Writing-Emphasis Course.**

474A - 474B -. Computer-Aided Logic Design (3-3) (Identical with ECE 474a-474b, which is home). May be convened with 574a-574b.

475A - 475B -. Mathematical Principles of Numerical Analysis (3-3) (Identical with MATH 475a-475b, which is home).

479. Game Theory and Mathematical Programming (3) (Identical with MATH 479, which is home). May be convened with 579.

*Open only to students who meet the requirements for Advanced Standing as specified in the College of Business and Public Administration section of this manual.

**Writing-Emphasis Courses. P, satisfaction of the upper-division writing-proficiency requirements. (See "Writing-Emphasis Courses" in the Academic Policies and Graduation Requirements section of this manual.)

502. Mathematical Logic (3) (Identical with MATH 502, which is home). May be convened with 402.

509A - 509B -. Advanced Symbolic Logic (3) (Identical with PHIL 509a-509b, which is home). May be convened with 409a-409b.

520. Principles of Programming Languages (3) Important programming language concepts, including types, control and data abstraction, denotational semantics, declarative and object-oriented languages, implementation issues. P, 453.

521A - 521B -. Systems Modeling and Simulation (3-3) (Identical with MIS 521a-521b, which is home).

522. Principles of Concurrent Programming (3) For a description of course topics see 422. Graduate-level requirements include more extensive problem sets and different examinations. P, 344; CR, 452.

525. Principles of Computer Networking (3) For a description of course topics see 425. Graduate-level requirements include additional and more challenging programming projects and different examinations. May be convened with 425.

530. Case Studies in Software Design (3) For a description of course topics see 430. Graduate-level requirements include additional and more challenging programming projects and different examinations. P, 237 or ECE 274; 342. May be convened with 430.

533. Computer Graphics (3) For a description of course topics see 433. Graduate-level requirements include more extensive and challenging programming assignments. P, 344, 430. May be convened with 433.

538. Computational Linguistics (3) (Identical with LING 538, which is home). May be convened with 438.

541A - 541B -. Computer-Aided Information Systems Analysis and Design (3-3) (Identical with MIS 541a-541b, which is home).

543. Theory of Graphs and Networks (3) (Identical with MATH 543, which is home). May be convened with 443.

545. Design and Analysis of Algorithms (3) Time, space complexity, recurrences, algorithm design techniques, lower bounds; graph, matrix, set algorithms; sorting, fast Fourier transform, arithmetic complexity, intractable problems. P, 445, 473, MATH 362.

549. Continuous-System Modeling (3) (Identical with ECE 549). May be convened with 449.

550. String and List Processing (3) For a description of course topics see 450. Graduate-level requirements include more extensive problem sets and different examinations. P, 344, 372, 430. May be convened with 450.

552. Advanced Operating Systems (3) Operating system design, implementation and modeling; deadlock and memory management models; protection mechanisms; operating systems for parallel and distributed systems. P, 452.

553. Principles of Compilation (3) Detailed study of advanced compilation: translator writing systems, attribute grammars, flow analysis, optimization, register allocation, code generation, compiling for modern architectures. P, 453, 473.

560. Database Systems (3) For a description of course topics see 460. Graduate-level requirements include more extensive problem sets and different examinations. P, 344, 372, 430. May be convened with 460.

571a . Digital Systems Design (3) (Identical with ECE 571a, which is home).

572. Continuous-System Simulation (3) (Identical with ECE 572, which is home). May be convened with 472.

573. Theory of Computation (3) Chomsky hierarchy, undecidability; general recursive functions; recursion theory; computational complexity theory, NP-complete and provably intractable problems. P, 473. (Identical with MATH 573).

574A - 574B -. Computer-Aided Logic Design (3-3) (Identical with ECE 574a-574b, which is home). May be convened with 474a-474b.

575A - 575B -. Numerical Analysis (3-3) (Identical with MATH 575a-575b, which is home).

576. Computer Architecture (3) Design of computers, including instruction set design, processor implementation, pipelining, memory hierarchy, vector processors, and parallel architectures. Emphasis on hardware and software tradeoffs. P, 452, ECE 369.

578. Computational Methods of Algebra (3) (Identical with MATH 578, which is home).

579. Game Theory and Mathematical Programming (3) (Identical with MATH 579, which is home). May be convened with 479.

620. Advanced Topics in Programming Languages (3) [Rpt./12 units] Design, implementation, and compilation of programming languages; specific topics to be determined by current literature and faculty and student interest.

630. Advanced Topics in Software Systems (3) [Rpt./12 units] Problems in design and development of large systems of programs; specific topics to be determined by current literature and faculty and student interest.

645. Advanced Topics in Algorithm Analysis (3) [Rpt./12 units] Design and analysis of algorithms; specific topics to be determined by current literature and faculty and student interest.

652. Advanced Topics in Operating Systems (3) [Rpt./12 units] Operating system design, development, analysis, and performance; specific topics to be determined by current literature and faculty and student interest.

674. Test Generation for Automata (3) (Identical with ECE 674).

696. Seminar

a. Current Computing Research (1-3) [Rpt./8]


Page last updated:  May 20, 2013


Arizona Board of Regents © All rights reserved.
General Catalog  http://catalog.arizona.edu/
The University of Arizona


Page last updated:  May 20, 2013


Arizona Board of Regents © All rights reserved.
General Catalog  http://catalog.arizona.edu/
The University of Arizona


Page last updated:  May 20, 2013


Arizona Board of Regents © All rights reserved.
General Catalog  http://catalog.arizona.edu/
The University of Arizona