5

Click here to load reader

computer science (CSCI) - USC Viterbi School of Engineering · computer science (CSCI) ... and maintenance. It ... CSCI 303 Design & Analysis of Algorithms CSCI 377 Intro to Software

  • Upload
    ngohanh

  • View
    215

  • Download
    1

Embed Size (px)

Citation preview

Page 1: computer science (CSCI) - USC Viterbi School of Engineering · computer science (CSCI) ... and maintenance. It ... CSCI 303 Design & Analysis of Algorithms CSCI 377 Intro to Software

60

computer science (CSCI)CSCI overview • programs available

courses of instruction • flowcharts

Computer scientists and engineers design and implement efficient softwareand hardware solutions to computer-solvable problems. They are involved inthe development of areas such as high-speed networks, multimedia and cre-ative technologies, systems design and virtual reality.

The Computer Science program prepares students to enter the industry inthe areas of software design, development, application and maintenance. Italso provides intensive study in algorithmic design and analysis and the theoryof computing, which are needed for graduate studies.

Computer engineers integrate hardware and software processes to form solu-tions to problems arising from complex systems such as atomic reactors, guid-ance systems and manufacturing systems. They design and engineer com-puters and computer networks.

Programs Available• Computer Science

Bachelor of Science128 units

• Computer Engineering andComputer ScienceBachelor of Science131 units

• Physics/Computer ScienceBachelor of Science128 units

• Interactive Multimediaminor

• Multimedia and Creative Technologyminor

See pages 63-64 for the curricula of eachof the B.S. programs listed above.Information on each degree emphasisand minors can be found below.

See page 82 for information on minorprograms offered by the USC ViterbiSchool of Engineering.

Physics/ComputerScience DegreeThis program is intended for studentswith dual interests in physics andcomputer science who wish to completethe essential courses for both majorswithin their normal four year career. Seethe Physics and Astronomy Departmentsection of the USC Catalogue for courserequirements.

Minor in Interactive MultimediaSee page 82 for information on the Minorin Interactive Multimedia. Note that thisminor is not open to students in theSchool of Engineering (these studentsshould pursue the Multimedia andCreative Technologies Minor instead).

Minor in Multimedia andCreative TechnologiesSee page 82 for information on the Minorin Multimedia and Creative Technolo-gies.

Courses of InstructionThe terms indicated are expected but arenot guaranteed. For the courses offeredduring any given term, consult theSchedule of Classes.

C O M P U T E R S C I E N C E( C S C I )

101L Fundamentals of ComputerProgramming (3, FaSp) Introduction tothe design of solutions to computersolvable problems. Algorithm design,solution implementation using a high-level programming language, programcorrectness and verification.

102L Data Structures (4, FaSp) Linearlists, strings, arrays, and orthogonal lists;graphs, trees, binary trees, multilinkedstructures, sorting techniques; dynamicstorage allocation; applications. Prerequi-site: CSCI 101L.

105 Object-Oriented Programming (2,Sp) The principles of object-orientedprogramming are examined using Java.Topics include graphics, graphical userinterfaces and multi-threaded program-ming. Prerequisite: CSCI 101L.

107 Computers and Society (3, FaSp)What computers are and how theyfunction. Impact of computer technologyon society. Economic, political and socialissues raised by computers.

110 Introduction to Digital Logic (3)(Enroll in EE 101)

201L Principles of Software Develop-ment (4, FaSp) The object-orientedparadigm for programming-in-the-large(using the C++ language); UNIX tools forsoftware development; developingwindow-based applications under X-windows. Prerequisite: CSCI 102.

271 Discrete Methods in ComputerScience (3, FaSp) Models for discretestructures; finite state automata, regularsets. Selected applications of logic andcombinatorics to program correctness,algorithms and complexity, programminglanguage semantics and databases.Prerequisite: CSCI 102.

303 Design and Analysis of Algorithms(3, FaSp) Upper and lower bounds onsorting and order median. Deterministicand random computation, data structures,NP-completeness, cryptography, Turingmachines and undecidability. Prerequisite:CSCI 102 and CSCI 271.

320 Digital Media Basics for Multime-dia (3, FaSp) (Enroll in EE 320)

351 Programming and Multimedia onthe World Wide Web (3, Sp) HTMLprogramming for creating home pages,installation and modification of Webserver, writing programs that offerenhanced services, manipulation ofgraphics, video and sound. Prerequisite:CSCI 102L.

357 Basic Organization of ComputerSystems (3) (Enroll in EE 357)

Page 2: computer science (CSCI) - USC Viterbi School of Engineering · computer science (CSCI) ... and maintenance. It ... CSCI 303 Design & Analysis of Algorithms CSCI 377 Intro to Software

61

Dr. Barry BoehmComputer Science

377 Introduction to Software Engi-neering (3, Fa) Introduction of prin-ciples, methods, techniques and tools formulti-person construction of multi-version software systems. Prerequisite:CSCI 102.

390 Special Problems (1-4) Supervised,individual studies. No more than oneregistration permitted. Enrollment bypetition only.

402x Operating Systems (3, FaSp)Basic issues in concurrency, deadlockcontrol, synchronization scheduling,memory management, protection andaccess control, inter-process communica-tion, and structured design. Laboratoryexperiences with Unix-like operatingsystem. Not available for graduate creditto computer science majors. Prerequisite:CSCI 201L or CSCI 455x; EE 357.

410x Translation of ProgrammingLanguages (3, Fa) Concepts of assem-blers, compilers, interpreters and theirdesign; macro assemblers, Polish notationand translation techniques; operatorprecedence parsing, push down au-tomata, code generation. Not available forgraduate credit to computer sciencemajors. Prerequisite: CSCI 201; corequisite:EE 357.

445 Introduction to Robotics (4, Fa)Designing, building and programmingmobile robots; sensors, effectors, basic con-trol theory, control architectures, some ad-vanced topics, illustrations of state-of-the-art. Teamwork; final project tested in a ro-bot contest. Junior standing or higher. Pre-requisite: CSCI 101L or C language pro-gramming.

450 Introduction to Computer Net-works (3) (Enroll in EE 450)

454L Introduction to Systems DesignUsing Microprocessors (4) (Enroll in EE454L)

455x Introduction to Programming Sys-tems Design (4, FaSp) Intensive introduc-tion to programming principles, discretemathematics for computing, software de-sign and software engineering concepts.Not available for credit to computer sciencemajors, graduate or undergraduate. Prereq-uisite: departmental approval.

457x Computer Systems Organization(3) (Enroll in EE 457Lx)

458 Numerical Methods (4) (Enroll inMATH 458)

459 Computer Systems and ApplicationsModeling Fundamentals (3, Sp) Tech-niques and tools needed to construct/evalu-ate models of computer systems and appli-cations. Analytical and simulation methods,capacity planning, performance/reliabilityevaluation, and decision-making. Prerequi-site: MATH 225, CSCI 201.

460 Introduction to Artificial Intelli-gence (3, FaSp) Concepts and algo-rithms underlying the understanding andconstruction of intelligent systems.Agents, problem solving, search, repre-sentation, reasoning, planning, communi-cation, perception, robotics, neuralnetworks. Junior standing. Prerequisite:CSCI 102L or CSCI 455x.

465 Probabilistic Methods in ComputerSystems Modeling (3) (Enroll in EE465)

477 Design and Construction of LargeSoftware Systems (3, Sp) Programmingmethodologies; intra-group and inter-group communication; software lifecycle;software economics. A large softwareproject is a central aspect of the course.Prerequisite: CSCI 201, CSCI 377.

480 Computer Graphics (3, FaSp)Hardware for interactive graphic systems;picture representations; data structuresfor graphics; picture processing tech-niques; languages for graphics; survey ofapplications such as animation andsimulation. Prerequisite: CSCI 102.

485 File and Database Management (3,FaSp) File input/output techniques,basic methods for file organization, filemanagers, principles of databases,conceptual data models, and querylanguages. Prerequisite: CSCI 201.

490x Directed Research (2-8, max 8)Individual research and readings. Notavailable for graduate credit. Prerequisite:departmental approval.

495 Senior Project (3) (Enroll in PHYS495)

499 Special Topics (2-4, max 8)Selected topics in computer science.

computer science

Page 3: computer science (CSCI) - USC Viterbi School of Engineering · computer science (CSCI) ... and maintenance. It ... CSCI 303 Design & Analysis of Algorithms CSCI 377 Intro to Software

62

G R A D U A T E C O U R S E S

501 Numerical Analysis and Computa-tion (3)

502ab Numerical Analysis (3-3)

504ab Numerical Solutions of Ordinaryand Partial Differential Equations (3)

505ab Applied Probability (3-3)

510 Software Management andEconomics (3, Fa)

511 Personal Software Process (PSP)and Project (3, Fa)

520 Computer Animation and Simula-tion (3, Sp)

530 Security Systems (3)

533 Combinatorial Analysis andAlgebra (3)

541 Artificial Intelligence Planning (3,Irregular)

542 Neural Computation with ArtificialNeural Networks (3, Sp)

543 Software Multiagent Systems (3,Sp)

544 Natural Language Processing (3)

545 Robotics (3, Sp)

546 Intelligent Embedded Systems (3,Sp)

547 Sensing and Planning in Robotics(3, Fa)

548 Information Integration on theWeb (3, Sp)

549 Nanorobotics (3, Sp)

551 Computer Communications (3, Sp)

552 Logic Design and Switching Theory(3)

553 Computational Solution of Optimi-zation Problems (3)

554 Real Time Computer Systems (3)

555 Advanced Operating Systems (3,FaSp)

556 Introduction to Cryptography (3)

557 Computer Systems Architecture(3)

558L Internetworking and DistributedSystems Laboratory (3)

559 Mathematical Pattern Recognition(3-3)

560L Advanced Microcomputer-BasedDesign (3)

561 Foundations of Artificial Intelli-gence (3, Sp)

562 Empirical Methods in NaturalLanguage Processing (3, 2 years, Fa)

564 Brain Theory and Artificial Intelli-gence (3, Fa)

565 Compiler Design (4, Sp)

566 Neural Network Self-Organization(3, Sp)

567 Machine Learning (3)

569 Integrated Intelligent Systems (3)

570 Analysis of Algorithms (3, FaSp)

571 Web Technologies (3, Fa)

573 Advanced Artificial Intelligence (3,Fa)

574 Computer Vision (3, Fa)

576 Multimedia Systems Design (3,FaSp)

577ab Software Engineering (4-4,FaSp)

578 Software Architectures (3, Sp)

580 3D Graphics and Rendering (3, Fa)

581 Logic and its Applications (3)

582 Geometric Modeling (3, Sp)

583 Computational Geometry (3)

584 Control and Learning in MobileRobots and Multi-Robot Systems (3,Sp)

585 Database Systems (3, FaSp)

586 Database Systems Interoperability(3, Sp)

587ab Mathematical Models of Neu-rons and Neural Networks (3-3)

588 Specification and Design of UserInterface Software (3, Fa)

589 Software Engineering for Embed-ded Systems (3, FaSp)

590 Directed Research (1-12)

591ab Applied Software Engineering(3-3, Sp)

592 Emerging Best Practices inSoftware Engineering (3, SpSm)

593 Autonomous Learning and Discov-ery Agents (3)

594abz Master’s Thesis (2-2-0,FaSpSm)

595 Advanced Compiler Design (4)

597 Seminar in Computer ScienceResearch (1, max 2, FaSp)

599 Special Topics (2-4, max 9)

652 Wireless Sensor Networks (3)

658 Diagnosis and Design of ReliableDigital Systems (3)

664 Neural Models for Visually GuidedBehavior (3, max 9)

674ab Advanced Topics in ComputerVision (3-3)

694ab Topics in Computer Networksand Distributed Systems (3-3)

790 Research (1-12)

794abcdz Doctoral Dissertation (2-2-2-2-0)

computer science

Page 4: computer science (CSCI) - USC Viterbi School of Engineering · computer science (CSCI) ... and maintenance. It ... CSCI 303 Design & Analysis of Algorithms CSCI 377 Intro to Software

63C O M P U T E R S C I E N C E

com

pute

r sci

ence

(128

uni

ts)

Mat

hem

atic

s (2

0 u

nit

s)M

ATH

125

Cal

culu

s I

MAT

H 1

26C

alcu

lus

IIM

ATH

226

Cal

culu

s II

IM

ATH

225

Lin

ear

Alg

ebra

& D

iff. E

quat

ions

MAT

H 4

07P

roba

bilit

y T

heor

y

Scie

nce

Cou

rses

(12

un

its)

Bas

ic S

cien

ce I

(see

* b

elow

)B

asic

Sci

ence

II

(see

* b

elow

)Sc

ienc

e E

lect

ive

(see

**

belo

w)

Gen

eral

Edu

cati

on (

39

un

its)

WR

IT 1

40**

*W

riti

ng a

nd C

riti

cal R

easo

ning

WR

IT 3

40A

dvan

ced

Wri

ting

For

eign

Lan

guag

eF

orei

gn L

angu

age

For

eign

Lan

guag

eG

E C

at. I

GE

Cat

. II

GE

Cat

. IV

****

GE

Cat

. VG

E C

at. V

I

Engi

nee

rin

g (5

1 u

nit

s)C

SCI

101L

Fun

d. o

f Com

pute

r Pro

gram

min

gC

SCI

102L

Dat

a St

ruct

ures

CSC

I 10

5O

bjec

t O

rien

ted

Pro

gram

min

gC

SCI

107

Com

pute

rs a

nd S

ocie

tyC

SCI

201L

Pri

nc. o

f Sof

twar

e D

evel

opm

ent

CSC

I 27

1D

iscr

ete

Met

hods

in C

omp.

Sci

.C

SCI

303

Des

ign

& A

naly

sis

of A

lgor

ithm

sC

SCI

377

Intr

o to

Sof

twar

e E

ngin

eeri

ngC

SCI

402x

Ope

rati

ng S

yste

ms

CSC

I 47

7D

esig

n &

Con

str.

of L

g. S

oftw

are

Sys.

EE

101

Intr

oduc

tion

to

Dig

ital

Log

icE

E 1

02L

Intr

oduc

tion

to

Dig

ital

Cir

cuit

sE

E 3

57B

asic

Org

. of C

ompu

ter S

yste

ms

EE

457

Lx

Com

pute

r Sys

tem

s O

rgan

izat

ion

Tec

hnic

al E

lect

ive

(see

***

** b

elow

)T

echn

ical

Ele

ctiv

e(s

ee *

****

bel

ow)

Tec

hnic

al E

lect

ive

(see

***

** b

elow

)

Oth

er C

ours

es (

6 u

nit

s)F

ree

Ele

ctiv

eF

ree

Ele

ctiv

e

* B

asic

sci

ence

requ

irem

ent:

PH

YS

151L

and

152

L o

r CH

EM

105

abL

or B

ISC

120

L a

nd 2

20L

.

** A

ny c

ours

e in

phy

sics

, bio

logy

or

chem

istr

y be

yond

the

bas

ic s

cien

ce r

equi

rem

ent

or in

ano

ther

sci

enti

fic

disc

iplin

e. S

ee d

epar

tmen

t fo

r ap

prov

al.

***

Con

curr

ent

enro

llmen

t in

a S

ocia

l Iss

ues

GE

is r

equi

red.

****

May

enr

oll i

n a

Cat

egor

y I,

II,

IV

or V

I G

E c

lass

.

****

* Se

e de

part

men

t fo

r a

list

of a

ppro

ved

tech

nica

l ele

ctiv

es.

WRI

T 14

0 (4)

<<ge

cat.

vi>>

MATH

125 (

4)CS

CI 10

1L (3

)GE

Cat

. VI (

4)<<

writ 1

40>>

FREE

ELE

C. (2

)

CSCI

107 (

3)MA

TH 12

6 (4)

mat

h 12

5CS

CI 10

5 (2)

EE 10

1 (3)

MATH

226 (

4)m

ath

126

CSCI

102L

(4)

csci

101L

CSCI

271L

(3)

csci

102L

EE 10

2L (2

)ee

101

MATH

225 (

4)m

ath

126

CSCI

201L

(4)

csci

102L

BASI

C SC

IENC

E I (

4)EE

357 (

3)ee

102

LCS

CI T

ECH.

ELEC

. (3)

CSCI

303L

(3)

csci

271

BASI

C SC

IENC

E II

(4)

EE 45

7Lx (

3)GE

Cat

. I (4

)CS

CI 37

7 (3)

csci

102

CSCI

TEC

HEL

EC. (

3)

SCIE

NCE

ELEC

TIVE

(4

)FR

EE E

LEC.

(4)

GE C

at. II

(4)

GE C

at. IV

(4)

CSCI

TEC

HEL

EC. (

3)W

RIT

340 (

3)wr

it 140

CSCI

477 (

3)cs

ci 20

1L, 3

77

fres

hman

soph

omor

e

juni

or

seni

or

(15 u

nits)

(17 u

nits)

(17 u

nits)

(17 u

nits)

(17 u

nits)

(17 u

nits)

(15 u

nits)

(13 u

nits)

KEY

:pr

ereq

uisi

te[c

o-re

quis

ite]

<<co

ncur

rent

enr

ollm

ent>

>

GE C

at. V

(4)

FORE

IGN

LANG

. (4)

MATH

407 (

4)m

ath

226

CSCI

402x

(3)

csci

201L

, ee

357

FORE

IGN

LANG

. (4)

FORE

IGN

LANG

. (4)

Page 5: computer science (CSCI) - USC Viterbi School of Engineering · computer science (CSCI) ... and maintenance. It ... CSCI 303 Design & Analysis of Algorithms CSCI 377 Intro to Software

64C O M P E N G R & C O M P S C I

com

p. e

ngr.

& co

mp.

sci. (

131

unit

s)M

ath

emat

ics

(24

un

its)

MAT

H 1

25C

alcu

lus

IM

ATH

126

Cal

culu

s II

MAT

H 2

25L

inea

r A

lgeb

ra &

Diff

. Equ

atio

nsM

ATH

226

Cal

culu

s II

IM

ATH

407

Pro

babi

lity

The

ory

Mat

h E

lect

ive

(see

* b

elow

)

Ph

ysic

s (8

un

its)

PH

YS

151L

Mec

hani

cs a

nd T

herm

odyn

amic

sP

HY

S 15

2LE

lect

rici

ty a

nd M

agne

tism

Scie

nce

Cou

rse

(4 u

nit

s)Sc

ienc

e E

lect

ive

(see

**

belo

w)

Gen

eral

Edu

cati

on (

27

un

its)

WR

IT 1

40**

*W

riti

ng a

nd C

riti

cal R

easo

ning

WR

IT 3

40A

dvan

ced

Wri

ting

GE

Cat

s. I

, II,

V, V

IG

E C

at. I

V**

**

Engi

nee

rin

g (6

8 u

nit

s)C

SCI

101L

Fun

d. o

f Com

pute

r Pro

gram

min

gC

SCI

102L

Dat

a St

ruct

ures

CSC

I 10

5O

bjec

t O

rien

ted

Pro

gram

min

gC

SCI

107

Com

pute

rs a

nd S

ocie

tyC

SCI

201L

Pri

nc. o

f Sof

twar

e D

evel

opm

ent

CSC

I 27

1D

iscr

ete

Met

hods

in C

omp.

Sci

.C

SCI

303

Ana

lysi

s an

d D

esig

n of

Alg

o.C

SCI

377

Intr

o to

Sof

twar

e E

ngin

eeri

ngC

SCI

402x

Ope

rati

ng S

yste

ms

CSC

I 47

7D

esig

n of

Lar

ge S

oftw

are

Sys.

EE

101

Intr

oduc

tion

to

Dig

ital

Log

icE

E 1

02L

Intr

oduc

tion

to

Dig

ital

Cir

cuit

sE

E 1

05In

tro

to E

lect

rica

l Eng

inee

ring

EE

326

Lx

Ess

enti

als

of E

lect

rica

l Eng

r.E

E 3

27x

Dig

ital

Ele

ctro

nics

EE

357

Bas

ic O

rg. o

f Com

pute

r Sys

tem

sE

E 4

54L

Intr

o. to

Sys

. Usi

ng M

icro

proc

esso

rsE

E 4

57L

xC

ompu

ter S

yste

ms

Org

aniz

atio

nE

E 4

59L

Seni

or D

esig

n P

roje

ctIS

E 4

60E

ngin

eeri

ng E

cono

my

Tec

hnic

al E

lect

ive

(see

***

** b

elow

)T

echn

ical

Ele

ctiv

e(s

ee *

****

bel

ow)

* A

ny 4

00-l

evel

mat

hem

atic

s co

urse

exc

ept

MAT

H 4

06 o

r 45

0.

** S

cien

ce e

lect

ive

is s

elec

ted

from

: PH

YS

153L

, CH

EM

105

aL, 1

15aL

, or

othe

r co

urse

s ap

prov

ed b

y yo

ur a

dvis

or.

***

Con

curr

ent e

nrol

lmen

t in

a So

cial

Iss

ues

GE

Cou

rse

is re

quir

ed.

****

May

take

a C

ateg

ory

I, I

I, I

V o

r VI

GE

Cla

ss.

****

* Se

e de

part

men

t fo

r a

list

of a

ppro

ved

tech

nica

l ele

ctiv

es a

nd a

reas

of

spec

ializ

atio

n.

WRI

T 14

0 (4)

<<ge

cat.

vi>>

MATH

125 (

4)CS

CI 10

1L (3

)GE

Cat

. VI (

4)<<

writ 1

40>>

EE 10

5 (3)

MATH

126 (

4)m

ath

125

CSCI

105 (

2)

EE 10

1L (3

)MA

TH 22

6 (4)

mat

h 12

6PH

YS 15

1L (4

)m

ath

125

CSCI

201L

(4)

csci

102L

EE 10

2L (2

)ee

101

LMA

TH 22

5 (4)

mat

h 12

6PH

YS 15

2L (4

)ph

ys 1

51L,

[mat

h 22

6]

SCIE

NCE

ELEC

. (4)

EE 35

7 (3)

ee 1

02L

EE 32

6Lx (

4)ph

ys 1

52L

CSCI

303 (

3)cs

ci 10

2, 27

1

GE C

at. II

(4)

CSCI

377 (

3)cs

ci 10

1LMA

TH 40

7 (4)

mat

h 22

6EE

454L

(4)

ee 3

57EE

327x

(3)

ee 3

26Lx

GE C

at. IV

(4)

GE C

at. I

(4)

WRI

T 34

0 (3)

writ 1

40

TECH

. ELE

C. (3

)IS

E 46

0 (3)

MATH

ELE

C.40

0 LEV

EL (4

)CS

CI 47

7L (3

)cs

ci 10

2L

fres

hman

soph

omor

e

juni

or

seni

or

(15 u

nits)

(16 u

nits)

(15 u

nits)

(17 u

nits)

(17 u

nits)

(18 u

nits)

(17 u

nits)

(16 u

nits)

KEY

:pr

ereq

uisi

te[c

o-re

quis

ite]

<<co

ncur

rent

enr

ollm

ent>

>

GE C

at. V

(4)

CSCI

271 (

3)[cs

ci 10

2L]

TECH

. ELE

C. (3

)

CSCI

402x

(3)

csci

201L

EE 45

9L (3

)ee

454

L or

457

Lx

EE 45

7Lx (

3)

CSCI

107 (

3)

CSCI

102L

(4)

csci

101