Computer Science Course Offerings
Please see the section on Course Description Symbols and Terms in The University Catalog for an explanation of course description terminology
and symbols, the course numbering system, and course credit units. All
courses are lecture and discussion and employ letter grading unless otherwise
stated. Some prerequisites may be waived with faculty permission. Many
syllabi are available on the Chico Web.
CSCI 010
Computer Literacy 3.0 Fa/Spr
Introduction to the computer for non-computer science students. History
of the computer, review of hardware, software, and a range of computer
applications are considered. The social impact and future of computers
for communication systems are discussed. An intergrated software package
for work processing, spreadsheets, databases, and presentation is used.
2.0 hours lecture, 2.0 hours activity. Special fee required; see The Class Schedule. CAN CSCI 2.
CSCI 014
Introduction to Computer Science 3.0 Fa/Spr
Students who have had limited experience with computers should take CSCI
014 before CSCI 015A. CSCI 014 provides an overview of the fundamentals
of computer science. Number systems and data representation are introduced.
An overview of hardware, including the control unit, memory, the ALU, I/O
is provided. Software is introduced with an overview of operating systems,
programming languages, applications, and software tools. Students are exposed
to common operating systems and applications. Student also design and implement
several programs. 2.0 hours discussion, 2.0 hours activity.
CSCI 015A
Programming and Algorithms I 3.0 Fa/Spr
Prerequisites: At least one year of high school algebra and strong computer
skills or CSCI 014.
A first-semeser object-oriented programming course, providing an overview
of computer systems and an introduction to problem solving, object-oriented
software design, and programming. Coverage includes the software life cycle,
as well as algorithms and their role in software design. Students are expeced
to design, implement, and test a number of programs. 2.0 hours discussion,
2.0 hours activity. CAN CSCI 22.
CSCI 015B
Programming and Algorithms II 3.0 Fa/Spr
Prerequisites: Grade of C- or better in CSCI 015A (or ECE 090 for engineering
majors).
A second semester object-oriented programming course in computer science
that emphasizes problem solving. This course continues the study of software
specification, design, implementation, and debugging techniques while introducing
abstract data types, fundamental data structures and associated algorithms.
Coverage includes dynamic memory, file I/O, linked lists, stacks, queues,
trees, recursion, and an introduction to the complexity of algorithms.
Students will be expected to design, implement, test, and analyze a number
of programs. 2.0 hours discussion, 2.0 hours activity. CAN CSCI 24.
CSCI 015X
Programming Problem Session 1.0 Fa/Spr
Prerequisites: Concurrent enrollment in CSCI 015A.
Designed to supplement CSCI 015A with additional applications and extended
explanations of concepts encountered in programming. Provides the student
with the opportunity for additional assistance in basic programming skills.
2.0 hours activity. Credit/no credit grading only.
CSCI 015Y
Programming Problem Session 1.0 Fa/Spr
Prerequisites: Concurrent enrollment in CSCI 015B.
Designed to supplement CSCI 015B with additional applications and extended
explanations of concepts encountered in programming. Provides the student
with the opportunity for additional assistance in basic programming skills.
2.0 hours activity. Credit/no credit grading only.
CSCI 040
Computer-Assisted Art I 3.0 Fa/Spr
CSCI 040 provides an introduction to computer graphics and art. Students
use the computer as a tool for creating static and animated images. Basic
instruction in design and color relationships is provided. The writing
component may include research reports from current graphics publications
and/or attendance and discussion of art exhibitions. 1.0 hour discussion,
4.0 hours activity. This is an approved General Education course. Special
fee required; see The Class Schedule.
CSCI 051A
Assembly Language Programming 3.0 Fa/Spr
Prerequisites: CSCI 015B.
Topics include number systems and their rules for arithmetic; basic central
processing unit (CPU) organization concepts such as registers, data paths,
the arithmetic and logic unit (ALU) and the interface to random access
memory (RAM); instruction formats, addressing modes and their uses with
a variety of data structures; and parameter passing techniques including
the use of a stack frame. The use of good programming methodologies to
develop and document algorithms at the assembly language level is emphasized.
2.0 hours discussion, 2.0 hours activity. CAN CSCI 10.
CSCI 054
Introduction to Applications Programming 3.0 Fa/Spr
Prerequisites: CSCI 015A.
This course introduces programming to computer programmers and systems
analysts using an integrated graphical development environment. Event-driven,
visual, and object-oriented programming concepts are presented. Course
emphasis is on the total program development processproblem analysis,
design, coding, testing, debugging, and maintenance. Programming projects
involve common business problems that require data entry, display of calculated
results, report requests, conditional testing, arithmetic operations, array
processing, data validation, searching, sorting, reading and writing files,
database. 2.0 hours discussion, 2.0 hours activity.
CSCI 057
Introduction to the UNIX Operating System 3.0 Fa/Spr
This course is designed as a comprehensive introduction to the UNIX operating
system for computer science and computer information systems majors. It
leads the student through logging in, introductory and advanced levels
of the visual editor (vi), file management, the directory structure, how
UNIX handles files and processes, job control, process monitoring, shell
scripts, basic shell utilities, and power utilities. 2.0 hours discussion,
2.0 hours activity.
CSCI 065
Using the UNIX Operating System 3.0 Fa/Spr
For non-majors. This is a basic introduction to the UNIX operating system.
Students learn the fundamental skills of logging into the system, using
the visual editor, UNIX utilities, and file management. Subjects include
directory structure, how the system handles files and proceses, and shell
scripts. 2.0 hours discussion, 2.0 hours activity.
CSCI 110
Computers Impact on Society 3.0 Fa/Spr
Prerequisites: Junior standing.
Impact of computers and high-tech systems on people, institutions, organizations,
and environment. Examines the following: law, medicine, education, government,
data banks, privacy, computer security, changing work, automation, robots,
expert systems, AI, social responsibility, ethics, war, conflict resolution.
Includes weekly reading, midterm, and final writing projects. Weekly lectures,
discussions, films, and writing. No programming. This is an approved General
Education course.
CSCI 112
Software Engineering 3.0 Fa/Spr
Prerequisites: CSCI 015B; ENGL 001 (or its equivalent) with a grade of
C- or higher.
Special problems in the development of large software systems. Software
life cycle, requirements analysis, structural design, implementation, costing,
standards, verification, and validation. A group project is required. This
is a writing proficiency, WP, course; a grade of C- or better certifies
writing proficiency for majors. Formerly CSCI 210.
CSCI 116H
Mind in the Machine-Honors 3.0 Spring
Prerequisites: Acceptance into the Honors Program; faculty permission.
An Honors seminar that explores the psychological, philosophical, social,
biological, and technical aspects of machine minds. Explores core issues
within a subset of the disciplines that comprise the cognitive sciences,
including artificial intelligence, philosophy, and psychology. Readings
and discussions focus on theories of artificial intelligence and classic
themes in human cognition and philosophy, such as determinism, consciousness,
free-will, and the mind-body problem. The course focuses on increasing
ones capability to express beliefs and evaluate arguments concerning various
issues. This is an approved General Education course.
This course is the same as PSY 116H which may be substituted.
CSCI 122
Machines, Brains, and Minds 3.0 Fa/Spr
Prerequisites: Junior standing; faculty permission.
An examination of the emergence of artificial mind in machines, with special
attention to related issues in the philosophy of mind and cognitive science.
This is an approved General Education course.
This course is the same as PHIL 132 which may be substituted.
CSCI 123
Language, Intelligence, and Computation 3.0 Fall
This course presents a practically based treatment of artificial intelligence,
and a general introduction of technical issues associated with the development
of intelligent systems. The course addresses issues of knowledge representation
and natural language processing in particular, from a computational perspective.
Students write programs to perform simple analyses of natural language
and logical reasoning. Students also explore the limits of computation,
using practical and theoretical approaches. 2.0 hours lecture, 2.0 hours
activity. This is an approved General Education course.
CSCI 140
3-D Computer Modeling 3.0 Spring
Prerequisites: CSCI 040 or previous computer graphics experience.
This course uses 3-D modeling and animation software in developing 3-D
computer models and creating presentations of those models in story-telling
still scenes. The tools, techniques, and topics studied will include basic
and advanced 3-D modeling tools, 3-D scene layout, lighting, texturing,
and rendering. 1.0 hour discussion, 4.0 hours activity.
CSCI 145
Web Page Design 3.0 Fall
Prerequisites: CSCI 015A.
This course focuses on the study of design and implementation issues for
Web page creation and maintenance from the perspective of programming and
writing code. Topics include page purpose, content, audience, navigation,
speed, style, and maintenance issues, mark-up language tags, style sheets,
dynamic mark-up language, scripting. Students are required to work collaboratively
to produce functional sites and make verbal presentations. 2.0 hours lecture,
2.0 hours activity.
CSCI 150
Programming Languages 3.0 Fa/Spr
Prerequisites: CSCI 015B.
An investigation into the structure and syntax of current programming languages,
including binding, scoping, data types, transfer-of-control structures,
subprograms, abstract data types, object-oriented programming, and functional
programming.
CSCI 151
Algorithms and Data Structures 3.0 Fa/Spr
Prerequisites: Grade of C- or better in CSCI 015B.
This course focuses on object-oriented methodologies in designing and implementing
a variety of data structures and algorithms. Coverage includes recursion,
trees, search structures, hashing, heaps, sorting algorithms, and graph
algorithms. Data structure and algorithm combinations will be studied and
analyzed along with their relative merits using both mathematical and empirical
measurements. The course includes a number of large programming assignments
focusing on object-oriented software engineering and algorithm development.
Students will be required to design, implement, test, and analyze their
programs in at least one object-oriented language. 2.0 hours discussion,
2.0 hours activity.
CSCI 152
Operating Systems Programming 3.0 Fa/Spr
Prerequisites: CSCI 151 and CSCI 171.
Operating system fundamentals, including history, process and thread management,
concurrency with semaphores and monitors, deadlocks, storage management,
file systems, I/O, and distributed systems. 2.0 hours discussion, 2.0 hours
activity.
CSCI 157
UNIX Power Utilities and Shell Programming 3.0 Fall
This is an intermediate level UNIX class. During the first part of the
course, UNIX users will learn to use (or brush up on their facility with)
power utilities such as sed, grep, awk, find, cut, paste, and join as preparation
for creating shell scripts. Shell programming in the latter part of the
course will focus primarily on the Bourne shell; however, some of the special
features of C-shell and Korn shell scripts will be covered. 2.0 hours discussion,
2.0 hours activity.
CSCI 160
Linear Programming Applications 3.0 Inquire
Prerequisites: CSCI 015B equivalent.
Mathematical optimization and managerial decision techniques. Simplex method
with applications, transportation problems, assignment problems, integer
programming, network algorithms, and inventory models. 2.0 hours discussion,
2.0 hours activity.
CSCI 165
Numerical Methods Programming 3.0 Inquire
Prerequisites: CSCI 015B or ECE 090; MATH 007C.
Scientific programming methods, solution of simultaneous linear and non-linear
equations, iterative techniques, matrix methods, error analysis, development
of specific and general algorithms. 2.0 hours discussion, 2.0 hours activity.
CSCI 171
Computer Architecture 3.0 Fa/Spr
Prerequisites: CSCI 051A.
The course introduces basic digital logic design techniques and integrates
the topics of assembly language programming, computer organization, and
computer design. Topics include the design of the arithmetic and logic
unit (ALU), hardware multiplication and division, multiple clock cycle
implementations, pipelined implementations, hazard detection and forwarding,
design of a memory hierarchy, system busses and the design of a direct
memory access (DMA) controller, cache consistency in multiprocessor systems,
and implementation of a snooping cache.
CSCI 172
Systems Architecture 3.0 Inquire
Prerequisites: ENGL 001 (or its equivalent) with a grade of C- or higher,
CSCI 151, CSCI 171. Concurrent enrollment in CSCI 152 is recommended.
Definition of problems relating to interfacing processors and peripherals
in computer systems. Channel and bus structures, bandwidth computations,
performance evaluation, feasibility studies, and methods of systems analysis.
This is a writing proficiency, WP, course; a grade of C- or better certifies
writing proficiency for majors.
CSCI 178
Introduction to Computer Networks 3.0 Fa/Spr
and Network Management
Prerequisites: CSCI 015A.
This course is an introduction to basic knowledge of networking technologies
and network management concepts, including major network operating systems,
communication protocols, and the supporting network hardware and software.
The course emphasizes the hand-on experience of network management in a
laboratory environment. 2.0 hours discussion, 2.0 hours activity.
CSCI 180
Project Requirements, Design, and Testing 3.0 Fa/Spr
Prerequisites: ENGL 001; CSCI 015B or ECE 086.
Students are introduced to methodologies used to specify system descriptions.
Hardware and software documentation standards are described. Methodologies
for modeling systems and development of presentation materials are discussed,
and students are required to make both written and oral presentations.
2.0 hours discussion, 2.0 hours activity.
This course is the same as ECE 180 which may be substituted.
CSCI 189
Industry Internship 1.0-3.0 Fa/Spr
Prerequisites: CSCI 151, faculty permission.
This internship is offered as 189A-C for 1.0-3.0 units respectively. Students
must register directly with a supervising faculty member. Credit/no credit
grading only.
CSCI 190
Directed Programming Experience 1.0-3.0 Fa/Spr
Prerequisites: CSCI 151.
This course is special topic programming experience offered as 190A-C,
for 1-3 units respectively. You must register directly with a supervising
faculty member. Directed experience in programming systems and applications,
weekly conferences, limited to a maximum of 4 units during degree program.
Projects may consist of from one to 10 students working on software development
teams. Credit/no credit grading only.
CSCI 199
Special Problems 1.0-3.0 Fa/Spr
This course is a special topic offered as 199A-C, for 1-3 units respectively.
You must register directly with a supervising faculty member. Special problems
in computer science. Limited to a maximum of 4 units during degree program.
Credit/no credit grading only.
CSCI 211
Object-Oriented Analysis & Design 3.0 Spring
Prerequisites: Object-oriented programming experience.
This class is complementary to classes in Object-Oriented Programming (OOP).
The focus will be on object-orientation in the earlier phases of the software
life cycle: object-oriented analysis (OOA), which creates models of the
world based on objects and object-oriented design (OOD), which relates
specifically to the design of software. The close relationship between
OOA, OOD, and OOP will be examined. Use of the Unified Modeling Language
(UML) and Design Patterns will be applied. Formerly CSCI 311.
CSCI 215
Object-Oriented Programming 3.0 Fall
Prerequisites: CSCI 151.
This class focuses on object-oriented programming using large class libraries
and interactive programming environments. The course centers on good object-oriented
design and implementation by addressing these issues with examples throughout
the semester. Students will experience the development environment and
extensively use the library of at least one object-oriented programming
language. Topics include the proper use of inheritance and model/view/controller
distinctions, various issues concerning multithreaded systems, I/O, exception
handling, and distributed computing.
CSCI 222
Expert Systems and Applications 3.0 Spring
Prerequisites: CSCI 015B.
The basic concepts and techniques of expert systems. Emphasis is on the
reasoning behind expert system design, practical problem solving (comparisons
and use of expert system shell implementations), and advanced problem solving
techniques such as those employed in machine learning and knowledge acquisition.
CSCI 223
Artificial Intelligence 3.0 Fall
Prerequisites: Grade of C- or better in CSCI 151.
An introduction to the basic principles, techniques, and applications of
Artificial Intelligence. Coverage includes knowledge representation, logic,
inferencing, problem solving, search algorithms, game theory, perception,
learning, planning, and agent design. Students will program with AI language
tools. Additional areas may include expert systems, machine learning, natural
language processing, and computer vision.
CSCI 224
Robotics and Machine Intelligence 3.0 OddFall
This course introduces students to the field of robotics by emphasizing
the task of endowing machines with intelligence. Topics include various
case studies of robot architectures and algorithms that facilitate embodying
a robot with behaviors that are triditionally associated with human cognition
(e.g., perception, reasoning, intelligent navigation, vision, learning,
etc.). Students conduct research and experiments with robotics hardware
and software. 2.0 hours lecture, 2.0 hours activity.
CSCI 231
Computer Graphics Programming 3.0 Fall
Prerequisites: CSCI 151.
This course covers algorithms and data structures in computer graphics.
Topics include output primitives and their attributes, 2-D and 3-D geometric
transformations and viewing, 3-D object modeling, parallel and perspective
projections, visible surface detection, illumination models, and rendering
algorithms.
CSCI 232
Graphical User Interface Design 3.0 Fall
Prerequisites: CSCI 151.
Design of graphical user interfaces. Topics include issues, theories, principles,
and guidelines in human-computer interaction; user interface design considerations
and strategies; and techniques for evaluating user interfaces.
CSCI 233
Graphical User Interface Implementation 3.0 Spring
Prerequisites: CSCI 151.
Implementation of graphical user interfaces using object-oriented programming.
Topics include event handling, the use of color, graphics contexts, text,
fonts, and dialog design.
CSCI 240
Computer Animation 3.0 Fa/Spr
Prerequisites: CSCI 040 and CSCI 140 or permission of instructor.
For both majors and non-majors. The concepts of computer imaging and animation
are taught in this project-based class. Focus is on the principles of animation
and how they apply to current computer animation techniques. This class
emphasizes both creative and technical skills. 1.0 hour discussion, 4.0
hours activity.
CSCI 241
Advanced Animation Production 3.0 Fa/Spr
Prerequisites: CSCI 040, CSCI 140, CSCI 240.
The computer animation production process is taught in this class. Working
from a script, storyboard, and/or animatic, students complete an animated
short with accompanying sound, music, and visual effects. Emphasis is
on working as a member of a computer animation team, similar to a real-world
production facility. 1.0 hour discussion, 4.0 hours activity.
CSCI 245
Web Programming Fundamentals 3.0 Spring
Prerequisites: CSCI 151.
This course is a comprehensive introduction to the major technologies used
in the construction of interactive, client-server Web sites. Emphasis is
placed on the protocols and standards used for exchanging data between
the client and server programs. Both client and server side implementation
methods are discussed using programming and scripting languages for the
creation of dynamic Web pages. The use of direct client-to-server network
communication, performance implications for implementation technologies,
and techniques for increasing Web site security are discussed.
CSCI 250
Compiler Design 3.0 Fa/Spr
Prerequisites: CSCI 015B.
The elements of lexical, syntactical, and semantic analysis including finite
and push-down automata, top-down and bottom-up parsing, error detection
and recovery, semantic actions and code generation.
CSCI 256
Theory of Computing 3.0 Fa/Spr
Prerequisites: MATH 120.
An introduction to formal languages, grammars, and automata theory with
unsolvable problems.
CSCI 257
Fundamental UNIX System Administration 3.0 Spring
Prerequisites: CSCI 157 or permission of instructor.
This course guides students through the fundamental responsibilities of
UNIX system administration. Topics include file system monitoring, file
and directory archiving, user account management, shutdown and rebooting
sequences, system backups, system log responsibilities, and basic system
security. Projects focus on the creation of shell scripts to automate system
administration tasks. 2.0 hours discussion, 2.0 hours activity.
CSCI 270
Systems Design 3.0 Fall
Prerequisites: CSCI 112.
Methods related to the functional design of complex computer systems. Emphasis
is on the project-team design approach. Operational criteria, system feasibility,
requirements, and cost tradeoffs. Integration of personnel, equipment,
hardware, and software.
CSCI 272
Multi-User Operating Systems 3.0 Fall
Prerequisites: CSCI 152 or permission of instructor.
An analysis of multi-user operating systems, to include an in-depth study
of current techniques used by a specific multi-user OS.
CSCI 273
Database Management 3.0 Fa/Spr
Prerequisites: CSCI 015B.
This course provides an introduction to the theory and methodology for
database design and implementation. Topics may include a survey/lecture
component as well as a project component. The survey component covers entity-
relationship modeling, relational algebra and calculus theories, data definition
and data manipulation languages such as SQL, file structures, transactions,
concurrency control, recovery, tuning and optimization, and object-oriented
databases. The project entails requirements definition, design, and implementation
of a database application.
CSCI 276
Advanced Database Management Systems 3.0 Fall
Prerequisites: CSCI 273 or MINS 118.
Course topics include database application programming using a high performance,
high concurrency multi-user database management system. This course covers
the SQL programming language including Data Definition Language, Data Manipulation
Language, and Data Control Language. The course then focuses on a procedural
database programming language including control structures, composite datatypes,
explicit cursors, exception handling, and writing embedded SQL applications.
2.0 hours discussion, 2.0 hours activity.
CSCI 277
Advanced Network Management 3.0 Spring
This course covers advanced network management concepts and implementations
including a network operating system, workstation management, and domain
administration. Coverage also includes TCP/IP administration and router/hub
management. The course provides hands-on experience on network management
in a laborary environment.
CSCI 278
Computer Networks 3.0 Fa/Spr
Prerequisites: CSCI 152.
Covers the concepts, vocabulary, design issues, and techniques currently
used in the area of computer networks. Topics include history and evolution,
transmission media, interconnection topology, control methods, protocols,
types of nodes, network interfaces, performance analysis, diagnosis and
maintenance, taxonomy, bridges, and gateways. Case studies of existing
state-of-the-art networks are included.
CSCI 280
Digital Logic Design Theory 3.0 Spring
Prerequisites: CSCI 171.
An introduction top-down design of hardware for digital systems. Understanding
the problem and developing a systematic solution for the systems data
path architecture and its sequential control circuits are emphasized. Students
will design and simulate useful digital systems using a Computer-Aided
design tool.
CSCI 298
Advanced Topics in Computer Science 1.0-3.0 Fa/Spr
This course is a special topic offered as 298A-C for 1.0 to 3.0 units respectively.
Exploration of selected topics in computer science. Consult semester schedules
for specific listings. Credit/no credit grading only.
CSCI 299H
Honors Research Project/Thesis 3.0 Fa/Spr
Prerequisites: Open only to juniors and seniors in the major.
Open by invitation to computer science majors with a GPA of 3.5 or higher
in the major. This Honors in the Major course focuses on the development
of a creative research project in computer science, its presentation, discussion
of relevant research materials, and the reporting of findings.
CSCI 309
Topics in Programming Language Theory 3.0 Inquire
Prerequisites: Classified graduate standing.
Further study of selected advanced topics in programming language theory
as presented in recently published journals; possible emphasis on research
interests and/or projects of faculty in the department.
CSCI 310
Software Metrics and Control 3.0 Inquire
Prerequisites: Classified graduate standing.
Software development: planning, cost estimation, and control. Software
metrics, configuration management, and quality controls. Reviews and walkthroughs.
CSCI 312
Software Engineering 3.0 Fall
Prerequisites: CSCI 112 and classified graduate standing.
In-depth study and application of the planning, design, implementation,
and management of complex software systems. Topics include requirements
engineering, formal specifications, object-oriented analysis, design patterns,
and peopleware. Teams of students will implement a large software project
using a cutting edge software engineering approach.
CSCI 315
Distributed Computing 3.0 Spring
Prerequisites: CSCI 215 and classified graduate standing.
This course focuses on distributed computing using the object-oriented
paradigm, large class libraries, and the interactive programming environment.
The course is designed to prepare the student to do commercial enterprise
development. Topics may include object serialization, beans, multithreading,
networking, remote objects, database connectivity, servlets, and client/server
programming with enterprise and application servers.
CSCI 319
Topics in Software Engineering 3.0 Inquire
Prerequisites: Classified graduate standing.
Further study of selected advanced topics in software engineering as presented
in recently published journals; possible emphasis on research interests
and/or projects of faculty in the department.
CSCI 322
Programming in Artificial Intelligence 3.0 EvnSprg
Prerequisites: CSCI 223 and classified graduate standing.
This course includes writing new programs and extending previously implemented
AI systems. Topics include the constructs of an AI programming language
and studies in conjunction with expert system shell development, constraint
propagation systems, inference engines, and others.
CSCI 323
Theory of Artificial Intelligence 3.0 OddSprg
Prerequisites: CSCI 223 and classified graduate standing.
An in-depth study of current techniques, applications, and issues in artificial
intelligence. Suitable topics include advanced knowledge representation;
natural language understanding; machine learning; theory of functional
programming; cognitive science; neural networks; philosophy and artificial
intelligence.
CSCI 329
Topics in Artificial Intelligence 3.0 Inquire
Prerequisites: Classified graduate standing.
Further study of selected advanced topics in artificial intelligence as
presented in recently published journals; possible emphasis on research
interests and/or projects of faculty in the department.
CSCI 331
Computer Graphics 3.0 Spring
Prerequisites: CSCI 231 and classified graduate standing.
Advanced topics in computer graphics, including hierarchical models and
scene graphics, texture and bump mapping, compositing, antialiasing, representation
and rendering of curves and surfaces, physically based models and particle
systems, fractals, and techniques used in scientific visualization.
CSCI 332
Digital Image Processing 3.0 EvnSprg
Prerequisites: Classified graduate standing.
Explores the field of digital image processing, providing an overview of
its many areas of application and delving into the details of a select
set of algorithms. Topics include imaging, digital images, basic image
manipulation, grey level and color enhancement, neighborhood operations,
the frequency domain, geometric operations, segmentation, morphological
image processing, and image compression.
CSCI 339
Topics in Computer Graphics 3.0 Inquire
Prerequisites: Classified graduate standing.
Further study of selected advanced topics in computer graphics as presented
in recently published journals; possible emphasis on research interests
and/or projects of faculty in the department.
CSCI 349
Topics in Networking 3.0 Inquire
Prerequisites: Classified graduate standing.
Further study of selected advanced topics in networking as presented in
recently published journals; possible emphasis on research interests and/or
projects of faculty in the department.
CSCI 350
Compiler Theory 3.0 Fall
Prerequisites: CSCI 250 and classified graduate standing.
Compile and run-time organization for major language structures such as
records, arrays, and control structures. Optimization techniques include
peephole, common subexpression elimination, constant folding, reduction-in-strength,
code motion, loop unrolling, register tracking, generating code from trees,
and generating code from DAGS.
CSCI 356
Design and Analysis of Algorithms 3.0 Fall
Prerequisites: CSCI 151, MATH 120, and classified graduate standing.
Algorithms from many areas of computer science will be analyzed. Topics
include algorithm design techniques (such as divide-and-conquer, greedy
algorithms, dynamic programming, and others), mathematical and empirical
analysis of algorithms and NP-completeness.
CSCI 359
Topics in Computer Theory 3.0 Inquire
Prerequisites: Classified graduate standing.
Further study of selected advanced topics in computer theory as presented
in recently published journals; possible emphasis on research interests
and/or projects of faculty in the department.
CSCI 369
Topics in Computer Architecture 3.0 Inquire
Prerequisites: Classified graduate standing.
Further study of selected advanced topics in computer architecture as presented
in recently published journals; possible emphasis on research interests
and/or projects of faculty in the department.
CSCI 372
Operating Systems 3.0 Spring
Prerequisites: CSCI 152 and classified graduate standing.
In-depth study of operating systems concepts including results from recent
research. Topics may include processes, threads, virtual memory, file systems,
distributed computing, scheduling, protection, and communication protocols.
Students may be required to implement operating system projects.
CSCI 374
Distributed Database Management Systems 3.0 Inquire
Prerequisites: Classified graduate standing.
This course covers the theory, algorithms, and methods that underlie distributed
database management systems. Emphasis is placed on design issues, query
decomposition and optimization, transaction management, concurrency and
reliability, and current trends in distributed DBMSs.
CSCI 379
Topics in Database Systems 3.0 Inquire
Prerequisites: Classified graduate standing.
Further study of selected advanced topics in database systems as presented
in recently published journals; possible emphasis on research interests
and/or projects of faculty in the department.
CSCI 380
Computer Architecture 3.0 Spring
Prerequisites: CSCI 171 and classified graduate standing.
Provides a thorough and fundamental treatment of the art of computer architecture.
Topics include concepts of von Neumann architectures, methods of evaluating
CPU performance, instruction-set design and examples, compiler issues,
instruction pipelining, superscalar processors, methods for reduction of
branch penalty, memory hierarchies, I/O systems, floating-point arithmetic,
and current issues in parallel processing.
CSCI 397
Seminar in Advanced Topics 1.0-3.0 Inquire
This course is a seminar offered as 397A-C, for 1-3 units respectively.
Typical subjects in past semesters have included microprogramming theory,
operating system development, software engineering principles, data communications,
analysis of algorithms, and program optimization. Consult The Class Schedule
for listing and prerequisites. 3.0 hours supervision, 2.0 hours activity.
CSCI 398
Independent Study 1.0-6.0 Fa/Spr
Prerequisites: Classified graduate standing.
This course is an independent study offered as 398A-F, for 1-6 units respectively.
You must register directly with a supervising faculty member. Independent
study and investigation of special problems in students area of concentration.
Both registration and study plan must have approval of the instructor and
the students graduate advisory committee chair. Credit/no credit grading
only.
CSCI 399
Masters Study 1.0-6.0 Fa/Spr
Prerequisites: Classified graduate standing and completion of graduate
literacy requirement.
This course is a masters study offered as either a Masters Thesis, identified
as 399A-F for 1.0 to 6.0 units respectively, or as a Masters Project,
identified as 399G-L for 1.0 to 6.0 units respectively. You must register
directly with a supervising faculty member. Independent study and investigation
of special problems in students area of concentration. Both registration
and study plan must have approval of the instructor and the students graduate
advisory committee chair. Masters Study (399) courses earn a Credit grade
upon completion.
|