17.11.2014 Views

UC Davis 2008-2010 General Catalog - General Catalog - UC Davis

UC Davis 2008-2010 General Catalog - General Catalog - UC Davis

UC Davis 2008-2010 General Catalog - General Catalog - UC Davis

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Engineering: Computer Science 251<br />

key implementation issues for those paradigms; and<br />

programming language semantics.—I. (I.) Olsson,<br />

Pandey<br />

142. Compilers (4)<br />

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

courses 20, 140A; course 120 recommended. Principles<br />

and techniques of lexical analysis, parsing,<br />

semantic analysis, and code generation. Implementation<br />

of compilers.—II. (II.) Pandey, Su<br />

145. Scripting Languages And Their<br />

Applications (4)<br />

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

programming skill at the level of course 60. Goals<br />

and philosophy of scripting languages, with Perl and<br />

Python as prime examples. Applications include networking,<br />

threaded programming, and graphical<br />

user interfaces (GUI's). Offered in alternate years.—<br />

III. Matloff<br />

150. Operating Systems and System<br />

Programming (4)<br />

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

course 40; course 154A or Electrical and Computer<br />

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

Engineering 170 strongly recommended. Basic<br />

concepts of operating systems and system programming.<br />

Processes and interprocess communication/<br />

synchronization; virtual memory, program loading<br />

and linking; file and I/O subsystems; utility programs.<br />

Study of a real operating system.—I, II, III. (I,<br />

II, III.) Levitt, Matloff, Wu<br />

152A. Computer Networks (4)<br />

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

course 60; Mathematics 135A or Statistics 131A or<br />

Statistics 120 or Statistics 32. Overview of local and<br />

wide-area computer networks. IS0 seven-layer<br />

model. Physical aspects of data transmission. Datalink<br />

layer protocols. Network architectures. Routing.<br />

TCP/IP protocol suite. Local area networks. Medium<br />

access protocols. Network performance analysis.<br />

Only two units of credit for students who have taken<br />

course 157. (Same course as Electrical and Computer<br />

Engineering 173A.)—I, II, III. (I, II, III.) Chuah,<br />

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

152B. Computer Networks (4)<br />

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

course 152A, 150. TCP/IP protocol suite, network<br />

layer protocols, transport layer protocols, transport<br />

layer interfaces, sockets, UNIX network programming,<br />

computer networking applications, remote<br />

procedure calls and network management.—I, II, III.<br />

(I, II, III.) Mukherjee, Ghosal, Matloff, Mohapatra<br />

152C. Design Projects in Communication<br />

Networks (4)<br />

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

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

173A. Advanced topics and design projects in<br />

communication networks. Example topics include<br />

wireless networks, multimedia networking, network<br />

design and management, traffic analysis and modeling,<br />

network simulations and performance analysis.<br />

Offered in alternate years. (Same course as Electrical<br />

and Computer Engineering 173B.)—(III.) Chuah,<br />

Liu, van der Schaar, Mukherjee<br />

153. Computer Security (4)<br />

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

courses 150 and 152A. Principles, mechanisms,<br />

and implementation of computer security and data<br />

protection. Policy, encryption and authentication,<br />

access control, and integrity models and mechanisms;<br />

network security; secure systems; programming<br />

and vulnerabilities analysis. Study of an<br />

existing operating system. Not open for credit to students<br />

who have completed course 155.—II, III. (II,<br />

III.) Bishop, Chen<br />

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

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

course 50 or Electrical and Computer Engineering<br />

70; and course 110. Introduction to digital design.<br />

Interfacing of devices for I/O, memory and memory<br />

management. Input/output programming, via wait<br />

loops, hardware interrupts and calls to operating<br />

system services. Hardware support for operating systems<br />

software. Only one unit of credit allowed for<br />

students who have taken Electrical and Computer<br />

Engineering 170.—I, II, III. (I, II, III.) Farrens<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 60; calculusbased<br />

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

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

Engineering Civil and Environmental 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 60; 175 recommended. Art and science of<br />

information visualization and interfaces for information<br />

systems. Design principles of human-computer<br />

interaction. Visual display and navigation of nonspatial<br />

and higher dimensional data. Implementations,<br />

performance issues, tradeoffs, and evaluation of<br />

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

Ma<br />

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

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

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

relational model, relational algebra, query language<br />

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

system architectures.—II. (II.) Gertz, 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.)<br />

Davidson, Levitt<br />

175. Computer Graphics (4)<br />

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

course 60; Mathematics 22A. Principles of computer<br />

graphics. Current graphics hardware, elementary<br />

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

transformational geometry, clipping, graphics system<br />

design, standard graphics systems, individual projects.—I,<br />

II. (I, II.) Amenta, Hamann, Joy<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<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<br />

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

Seminar—3 hours. Prerequisite: upper division<br />

standing. Foundations of ethics. Views of technology.<br />

Technology and human values. Costs and benefits<br />

of technology. The character of technological<br />

change. The social context of work in computer science<br />

and engineering.—I, II, III. (I, II, III.) Chen,<br />

Devanbu, Mukherjee, Rogaway<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 />

Quarter Offered: I=Fall, II=Winter, III=Spring, IV=Summer; 2009-<strong>2010</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!