Winter 99/Spring 00 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 processor 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