University of Utah
Computer Science
College of Engineering Web Server
Computer Science Department Web Server
CP SC Course Descriptions
Home | Feedback | Disclaimer
University of Utah

General Catalog 2001-2002
Posted April 4, 2001

Disclaimer: The course information below is current as of April 4, 2001, is intended for informational purposes only, and does not constitute a legal contract between the University of Utah and any person or entity.

This Web document is updated twice a year, on or about the first day of registration for Fall and Spring semesters.


1000  Engineering Computing (3) Co-requisite: CP SC 1010 and MATH 1210.
   An introduction to the use of widely available software tools to solve computational problems in science and engineering. Introductions to numerical and symbolic programming using Maple, and to procedural programming using C. Elementary numerical methods. Emphasis on the entire process of solving science and engineering problems via computational means.

1010  Introduction to Unix (0.5)
   An introduction to the Unix workstations used in the College of Engineering CADE Lab. Topics include the X Windows system, Unix shell commands, file system issues, text editing with Emacs, accessing the World Wide Web with Netscape, and electronic mail. Self-paced course using online teaching aids.

1020  Introduction to Programming in C++ (3)
   An introduction to essential programming concepts using C++. This course is more slowly paced than either CP SC 1000 or CP SC 2010. Laboratory practice.

1021  Introduction to Programming in Java (3)
   An introduction to essential programming concepts using Java. Laboratory practice emphasizes object-oriented techniques and web-based application design.

1040  Creating Interactive Web Content (3)
   Introduction to the essentials of web page design and object-oriented programming through the use of HTML and JavaScript to create interactive web pages. It is appropriate for any student who is comfortable using a computer to write a paper and browse the Web. This is a 100% online course that can be completed on any computer equipped with a recent version of Netscape Communicator or Internet Explorer.

1050  Social Aspects of a Digital World (2)
   Social and policy aspects of computing, beginning with a review of the history and technology of the Internet. Privacy, intellectual property, ethics, electronic commerce, and computer crime. Concurrent enrollment in a companion 1000-level discussion course (such as CP SC 1051) is required.

1051  Introductory Discussion of Social Aspects (1)
   The combination of CP SC 1050/1051 is appropriate for any student who is already comfortable using a computer to write papers and explore the Web.

1950  Independent Study (1 to 4)

1960  Special Topics (1 to 4)

2010  Introduction to Computer Science I (4) Co-requisite: CP SC 1010 and MATH 1210.
   The first course required for students intending to major in computer science and computer engineering. Introduction to the engineering and mathematical skills required to effectively program computers, and to the range of issues confronted by computer scientists. Roles of procedural and data abstraction in decomposing programs into manageable pieces. Introduction to object-oriented programming. Extensive programming exercises that involve the application of elementary software engineering techniques.

2020  Introduction to Computer Science II (4) Prerequisite: CP SC 2010.
   The second course required for students intending to major in computer science and computer engineering. Introduction to the problem of engineering computational efficiency into programs. Classical algorithms (including sorting, searching, and graph traversal) and data structures (including stacks, queues, linked lists, trees, hash tables, and graphs). Analysis of program space and time requirements. Extensive programming exercises that require the application of elementary techniques from software engineering.

2100  Discrete Structures (2) Prerequisite: CP SC 2010.
   Introduction to propositional logic, predicate logic, formal logical arguments, finite sets, functions, relations, inductive proofs, recurrence relations, graphs, and their applications to Computer Science.

2950  Independent Study (1 to 4)

2960  Special Topics (1 to 4)

3050  Intermediate Social Aspects of a Digital World (2) Prerequisite: Programming proficiency.
   Social and policy aspects of computing, beginning with a review of the history and technology of the Internet. Privacy, intellectual property, ethics, electronic commerce, and computer crime. Concurrent enrollment in a companion 3000-level discussion course (such as CP SC 3051) is required.

3051  Intermediate Discussion of Social Aspects (1) Prerequisite: Programming proficiency.
   The combination of CP SC 3050/3051 is appropriate for students who have an understanding of computing technology comparable to that of a newly-admitted computer science major.

3100  Models of Computation (3) Prerequisite: CP SC 2020 and 2100. Fulfills Quantitative Intensive BS Course.
   Models of sequential computation, including finite-state automata, push-down automata, and Turing machines.

3200  Scientific Computation (3) Prerequisite: CP SC 2020 and MATH 2250.
   Scientific computation relevant to computer science and engineering; floating-point arithmetic, systems of linear equations (direct and iterative techniques), nonlinear equations (univariate and multivariate), interpolation and differentiation (divided differences), integration (mechanical and Gaussian quadratures, optimal quadratures), approximation by spline functions (natural splines and B- splines, optimality of splines).

3500  Software Practice (4) Prerequisite: CP SC 2020.
   Meets with CP SC 5010. Practical exposure to the process of creating large software systems, including requirements specifications, design, implementation, testing, and maintenance. Emphasis on software process, software tools (debuggers, profilers, source code repositories, test harnesses), software engineering techniques (time management, code, and documentation standards, source code management, object-oriented analysis and design), and team development practice. Much of the work will be in groups and will involve modifying preexisting software systems.

3510  Advanced Algorithms and Data Structures (3) Prerequisite: CP SC 2100 and CP SC 3500. Fulfills Quantitative Intensive BS Course.
   Meets with CP SC 5020. Study of algorithms, data structures, and complexity analysis beyond the introductory treatment in CP SC 2020. Balanced trees, heaps, hash tables, string matching, graph algorithms, external sorting and searching. Dynamic programming, exhaustive search. Space and time complexity, derivation and solution of recurrence relations, complexity hierarchies, reducibility, NP completeness.

3520  Programming Language Concepts (3) Prerequisite: CP SC 3510.
   Ideas behind the design and implementation of programming languages. Syntactic description; scope and lifetime of variables; runtime stack organization; parsing and abstract syntax; semantic issues; type systems; programming paradigms; interpreters and compilers.

3700  Fundamentals of Digital System Design (4) Cross listed as EL EN 3700. Prerequisite: CP SC 2010 and PHYCS 2220. Fulfills Quantitative Intensive BS Course.
   Techniques for minimizing logic functions and designing common combinational circuits such as decoders, selectors, and adders. Synchronous and asynchronous sequential circuits, state diagrams, Mealy and Moore circuits, state minimization and assignment. Use of softward tools for design, minimization, simulation, schematic capture. Implementation with MSI, LSI, and field programmable gate arrays. Laboratory included.

3710  Computer Design Laboratory (3) Cross listed as EL EN 3710. Prerequisite: EL EN/CP SC 3700 and 3810.
   Student groups design, build, and test a programmable device such as a computer or calculator.

3720  Analog and Digital Interfacing with Microprocessors and Microcontrollers (4) Cross listed as EL EN 3720. Prerequisite: EL EN/CP SC 3700 and 3810.
   Fundamentals of digital-to-analog (D-to-A) and analog-to-digital (A-to-D) circuits, relays, stepper motors, and digital switches. Interfacing digital and analog circuits to computers and micro-controllers. Laboratory included.

3810  Computer Architecture (4) Cross listed as EL EN 3810. Prerequisite: CP SC 2020. Fulfills Quantitative Intensive BS Course.
   An in-depth study of computer architecture and design, from digital logic to operating systems, including topics such as pipelining, memory systems, parallel and serial communication, and interrupts. Performance measures and compilation issues. Computer architectures including RISC, CISC, stack, and parallel.

3950  Independent Study (1 to 4)

3960  Special Topics (1 to 4)

4500  Software Engineering Laboratory (3) Prerequisite: CP SC 3510 and Senior Standing.
   Development of significant software systems by small student groups, with emphasis on applying sound, disciplined software engineering practice.

4550  Simulation (3) Prerequisite: CP SC 3510.
   Basic simulation modeling, modeling complex systems, basic probability and statistics for simulation, building valid simulations, random numbers, and output data analysis. Both discrete event and continuous simulation may be covered.

4710  Computer Engineering Senior Project (3) Cross listed as EL EN 4710. Prerequisite: CP SC/EL EN 3710 and 3720.
   Students design microcomputer system that includes RAM, EPROM, and I/O devices. Capstone project for computer engineering majors. Formal written reports, one or more oral presentations.

4950  Independent Study (1 to 4)

4960  Special Topics (1 to 4)

4961  Special Topics (1 to 4)

4962  Special Topics (1 to 4)

4963  Special Topics (1 to 4)

4964  Special Topics (1 to 4)

4970  Bachelor's Thesis (3) Prerequisite: CP SC senior standing.
   Only students who have previously worked with a faculty member in a research group may register for bachelor's thesis credit, and then only with the permission of the faculty member. An undergraduate thesis is a publication-quality description of work done in previous semesters. At a minimum, a thesis must be published as a technical report; ideally, it should be submitted to a conference or journal. A bachelor's thesis is intended as an alternative to the senior Software Engineering Laboratory for students who are headed for graduate school.

4999  Honors Thesis/Project (3) Fulfills Upper-division Communication/Writing.
   Restricted to students in the Honors Program working on an Honors degree.

5010  Software Practice (4) Prerequisite: CP SC 2020 and permission of instructor.
   Meets with CP SC 3500. This course is for graduate students from departments other than Computer Science. Practical exposure to the process of creating large software systems, including requirements specifications, design, implementation, testing, and maintenance. Emphasis on software process, software tools (debuggers, profilers, source code repositories, test harnesses), software engineering techniques (time management, code and documentation standards, source code management, object-oriented analysis and design), and team development practice. Much of the work will be in groups and will involve modifying preexisting software systems.

5020  Advanced Algorithms and Data Structures (3) Prerequisite: CP SC 5010 and permission of intructor.
   Meets with CP SC 3510. This course is for graduate students in departments other than Computer Science. Study of algorithms, data structures, and complexity analysis beyond the introductory treatment in CP SC 2020. Balanced trees, heaps, hash tables, string matching, graph algorithms, external sorting and searching. Dynamic programming, exhaustive search. Space and time complexity, derivation and solution of recurrence relations, complexity hierarchies, reducibility, NP completeness.

5050  Advanced Social Aspects of a Digital World (2) Prerequisite: Instructor's consent.
   Social and policy aspects of computing, beginning with a review of the history and technology of the Internet. Privacy, intellectual property, ethics, electronic commerce, and computer crime. Concurrent enrollment in a companion 5000-level discussion course (such as CP SC 5051) is required. (Companion discussions may also be offered by departments other than Computer Science.)

5051  Advanced Discussion of Social Aspects (1) Prerequisite: Instructor's consent.
   The combination of CP SC 5050/5051 is appropriate for students who have a graduate-level background in issues related to the social aspects of computing (e.g., intellectual property or electronic commerce).

5060  Legal Protection of Digital Software (2)
   Ways of protecting digital information-computer software and databases-using intellectual property law. Copyrights, patents, trade secrets, and contracts as ways of protecting digital information.

5100  Foundations of Computer Science (3) Prerequisite: CP SC 3100 and 3510.
   Meets with CP SC 6100. Advanced examination of fundamental ideas behind algorithms, complexity analysis, mathematical logics, elementary computability, and concurrency formalisms.

5210  Advanced Scientific Computing I (3) Prerequisite: CP SC 3200 and 3510 and MATH 3160.
   Meets with CP SC 6210. An introduction to existing classical and modern numerical methods and their algorithmic development and efficient implementation. Topics include numerical linear algebra, interpolation, approximation methods and parallel computation methods for nonlinear equations, ordinary differential equations, and partial differential equations. Offered every third semester beginning Fall 1998.

5300  Artificial Intelligence (3) Prerequisite: CP SC 3510.
   Meets with CP SC 6300. Introduction to field of artificial intelligence, including heuristic programming, problem-solving, search, theorem proving, question answering, machine learning, pattern recognition, game playing, robotics, computer vision.

5310  Robotics (3) Cross listed as ME EN 5220. Prerequisite: CP SC 1000 and MATH 2250 and PHYCS 2220.
   Meets with CP SC 6310. The mechanics of robots, comprising kinematics, dynamics, and trajectories. Planar, spherical, and spatial transformations and displacements. Representing orientation: Euler angles, angle-axis, and quaternions. Velocity and acceleration: the Jacobian and screw theory. Inverse kinematics: solvability and singularities. Trajectory planning: joint interpolation and Cartesian trajectories. Statics of serial chain mechanisms. Inertial parameters, Newton-Euler equations, D'Alembert's principle. Recursive forward and inverse dynamics.

5320  Computer Vision (3) Prerequisite: CP SC 3510 and MATH 2210 and 2270.
   Meets with CP SC 6320. Basic pattern-recognition and image-analysis techniques, low-level representation, intrinsic images, ``shape from'' methods, segmentation, texture and motion analysis, and representation of 2-D and 3-D shape.

5340  Natural Language Processing (3) Prerequisite: CP SC 3510.Recommended Prerequisite: CP SC 5300/6300.
   Meets with CP SC 6340. Computational models and methods for understanding written text. Introduction to syntactic analysis, semantic analysis, discourse analysis, knowledge structures, and memory organization. A variety of approaches are covered, including conceptual dependency theory, connectionist methods, and statistical techniques. Applications include story understanding, fact extraction, and information retrieval.

5350  Machine Learning (3) Prerequisite: CP SC 3510.Recommended Prerequisite: CP SC 5300/6300.
   Meets with CP SC 6350. Techniques for developing computer systems that can acquire new knowledge automatically or adapt their behavior over time. Topics include concept learning, decision trees, evaluation functions,clustering methods, explanation-based learning, language learning, cognitive learning architectures, connectionist methods, reinforcement learning, genetic algorithms, hybrid methods, and discovery.

5460  Operating Systems (3) Prerequisite: CP SC 3510 and CP SC/EL EN 3810.
   Characteristics, objectives, and issues concerning computer operating systems. Hardware-software interactions, process management, memory management, protection, synchronization, resource allocation, file systems, security, and distributed systems. Extensive systems programming.

5470  Compiler Principles and Techniques (3) Prerequisite: CP SC 3510 and 3100 and CP SC/EL EN 3810.
   Lexical analysis, top-down and bottom-up parsing, symbol tables, internal forms and intermediate languages, runtime environments, code generation, code optimization, semantic specifications, error detection and recovery. Use of software tools for lexical analysis and parsing.

5480  Data Communications and Networks (3) Prerequisite: CP SC 3510 and CP SC/EL EN 3810.
   Meets with CP SC 6480. A comprehensive study of the principles and practices of data communication and networks. Topics include transmission media, data encoding, local and wide area networking architectures, internetwork and transport protocols (e.g., IPv4, IPv6, TCP, UDP, RPC, SMTP), networking infrastructure (e.g., routers, nameservers, gateways), network management, distributed applications, network security, and electronic commerce. Principles are put into practice via a number of programming projects.

5520  Programming Languages and Semantics (3) Prerequisite: CP SC 3100 and 3520.
   Meets with CP SC 6520. Examination of the formal and pragmatic ideas behind programming language design. Imperative, functional, logic, object-oriented, and multi-paradigm languages. Lambda calculus, fixpoints, type systems, and predicate logic. Denotational semantics and models of concurrency.

5530  Database Systems (3) Prerequisite: CP SC 3510.
   Meets with CP SC 6530. Representing information about real world enterprises using important data models including the entity-relationship, relational and object-oriented approaches. Database design criteria, including normalization and integrity constraints. Implementation techniques using commercial database management system software. Selected advanced topics such as distributed, temporal, active, and multi-media databases.

5540  Human/Computer Interaction (3) Prerequisite: CP SC 3510.
   Meets with CP SC 6540. Fundamentals of input/output devices, user interfaces, and human factors in the context of designing interactive applications.

5600  Computer Graphics I (3) Prerequisite: CP SC 3510 and MATH 2250.
   Meets with CP SC 6600. Basic display techniques, display devices, vector generation, display processors. Homogeneous coordinates, transformations, and clipping in 2-D. Graphics systems, interactive graphics. Introduction to raster graphics. Some elements of photography as related to computer graphics.

5610  Computer Graphics II (3) Prerequisite: CP SC 5600/6600.
   Meets with CP SC 6610. Representations of 3-D objects, polygons, 3-D visualization techniques, hidden-line and hidden-surface removal, polygon clipping, continuous-tone pictures, color displays, lighting models, the aliasing problem. Some fundamentals of photographing computer-generated gray-scale images.

5630  Scientific Visualization (3) Prerequisite: CP SC 3510 and either CP SC 3200 or 5210 or MATH 5600.
   Meets with CP SC 6630. Introduction to the techniques and tools needed for the visual display of data. Students will explore many aspects of visualization, using a 'from concepts to results' format. The course begins with an overview of the important issues involved in visualization, continues through an overview of graphics tools relating to visualization, and ends with instruction in the utilization and customization of a variety of scientific visualization software packages.

5710  Advanced Integrated Circuit Design I (3) Cross listed as EL EN 5710. Prerequisite: CP SC/EL EN 3700.
   Meets with CP SC 6710. Introduction to basic concepts of the design of CMOS integrated circuits for students with a wide range of backgrounds. Static and dynamic properties of MOS circuits, composite layout of CMOS circuits, and modeling of transistors for use in SPICE simulations. Commonly encountered CMOS circuits. Introduction to CMOS analog/digital circuits. Students complete design, composite layout, and digitization of a simple integrated circuit using computer-aided design tools.

5720  Advanced Integrated Circuit Design II (3) Cross listed as EL EN 5720. Prerequisite: CP SC 5710 and EL EN 2100.
   Meets with EL EN/CP SC 6720. Material for the design of mixed-signal (analog/digital) CMOS integrated circuits. Fundamental building blocks for analog circuits are discussed, including the basic principles of op amp, current mirror, and comparator design. The basics of discrete-time signals and filters are covered. Implementation of switched-capacitor circuit, with discussions of various implementations of D/A and A/D converters, oversampled converters, and phase-locked loops.

5740  Computer-Aided Design of Digital Circuits (3) Cross listed as EL EN 5740. Prerequisite: CP SC/EL EN 3700 and CP SC 3510.
   Meets with EL EN/CP SC 6740. Introduction to theory and algorithms used for computer-aided synthesis of digital integrated circuits. Topics include algorithms and representations for Boolean optimization, hardware modeling, combinational logic optimization, sequential logic optimization, and technology mapping.

5750  Synthesis and Verification of Asynchronous VLSI Systems (3) Cross listed as EL EN 5750. Prerequisite: CP SC/EL EN 3700 and CP SC 3510.
   Meets with CP SC 6750. Introduction to systematic methods for the design of asynchronous VLSI systems from high-level specifications to efficient, reliable circuit implantations. Topics include specification, protocols, graphical representations, synthesis, optimization using timing information, and verification.

5810  Advanced Computer Architecture (3) Cross listed as EL EN 5810. Prerequisite: CP SC/EL EN 3700 and 3810.
   Meets with EL EN/CP SC 6810. Principles of modern-high performance computer and micro architecture: static vs. dynamic issues, pipelining, control and data hazards, branch prediction and correlation, cache structure and policies, cost-performance and physical complexity analyses.

5830  VLSI Architecture (3) Cross listed as EL EN 5830. Prerequisite: CP SC/EL EN 3700 and 3810.
   Meets with EL EN/CP SC 6830. Project-based study of a variety of topics related to VLSI systems. Use of field-programmable gate arrays to design, implement, and test a VLSI project.

5940  Seminar (1 to 3)

5950  Independent Study (1 to 4)

5960  Special Topics (1 to 4)

5961  Special Topics (1 to 4)

5962  Special Topics (1 to 4)

5963  Special Topics (1 to 4)

5964  Special Topics (1 to 4)

5965  Special Topics (1 to 4)

5966  Special Topics (1 to 4)

5967  Special Topics (1 to 4)

5968  Special Topics (1 to 4)

5969  Special Topics (1 to 4)

6010  Writing Research Proposals (2)
   Fundamental aspects of writing computer science research proposals, including thesis, dissertation, and grant proposals. Form, style, substance, and marketing of effective proposals will be considered. Emphasis is placed on developing and presenting clear and compelling ideas. Substantial writing and class presentations are required of all participants.

6020  Conducting, Publishing, and Presenting Early-Career Research (3) Prerequisite: Graduate standing in CP SC.
   This is an independent study offering designed to encourage beginning graduate students to conduct, publish, and present original research early in their graduate careers. A graduate student can earn credit for CP SC 6020 by having a first-authored paper accepted for publication in a top-tier journal or conference and by subsequently presenting the published work in a one-hour departmental research colloquium. The research must be conducted while a graduate student at Utah; the paper must be accepted within two years of enrolling in the graduate program; the journal or conference must be approved by the student's graduate committee; the colloquium must be presented as soon as possible after the acceptance of the paper; and the student must complete these requirements and register for CP SC 6020 within three years of enrolling in the graduate program. CP SC 6020 may not be repeated for credit.

6100  Foundations of Computer Science (3) Prerequisite: CP SC 3100 and 3510.
   Meets with CP SC 5100. Graduate students only. Extra work required.

6110  Formal Methods for System Design (3) Prerequisite: CP SC 5100/6100 and 5520/6520.
   Study of methods for formally specifying and verifying computing systems. Specific techniques include explicit state enumeration, implicit state enumeration, automated decision procedures for first-order logic, and automated theorem proving. Examples selected from the areas of superscalar CPU design, parallel processor memory models, and synchronization and coordination protocols.

6210  Advanced Scientific Computing I (3) Prerequisite: CP SC 3200 and 3510 and MATH 3160.
   Meets with CP SC 5210. Graduate students only. Extra work required.

6220  Advanced Scientific Computing II (3) Prerequisite: CP SC 5210/6210 or MATH 5600.
   A study of the numerical solution of two- and three-dimensional partial differential equations that arise in science and engineering problems.Topics include finite difference methods, finite element methods, boundary element methods, multigrid methods, mesh generation, storage optimization methods, and adaptive methods. Offered every third semester beginning Spring 1999.

6300  Artificial Intelligence (3) Prerequisite: CP SC 3510.
   Meets with CP SC 5300. Graduate students only. Extra work required.

6310  Robotics (3) Cross listed as ME EN 6220. Prerequisite: CP SC 1000 and MATH 2250 and PHYCS 2220.
   Meets with CP SC 5310. Graduate students only. Extra work required.

6320  Computer Vision (3) Prerequisite: CP SC 3510 and MATH 2210 and 2270.
   Meets with CP SC 5320. Graduate students only. Extra work required.

6340  Natural Language Processing (3) Prerequisite: CP SC 5300/6300.
   Meets with CP SC 5340. Graduate students only. Extra work required.

6350  Machine Learning (3) Prerequisite: CP SC 3510.Recommended Prerequisite: CP SC 5300/6300.
   Meets with CP SC 5350. Graduate students only. Extra work required.

6360  Virtual Reality (3) Prerequisite: CP SC 5310/6310.
   Human interfaces: visual, auditory, haptic, and locomotory displays; position tracking and mapping. Computer hardware and software for the generation of virtual environments. Networking and communications. Telerobotics: remote manipulators and vehicles, low-level control, supervisory control, and real-time architectures. Applications: manufacturing, medicine, hazardous environments, and training.

6480  Data Communications and Networks (3) Prerequisite: CP SC 3510 and CP SC/EL EN 3810.
   Meets with CP SC 5480. Graduate students only. Extra work required.

6520  Programming Languages and Semantics (3) Prerequisite: CP SC 3100 and 3520.
   Meets with CP SC 5520. Graduate students only. Extra work required.

6530  Database Systems (3) Prerequisite: CP SC 3510.
   Meets with CP SC 5530. Graduate students only. Extra work required.

6540  Human/Computer Interaction (3) Prerequisite: CP SC 3510.
   Meets with CP SC 5540. Graduate students only. Extra work required.

6600  Computer Graphics I (3) Prerequisite: CP SC 3510 and MATH 2250.
   Meets with CP SC 5600. Graduate students only. Extra work required.

6610  Computer Graphics II (3) Prerequisite: CP SC 5600/6600.
   Meets with CP SC 5610. Graduate students only. Extra work required.

6620  Image Synthesis (3) Prerequisite: CP SC 5610/6610 and 6670 and MATH 5010.
   Using camera and sensor simulation along with physical simulation to generate realistic synthetic images.

6630  Scientific Visualization (3) Prerequisite: CP SC 3510 and (3200 or 5210/6210 or MATH 5600).
   Meets with CP SC 5630. Graduate students only. Extra work required.

6670  Computer-Aided Geometric Design I (3) Prerequisite: MATH 2210 and 2250 and CP SC 3510.Co-requisite: CP SC 5600/6600.

6680  Computer-Aided Geometric Design II (3) Prerequisite: CP SC 6670.
   Introduction to current concepts and issues in CAGD systems with emphasis on free-form surface design; mathematics of free-form curve and surface representations, including Coons patches, Bezier method, B-splines, triangular interpolants, and their geometric consequences; classical surface geometry; local and global design tradeoffs and explicit and parametric tradeoffs; subdivision and refinement as techniques in modeling; current production capabilities compared to advanced research. Laboratory experiments with current CAD systems.

6710  Advanced Integrated Circuit Design I (3) Cross listed as EL EN 6710. Recommended Prerequisite: CP SC 3700
   Meets with EL EN/CP SC 5710. Graduate students only. Extra work required.

6720  Advanced Integrated Circuit Design II (3) Cross listed as EL EN 6720. Recommended Prerequisite: CP SC 6710 and EL EN 2100.
   Meets with EL EN/CP SC 5720. Graduate students only. Extra work required.

6740  Computer-Aided Design of Digital Circuits (3) Cross listed as EL EN 6740. Prerequisite: CP SC/EL EN 3700 and CP SC 3510.
   Meets with EL EN/CP SC 5740. Graduate students only. Extra work required.

6750  Synthesis and Verification of Asynchronous VLSI Systems (3) Cross listed as EL EN 6750. Prerequisite: CP SC/EL EN 3700 and CP SC 3810.
   Meets with EL EN/CP SC 5750. Graduate students only. Extra work required.

6770  Advanced Digital VLSI Systems Design (3) Cross listed as EL EN 6770.
   Important issues in full custom high speed circuit design.

6810  Advanced Computer Architecture (3) Cross listed as EL EN 6810. Prerequisite: CP SC/EL EN 3700 and 3810.
   Meets with EL EN/CP SC 5810. Graduate students only. Extra work required.

6820  Parallel Computer Architecture (3) Cross listed as EL EN 6820. Prerequisite: CP SC/EL EN 5810/6810.
   Architecture, design, and analysis of parallel computer systems: vector processing, data vs. control concurrency, shared memory, message passing, communication fabrics, case studies of current high performance parallel systems.

6830  VLSI Architecture (3) Cross listed as EL EN 6830. Prerequisite: CP SC/EL EN 3700.
   Meets with CP SC/EL EN 5830. Graduate students only. Extra work required.

6930  Seminar (1 to 3)

6931  Seminar (1 to 3)

6932  Seminar (1 to 3)

6933  Seminar (1 to 3)

6934  Seminar (1 to 3)

6935  Seminar (1 to 3)

6936  Seminar (1 to 3)

6937  Seminar (1 to 3)

6938  Seminar (1 to 3)

6939  Seminar (1 to 3)

6940  Seminar (1 to 3)

6941  Seminar (1 to 3)

6942  Seminar (1 to 3)

6943  Seminar (1 to 3)

6944  Seminar (1 to 3)

6950  Independent Study (1 to 4)

6960  Special Topics (1 to 4)

6961  Special Topics (1 to 4)

6962  Special Topics (1 to 4)

6963  Special Topics (1 to 4)

6964  Special Topics (1 to 4)

6965  Special Topics (1 to 4)

6966  Special Topics (1 to 4)

6967  Special Topics (1 to 4)

6968  Special Topics (1 to 4)

6969  Special Topics (1 to 4)

6970  Master's Thesis Research (1 to 12)

6980  Faculty Consultation: Master's (1 to 12)

7120  Information-Based Complexity (3) Prerequisite: CP SC 3200 and MATH 2270 and MATH 3210.
   Analysis of optimal computational methods for continuous problems. Introduction to the general worst case theory of optimal algorithms, linear problems, and spline algorithms as well as selected nonlinear problems. Examples include optimal integration, approximation, nonlinear zero finding, and fixed points.

7240  Sinc Methods (3) Prerequisite: CP SC 5210/6210 or MATH 5600 or 5610.
   Sinc methods for solving difficult computational problems, such as partial differential and integral equation problems, that arise in science and engineering research. Emphasis on parallel computation. Applications vary, depending on participants in the class. Whenever possible in their areas of research, students are given projects that lead to publishable research articles.

7310  Advanced Robotics (3) Cross listed as ME EN 7230. Prerequisite: CP SC 5310/6310 or ME EN 5220/6220.
   Covers the kinematics, dynamics, and control of robotic manipulators. Projects controlling robots will be an integral part of the course.

7460  Advanced Operating Systems (3) Prerequisite: CP SC 5460 and 5480/6480.
   Practical distributed operating systems concepts from basics through the state of the art. Topics include interprocess communication, client-server systems, distributed shared memory, distributed file systems, distributed databases, portable computing, software fault tolerance, and wide area (e.g., Web) applications. Work includes individual oral presentations, a group project, and a written research report.

7940  Seminar (1 to 3)

7950  Independent Study (1 to 4)

7960  Special Topics (1 to 4)

7970  Ph.D. Dissertation Research (1 to 12)

7980  Faculty Consultation: Ph.D. (1 to 12)

7990  Continuing Registration: Ph.D. (0)


Home | Feedback | Disclaimer
This page was updated on April 4, 2001.

U of U Class Schedules| Student Affairs Home Page| U of U Home Page

This web program is provided by Administrative Computing Services.
Please send comments or questions to webmaster@acs.utah.edu.