Fall 1999 Course Descriptions
Help reading course descriptions
Course numbers link to the Schedule of Classes.

Computer Science (C SC)  Dept Info - College Info

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

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

C SC 199H. Honors Independent Study (1-3) [Rpt./]

C SC 227. Program Design and Development (4) Accelerated version of C SC 127A and C SC 127B sequence for students with significant prior programming experience. P, algebra recommended.

C SC 299. Independent Study (1-4) [Rpt./]

C SC 299H. Honors Independent Study (1-3) [Rpt./] I

C SC 318. Unix Tools (1) I II Unix programming tools: pipes, filters, editors, compilers, debuggers, Makefiles, source-code control, performance monitoring and shell programming. P, C SC 127B or C SC 227; P or CR, C SC 340 or ECE 275 or knowledge of C programming.

C SC 330. Object-Oriented Programming and Design (3) I II Fundamentals of object-oriented programming, design principles, and project management. Includes inheritance, polymorphism, frameworks and patterns. P, C SC 127B or C SC 227.

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

C SC 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, C SC 127B or C SC 227. (Identical with MIS 342).

C SC 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, MATH 243. (Identical with MATH 344).

C SC 372. Comparative Programming Languages (3) I Introduction to several major high-level programming languages and their characteristics. Programming projects are required in at least three languages. P, C SC 127B or C SC 227. (Identical with MIS 372).

C SC 391. Preceptorship (1-3) [Rpt./]

C SC 399. Independent Study (1-3) [Rpt./]

C SC 399H. Honors Independent Study (1-3) [Rpt./] I II

C SC 401A. Symbolic Logic (3) I (Identical with PHIL 401A, which is home). May be convened with C SC 501A.

C SC 401B. Symbolic Logic (3) II (Identical with PHIL 401B, which is home). May be convened with C SC 501B.

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

C SC 422. Parallel and Distributed Programming (3) II Concepts and applications of parallel and distributed programs. Process interaction using shared variables and message passing; systematic development of correct programs; general problem solving techniques; scientific computing; distributed systems. Programming assignments on multiple processsor machines. P, C SC 318, C SC 340, C SC 342 and MATH 243. May be convened with C SC 522.

C SC 425. Principles of Computer Networking (3) II 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, C SC 318, C SC 340. May be convened with C SC 525.

C SC 432. Graphics Programming (3) II Explores the use of graphics as integral part of programming. Introduces basic concepts of computer graphics, drawing, text, colors, windows, images, user interaction, interface tools, and design of visual interfaces. No prior graphics experience required. P, C SC 342, C SC 372.

C SC 433. Computer Graphics (3) I 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, C SC 330, C SC 342 and MATH 215. May be convened with C SC 533.

C SC 438. Computational Linguistics (3) I P, LING 388 or a course in one of the following: formal languages, syntax, data structures, or compilers. (Identical with LING 438, which is home). May be convened with C SC 538.

C SC 443. Theory of Graphs and Networks (3) I P, MATH 323 or MATH 243 or graduate status. (Identical with MATH 443, which is home). May be convened with C SC 543.

C SC 445. Algorithms (3) II Mathematical preliminaries; using induction to design algorithms; introduction to analysis of algorithms; algorithms involving sequences and sets; graph algorithms; advanced topics. Writing Emphasis Course. P, C SC 342, C SC 344.

C SC 449. Continuous-System Modeling (3) I P, or CR, ECE 340. (Identical with ECE 449, which is home). May be convened with C SC 549.

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

C SC 452. Principles of Operating Systems (4) II Concepts of modern operating systems; concurrent processes; process synchronization and communication; resource allocation; kernels; deadlock; memory management; file systems. P, C SC 318, C SC 340.

C SC 453. Compilers and Systems Software (4) I Basic concepts of compilation and related systems software. Topics include lexical analysis, top-down parsing, semantic analysis, code generation; assemblers, loaders, linkers; debuggers. P, C SC 318, C SC 330, C SC 340, MATH 243.

C SC 460. Database Systems (3) I II 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, C SC 330, C SC 344. May be convened with C SC 560.

C SC 470. Foundations of Artificial Intelligence (3) I General introductory course in Artificial Intelligence (AI). Discussion of AI and its relationship to cognitive psychology, philosophy, math, and computer science. Focus on underlying concepts rather than the engineering and applied aspects of AI. For advanced undergraduate and graduate students coming from a variety of disciplines. P, C SC 127B or C SC 227 or equivalent, and C SC 344 or equivalent. (Identical with PSYC 470). May be convened with C SC 570.

C SC 472. Continuous-System Simulation (3) II P, or CR, ECE 340. (Identical with ECE 472, which is home). May be convened with C SC 572.

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

C SC 474A. Computer-Aided Logic Design (3) I P, ECE 274. (Identical with ECE 474A, which is home). May be convened with C SC 574A.

C SC 474B. Computer-Aided Logic Design (3) II (Identical with ECE 474B, which is home). May be convened with C SC 574B.

C SC 475A. Mathematical Principles of Numerical Analysis (3) I P, MATH 254 or MATH 355 or MATH 250B; MATH 215. Knowledge of a scientific programming language. (Identical with MATH 475A, which is home).

C SC 475B. Mathematical Principles of Numerical Analysis (3) II P, MATH 475A. (Identical with MATH 475B, which is home).

C SC 479. Game Theory and Mathematical Programming (3) II P, MATH 410 or MATH 413 or MATH 415A. (Identical with MATH 479, which is home). May be convened with C SC 579.

C SC 493. Internship (1-3) [Rpt./]

C SC 495A. Topics in Computing (1) [Rpt./ 3 units] I II Presentation of current research topics in systems, theory, languages and architecture.

C SC 498. Senior Capstone (1-3) I II

C SC 498H. Honors Thesis (3) [Rpt./ 2] I II

C SC 499. Independent Study (1-4) [Rpt./]

C SC 499H. Honors Independent Study (3) [Rpt./] I II

C SC 501A. Symbolic Logic (3) I (Identical with PHIL 501A, which is home). May be convened with C SC 401A.

C SC 501B. Symbolic Logic (3) II (Identical with PHIL 501B, which is home). May be convened with C SC 401B.

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

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

C SC 522. Parallel and Distributed Programming (3) II For a description of course topics see C SC 422. Graduate-level requirements include more extensive problem sets, projects, and examinations. May be convened with C SC 422.

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

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

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

C SC 541A. Introduction to Information Systems Analysis and Design (3) I (Identical with MIS 541A, which is home).

C SC 541B. Advanced Topics in Information Systems Analysis and Design (3) II (Identical with MIS 541B, which is home).

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

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

C SC 549. Continuous-System Modeling (3) I (Identical with ECE 549, which is home). May be convened with C SC 449.

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

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

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

C SC 560. Database Systems (3) I II For a description of course topics see C SC 460. Graduate-level requirements include more extensive problem sets and different examinations. May be convened with C SC 460.

C SC 570. Foundations of Artificial Intelligence (3) I For a description of course topics see C SC 470. Graduate level requirements include an additional project and assignments. (Identical with PSYC 570). May be convened with C SC 470.

C SC 571. Advanced Logic Synthesis and Verification Algorithms (3) I II P, ECE 474A or ECE 574A; ECE 474B or ECE 574B; background in digital design, mathematical maturity, programming in C or equivalent. (Identical with ECE 571, which is home).

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

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

C SC 574A. Computer-Aided Logic Design (3) I (Identical with ECE 574A, which is home). May be convened with C SC 474A.

C SC 574B. Computer-Aided Logic Design (3) II (Identical with ECE 574B, which is home). May be convened with C SC 474B.

C SC 575A. Numerical Analysis (3) I P, MATH 475B or MATH 456. (Identical with MATH 575A, which is home).

C SC 575B. Numerical Analysis (3) II P, MATH 475B or MATH 456. (Identical with MATH 575B, which is home).

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

C SC 578. Computational Methods of Algebra (3) II P, MATH 415A, knowledge of scientific computer programming language. (Identical with MATH 578, which is home).

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

C SC 589. Software Tools for Computational Science and Engineering (3) II P, C SC 318 and ability to program in at least one modern high-level language. (Identical with MATH 589, which is home).

C SC 593. Internship (1-6)

C SC 599. Independent Study (1-4) [Rpt./]

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

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

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

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

C SC 674. Digital System Testing and Design for Testability (3) I P, ECE 574A. (Identical with ECE 674, which is home).

C SC 695A. Advanced Topics in Computing (1) [Rpt./ 6 units] I II Presentation of current research topics in systems, theory, languages and architecture.

C SC 696A. Current Computing Research (1-3) [Rpt./ 27 units]

C SC 699. Independent Study (1-4) [Rpt./]

C SC 799. Independent Study (1-4) [Rpt./]

C SC 900. Research (1-6) [Rpt./]

C SC 910. Thesis (3-6) [Rpt./]

C SC 920. Dissertation (1-9) [Rpt./]

C SC 930. Supplementary Registration (1-9) [Rpt./]


Page last updated:  May 20, 2013


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