19.01.2015 Views

UC Davis General Catalog, 2006-2008 - General Catalog - UC Davis

UC Davis General Catalog, 2006-2008 - General Catalog - UC Davis

UC Davis General Catalog, 2006-2008 - General Catalog - UC Davis

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Engineering: Computer Science 235<br />

students who have taken Electrical and Computer<br />

Engineering 170.—I, II, III. (I, II, III.) Farrens,<br />

Mukherjee<br />

154B. Computer Architecture (4)<br />

Lecture—3 hours; discussion—1 hour. Prerequisite:<br />

course 154A or Electrical and Computer Engineering<br />

170; and course 110. Hardwired and microprogrammed<br />

CPU design. Memory hierarchies.<br />

Uniprocessor performance analysis under varying<br />

program mixes. Introduction to pipelining and multiprocessors.<br />

I, II, III. ( I, II, III.) Farrens<br />

155. Computer Security for Non-Majors (4)<br />

Lecture—3 hours; discussion—1 hour. Prerequisite:<br />

programming skill at the level of course 30; Mathematics<br />

21C. Principles, mechanisms, implementation,<br />

and sound practices of computer security and<br />

data protection. Cryptography. Authentication and<br />

access control. Internet security. Malicious software.<br />

Common vulnerabilities. Practical security in everyday<br />

life. Not open for credit to students who have<br />

completed course 153.—I. (I.) Chen, Bishop<br />

156. Discrete-Event Simulation (4)<br />

Lecture—3 hours; discussion—1 hour. Prerequisite:<br />

programming skill at the level of course 110; calculus-based<br />

course in probability theory, such as Statistics<br />

120 or 130A or 131A/Mathematics 131 or<br />

Civil and Environmental Engineering 114. Design of<br />

discrete-event simulation software. Random number<br />

generators. Event, process and activity-scanning<br />

approaches. Data structures and algorithms for event<br />

lists. Statistical output analysis. Applications to computer<br />

systems and networks; reliable systems; transportation;<br />

business management.—I.(I.) Matloff<br />

157. Computer Networks for Non-Majors<br />

(4)<br />

Lecture—3 hours; discussion—1 hour. Prerequisite:<br />

programming skills on the level of course 30. Shorter<br />

version of course 152AB featuring World Wide<br />

Web and e-mail examples. Local and wide-area<br />

computer network structures. ISO seven-layer model.<br />

Network protocols for data transmission and internetworking.<br />

Introduction to basic TCP/IP and Web<br />

programming. No credit allowed to students who<br />

have completed courses 152A or 152B.—III. (III.)<br />

Ghosal, Liu, Matloff, Mohapatra, Mukherjee<br />

158. Programming on Parallel<br />

Architectures (4)<br />

Lecture—3 hours; discussion—1 hour. Prerequisite:<br />

course 150; course 154B recommended. Techniques<br />

for software development using the shared-memory<br />

and message-passing paradigms, on parallel architectures<br />

and networks of workstations. Locks, barriers,<br />

and other techniques for synchronization.<br />

Introduction to parallel algorithms.—III. (III.) Farrens,<br />

Ma, Matloff, Pandey<br />

160. Introduction to Software Engineering<br />

(4)<br />

Lecture—3 hours; discussion—1 hour. Prerequisite:<br />

course 140A. Requirements, specification, design,<br />

implementation, testing, and verification of large<br />

software systems. Study and use of software engineering<br />

methodologies. Team programming.—I, II,<br />

III. (I, II, III.) Levitt, Devanbu<br />

163. Information Interfaces (4)<br />

Lecture—3 hours; discussion—1 hour. Prerequisite:<br />

course 110; course 175 recommended. Art and science<br />

of information visualization and interfaces for<br />

information systems. Design principles of humancomputer<br />

interaction. Visual display and navigation<br />

of non-spatial and higher dimensional data. Implementations,<br />

performance issues, tradeoffs, and evaluation<br />

of interactive information systems.—III. (III.)<br />

Ma, Amenta<br />

165A. Database Systems (4)<br />

Lecture—3 hours; discussion—1 hour. Prerequisite:<br />

course 110. Database design, entity-relationship<br />

and relational models, relational algebra, query language<br />

SQL, storage and file structures, query processing,<br />

system architectures.—II. (II.) Gertz,<br />

Ludaescher<br />

165B. Database Systems (4)<br />

Lecture—3 hours; discussion—1 hour. Prerequisite:<br />

course 165A. Advanced database systems: objectoriented<br />

and object-relational database systems; distributed<br />

and multidatabase systems; advanced database<br />

applications: Web-based database access,<br />

data warehouses.—III. (III.) Gertz, Ludaescher<br />

166. Scientific Data Management (4)<br />

Lecture—3 hours; discussion—1 hour. Prerequisite:<br />

programming skills at course level 40; Mathematics<br />

21C. Relational databases, SQL, non-standard databases,<br />

XML, scientific workflows, interoperability,<br />

data analysis tools, metadata.—I. (I.) Gertz, Ludaescher<br />

170. Introduction to Artificial Intelligence<br />

(4)<br />

Lecture—3 hours; discussion—1 hour. Prerequisite:<br />

course 140A. Design and implementation of intelligent<br />

computer systems. Knowledge representation<br />

and organization. Memory and inference. Problem<br />

solving. Natural language processing.—II. (II.) Levitt<br />

175. Introduction to Computer Graphics (4)<br />

Lecture—3 hours; discussion—1 hour. Prerequisite:<br />

course 110 or Electrical and Computer Engineering<br />

73; Mathematics 22A. Principles of computer graphics.<br />

Current graphics hardware, elementary operations<br />

in two- and three-dimensional space,<br />

transformational geometry, clipping, graphics system<br />

design, standard graphics systems. Individual<br />

projects.—I, II, III. (I, II, III.) Amenta, Joy, Hamann,<br />

Ma, Staadt<br />

177. Introduction to Visualization (4)<br />

Lecture—3 hours; discussion—1 hour. Prerequisite:<br />

course 175. Graphics techniques for generating<br />

images of various types of measured or computersimulated<br />

data. Typical applications for these graphics<br />

techniques include study of air flows around car<br />

bodies, medical data, and molecular structures.—II.<br />

(II.) Joy, Hamann, Ma, Staadt<br />

178. Introduction to Geometric Modeling<br />

(4)<br />

Lecture—3 hours; discussion—1 hour. Prerequisite:<br />

course 175. Interactive graphics techniques for<br />

defining and manipulating geometrical shapes used<br />

in computer animation, car body design, aircraft<br />

design, and architectural design.—I. (I.) Joy,<br />

Hamann, Max, Staadt<br />

188. Ethics and the Information Age (3)<br />

Seminar—2 hours; term paper. Prerequisite: upper<br />

division standing. Responsibilities of computer scientists<br />

as influenced by growth in computer use and<br />

networks.—I, II, III. (I, II, III.)<br />

189A-L. Special Topics in Computer Science<br />

(1-5)<br />

Lecture, laboratory or combination. Prerequisite:<br />

consent of instructor. Special topics in (A) Computer<br />

Science Theory; (B) Architecture; (C) Programming<br />

Languages and Compilers; (D) Operating Systems;<br />

(E) Software Engineering; (F) Data Bases; (G) Artificial<br />

Intelligence; (H) Computer Graphics; (I) Networks;<br />

(J) Computer-Aided Design; (K) Scientific<br />

Computing; (L) Computer Science. May be repeated<br />

for credit when topic differs.—I, II, III. (I, II, III.)<br />

190C. Research Group Conferences in<br />

Computer Science (1)<br />

Discussion—1 hour. Prerequisite: upper division<br />

standing in Computer Science and Engineering; consent<br />

of instructor. Research group conferences. May<br />

be repeated for credit. (P/NP grading only.)—I, II,<br />

III. (I, II, III.)<br />

190X. Senior Seminar (2)<br />

Seminar—2 hours. Prerequisite: senior standing.<br />

Examination of a special topic in a small group setting.<br />

192. Internship in Computer Science (1-5)<br />

Internship. Prerequisite: completion of a minimum of<br />

84 units; project approval prior to period of internship.<br />

Supervised work experience in computer science.<br />

May be repeated for credit. (P/NP grading<br />

only.)<br />

197T. Tutoring in Computer Science (2-3)<br />

Discussion—1 hour; laboratory/discussion—3-6<br />

hours. Prerequisite: upper division standing, consent<br />

of instructor. Tutoring in computer science courses,<br />

especially introductory courses. (P/NP grading<br />

only.)<br />

198. Directed Group Study (1-5)<br />

Prerequisite: consent of instructor. (P/NP grading<br />

only.)<br />

199. Special Study for Advanced<br />

Undergraduates (1-5)<br />

(P/NP grading only.)<br />

Graduate Courses<br />

201A. Advanced Computer Architecture (4)<br />

Lecture—3 hours; term paper. Prerequisite: course<br />

154B or Electrical and Computer Engineering 170;<br />

course 150. Modern research topics and methods in<br />

computer architecture. Design implications of memory<br />

latency and bandwidth limitations. Performance<br />

enhancement via within-processor and between-processor<br />

parallelism. Term project involving studentproposed<br />

extensions/modifications of work in the<br />

research literature. Not open for credit to students<br />

who have completed course 250A.—I. Farrens<br />

201B. High-Performance Uniprocessing (4)<br />

Lecture—3 hours; term paper. Prerequisite: course<br />

201A. Maximizing uniprocessor performance. Barriers<br />

to high performance; solutions to the problems;<br />

historical and current processor designs. Not open<br />

for credit to students who have completed course<br />

250B.—II. Farrens<br />

201C. Parallel Architectures (4)<br />

Lecture—3 hours; project—1 hour. Prerequisite:<br />

course 201A. Evolution of parallel architectures from<br />

special-purpose machines to commodity servers.<br />

Emphasis on recent machines and applications that<br />

drive them. Not open for credit to students who have<br />

completed course 250C.—III.<br />

203. Novel Computing Technologies (4)<br />

Lecture—3 hours; project—1 hour. Prerequisite:<br />

course 201A. Novel computing technologies that<br />

could revolutionize computer architecture. Quantum<br />

computing technologies, including algorithms,<br />

devices, and fault tolerance. A survey of other<br />

unconventional technologies including nanoscale<br />

electronics, MEMS devices, biological devices, and<br />

nanotechnology. Offered in alternate years.—II.<br />

220. Theory of Computation (4)<br />

Lecture—3 hours; discussion—1 hour. Prerequisite:<br />

course 120, 122A. Time and space complexity<br />

classes. Reductions, completeness, and the role of<br />

randomness. Logic and undecidability.—III. Rogaway<br />

222A. Design and Analysis of Algorithms<br />

(4)<br />

Lecture—3 hours; discussion—1 hour. Prerequisite:<br />

course 122A; Statistics 131A recommended. Techniques<br />

for designing efficient algorithms, analyzing<br />

their complexity and applying these algorithms to a<br />

broad range of applications. Methods for recognizing<br />

and dealing with difficult problems.—I, II. (I, II.)<br />

Amenta, Franklin, Gusfield, Martel, Rogaway<br />

222B. Advanced Design and Analysis of<br />

Algorithms (4)<br />

Lecture—3 hours; project—1 hour. Prerequisite:<br />

course 222A. Advanced topics in complexity theory.<br />

Problem classification. The classes P, NP, P-space,<br />

co-NP. Matching and network flow algorithms.<br />

Matrix multiplication. Approximation algorithms.—<br />

III. (III.) Gusfield, Franklin, Martel, Rogaway<br />

223. Parallel Algorithms (4)<br />

Laboratory/discussion—3 hours; project—1 hour.<br />

Prerequisite: course 222A. Models of parallel computer<br />

systems including PRAMs, loosely coupled systems<br />

and interconnection networks. Parallel<br />

algorithms for classical problems and general techniques<br />

for their design and analysis. Proving lower<br />

bounds on parallel computation in several settings.—II.<br />

(II.) Martel<br />

Quarter Offered: I=Fall, II=Winter, III=Spring, IV=Summer; 2007-<strong>2008</strong> offering in parentheses<br />

<strong>General</strong> Education (GE) credit: ArtHum=Arts and Humanities; SciEng=Science and Engineering; SocSci=Social Sciences; Div=Social-Cultural Diversity; Wrt=Writing Experience

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!