|
|

Department of Mathematics and Computer Science
College of Science
Office: North Science 335
Phone: (510) 885-3414
Student Service Center: North Science 337
Phone: (510) 885-4011
|
|
|
|
|
|
Professors Emeriti
Edward L. Keller, Ph.D. University of Michigan
Christopher L. Morgan, Ph.D. Brandeis University
William R. Nico, Ph.D. University of California, Berkeley
Bruce E. Trumbo, Ph.D. University of Chicago
Professors
Edward A. Billard, Ph.D. University of California, San Diego
Kevin A. Brown, Ph.D. University of South Carolina
Kevin E. Callahan (Chair), Ph.D. University of California, San Diego
James S. Daley, Ph.D. University of California, Berkeley
Julie S. Glass, Ph.D. University of California, Santa Cruz
Kathleen Hann, Ph.D. University of California, Davis
Gary E. Lippman, Ph.D. University of California, Riverside
Michael K. Mahoney, Ph.D. University of California, Santa Barbara
Massoud Malek, Ph.D. University of Houston
Edna E. Reiter, Ph.D. University of Cincinnati
Istvan Simon, Ph.D. Stanford University
Stuart Smith, Ph.D. University of California, Berkeley
William Thibault, Ph.D. Georgia Institute of Technology
Donald L. Wolitzer, Ph.D. Northeastern University
Ytha Y. Yu, Ph.D. University of California, Berkeley
Associate Professors
Jagdish Bansiya, Ph.D. University of Alabama, Huntsville
Leann Christianson, Ph.D. University of South Carolina
Levent Ertaul, Ph.D. University of Sussex (United Kingdom)
Lynne L. Grewe, Ph.D. Purdue University
Hilary J. Holz, D.Sc. George Washington University
C. Matthew Johnson, Ph.D. College of William and Mary
Dan Jurca, Ph.D. Northwestern University
Chung-Hsing Ou Yang, Ph.D. University of California, Berkeley
Farzan Roohparvar, Ph.D. Iowa State University
David Yang, Ph.D. Columbia University
Assistant Professors
Roger W. Doering, Ph.D. University of California, Berkeley
Madhavi D. Gandhi, Ph.D. University of California, Davis
Julia Olkin, Ph.D. Rice University
Ellen Veomett, Ph.D. University of Michigan
Shirley Yap, Ph.D. University of Pennsylvania
Lecturers
Susan Benjamin, M.S. California State University, Hayward
Jack A. Carter III, Ph.D. University of Texas
Francis Conlan, Ph.D. University of California, Davis
Michael A. Contino, M.A. Villanova University
Dorothy E. Fujimura, M.S. University of Illinois
Philip D. Gonsalves, B.S. California State University, Hayward
Ching-Cheng Lee, Ph.D. University of London (England)
Denise Sargent-Natour, M.A. Wayne State University
Jean Simutis, Ph.D. University of California, Davis
Vincent Slivinsky, Ph.D. The Pennsylvania State University |
Graduate Coordinator: Donald L. Wolitzer
Please consult the 2010-2011 online catalog for any changes
that may occur.
|
|
|

Program Description
The Mathematics and Computer Science Department offers graduate study
leading to the degree of Master of Science in Computer Science. This
program is designed to extend the student's knowledge in a broad manner
beyond the baccalaureate degree major in Computer Science. It will both
(1) deepen general understanding of theoretical principles and (2)
provide specific professional background. This approach is especially
important in Computer Science, where training in specific languages and
systems and on specific machines is transitory, as these languages,
systems, and machines evolve. In contrast, many of the principles will
last and generally apply to a wide variety of specializations within
the field. This breadth is important to individual students because
many of them will have a number of different job classifications in
their working lives.
Our program features small classes that allow for close contact between
students and faculty. Most graduate classes are offered in the late
afternoon or early evening, making it possible for working students to
attend. Courses toward the M.S. degree may also be taken during the
summer quarter. Students may begin their studies in any one of the four
quarters.
Students interested in the M.S. degree program in Computer Science
should speak with the Computer Science Graduate Coordinator. The
Math/Computer Science and Accounting/Computer Information Systems
Departments offer an interdisciplinary Master of Science degree program
in Telecommunication Systems.
Student Learning Outcomes
Students graduating with an M.S. in Computer Science from Cal State
East Bay will have acquired the knowledge and skills listed below.
|
|
|
|
|
|
| 1. |
Technical competence to: (a) design and implement large and
complex computer programs, (b) use data structures in program design,
(c) know and use modern programming techniques, and (d) use software
engineering design principles;
|
| 2. |
A fundamental understanding of Computer Science theory
including: (a) mathematical problem solving skills, (b) design and
analysis of a wide variety of algorithms, (c) understanding of computer
architecture and operating system concepts, (d) analysis of programming
languages;
|
| 3. |
Able to work effectively as a team member;
|
| 4. |
An understanding of their professional and ethical
responsibilities and appreciation of the impact of computer science
solutions in the societal context;
|
| 5. |
Able to communicate effectively, both in written and oral
form.
|
Career Opportunities
Systems Analyst • Program Analyst or Designer • Systems Manager or
Programmer • Scientific Applications Programmer • Computer Operations
Manager • Graphics Specialist • Software Engineer • Programming Team
Member, possibly specializing in Design, Testing, or Documentation •
Computer Network Support • Database Applications Programmer or
Administrator • Computer Sales Representative • Customer Support •
Technical Writer • Teacher/Professor
Faculty
The faculty of the Mathematics and Computer Science Department hold
doctorates in a wide variety of areas. They have a strong commitment to
high quality teaching, and have interests in fields such as computer
graphics, networks, numerical analysis, compiler design, computer
simulation, parallel programming, computer architecture, automata,
multimedia, cryptography, computational complexity, language design and
implementation, graph theory, microcomputer architecture, and database
systems.
Features
Computer Science students at Cal State East Bay have access to some of
the most modern and powerful computer equipment available. The campus
provides a network backbone, including connection to the Internet, and
hundreds of personal computers. The department also has equipment of
its own, including a network of Unix workstations and classrooms
equipped for computerized demonstrations. Several computer labs on
campus offer terminal access and assistance with problems.
Cal State has an active Computing Club, which hosts industry tours as
well as academic and social events and is involved with a number of
ongoing projects.
Scholarships
Each year the department awards a number of scholarships covering a
large portion of the fees for the subsequent year. Scholarship
applications may be obtained from the department office during the
Winter quarter.
Admission
To apply for admission to the Master of Science program in Computer
Science, a student must submit the proper forms, fees and transcripts
to the university's Office of Admissions, which reviews each
application initially. The department then reviews the application,
making the decision whether to accept or reject the applicant. Each
applicant must have the score on the general portion of Graduate Record
Examination (GRE) submitted directly to the department. Submission of
scores on the Computer Science portion is optional.
A student wishing to enter this program must normally have an
undergraduate degree in Computer Science or in a related field, with
courses in Computer Science as indicated below, and must have a grade
point average of 2.75 in all undergraduate work and a 3.00 grade point
average in the Computer Science Core and Mathematics courses listed
below.
|
|
|
|
|
|
| Computer Science Admission Requirements |
Twenty-eight (28) quarter units (7 courses) of upper division Computer
Science coursework that covers a broad range of Computer Science and
includes the following four courses or their equivalents.
|
|
|
|
|
|
|
CS 3120 Programming Language Concepts
CS 3240 Data Structures and Algorithms
CS 3430 Computer Architecture
CS 4560 Operating Systems
|
Successful completion of equivalents to all the following mathematics
requirements is also required.
|
|
|
|
|
|
| Mathematics Requirements for Admission |
|
A year of Calculus (MATH 1304, 1305, 2304)
Linear Algebra (MATH 2101)
Discrete Structures (MATH 2150)
An upper division course in Probability or Statistics (STAT 3401, 3502,
or 3601)
|
A student who has not met all of the above requirements may be admitted
to the program at the discretion of the department as a "Conditionally
Classified Graduate" student, provided the student's record clearly
demonstrates the capability of meeting all these requirements.
No more than 20 quarter units taken while in "Conditionally Classified
Graduate" status may be applied to the degree. Note that courses used
to make up deficiencies for admission may not be applied toward the
master's degree. A "Conditionally Classified Graduate" student who has
no course deficiencies, a "B" or better average in at least 12 quarter
units of post-baccalaureate study, and has satisfied the University
Writing Skills requirement should petition the graduate coordinator for
admission to the master's degree program with "Classified Graduate"
status. A maximum of 13 units taken as an "Unclassified
Post-baccalaureate" student may be applied to a master's degree.
Advancement to Candidacy
Advancement to Candidacy is a university requirement for graduation for
a master's degree program. A student with "Classified Graduate" status
may apply for Advancement to Candidacy after completing at least 16
quarter units towards the master's degree with a "B" average, including
at least two 6000 level Computer Science courses with a "B" or better
average.
Before being Advanced to Candidacy, a student's complete course of
study must be approved by the Computer Science Graduate Committee.
The following departmental requirements are in addition to the
university requirements.
|
|
|
|
|
|
| A. |
Research Methodologies Requirement (2 units) |
|
CS 6000 Research Methodologies (2)
|
| B. |
Breadth Requirement (24 units) |
|
CS 6260 Computation and Complexity (4)
CS 6560 Operating Systems Design (4)
At least two courses from each of the following two
categories (16 units):
|
|
1. |
Development/Theory |
|
CS 6140 Language Design (4)
CS 6170 Automata and Formal Languages (4)
CS 6310 Advanced Software Engineering (4)
CS 6320 Software Engineering of Web-based Systems (4)
CS 6360 Formal Specification and Verification (4)
CS 6520 Cryptography and Data Security (4)
CS 6522 Advanced WWW Software Development (4)
CS 6715 Data Compression (4)
CS 6810 Topics in Artificial Intelligence (4)
CS 6820 Machine Learning (4)
CS 6830 Genetic Algorithms and Evolutionary Programming (4)
CS 6870 Computer Simulation (4)
MATH/CS 6750 Topics in Numerical Analysis (4)
|
|
2. |
Systems/Architecture |
|
CS 6110 Theory and Design of Compilers (4)
CS 6430 Computer System Architecture (4)
CS 6432 VLSI Systems Design (4)
CS 6525 Network Security (4)
CS 6570 Distributed Computation (4)
CS 6580 Distributed Systems (4)
CS 6660 Database Systems (4)
CS 6752 Digital Signal Processing (4)
CS 6825 Computer Vision (4)
CS 6835 Statistical Pattern Recognition (4)
|
| C. |
Capstone Experience (0-5 units). Select (1) or (2)
|
|
1. |
A comprehensive written examination. Details are available in
Mathematics/Computer Science Department,
|
|
2. |
A Departmental Thesis (CS 6909). Students who write a thesis
must have an advisor who agrees to oversee the work, and must have the
proposed topic approved by the Computer Science Graduate Studies
Committee.
|
| D. |
Electives (14-19 units) |
|
The following courses (or their equivalents) may be counted
toward the master's degree:
|
|
MATH 3151 Combinatorics
MATH 4151 Graph Theory
Any graduate course in Computer Science (except CS 6899) may be applied
to this category. Any Computer Science course numbered 3000 (except
3898) or higher, provided it has not been already applied toward a B.S.
degree or toward prerequisites for admission. This restriction includes
equivalent courses from other degree programs; exceptions require the
approval of the Computer Science Graduate Committee.
|
| E. |
Courses equivalent to CS 4170/6170 (Automata and Formal
Languages) and CS 4245 (Analysis of Algorithms) if not completed before
admission to the M.S. program.
|
| F. |
Unit and Grade Requirements |
|
At least 45 quarter units of approved upper division and
graduate work. Of these, at least 26 units must be approved graduate
(6000-level) courses. All work toward the 45 units must be at an
average grade of "B" (3.0) or higher. Grades below "C-" will not be
counted as prerequisites or toward the degree. |
|
|
|

|
|
The
course prefix for the following courses is CS.
|
6000
|
Research Methodologies (2)
Seminar in recent research in Computer Science. Use of periodical and
non-periodical literature for research in computer science. Students
read, analyze, present, and discuss papers of current interest in
Computer Science. Prerequisite: "Classified Graduate" standing in
Computer Science M.S. degree program and permission of instructor.
|
6005
|
Teaching Computer Science at the University Level (1)
Theory, methodology, and practical experience in the teaching of
computer science at the university level. Includes discussion of
lecturing techniques, analysis of tests and supporting material,
preparation and grading of examinations, and related topics. Required
of departmental teaching associates. Prerequisites: graduate
standing and permission of department. May be repeated for credit, but
only two units can be used toward the M.S. degree.
|
6110
|
Theory and Design of Compilers (4)
Grammars and parsing techniques, advanced theory and methods of code
generation, code optimization, error recovery, use of
compiler-generator tools. Prerequisite: CS 4110.
|
6140
|
Language Design (4)
Topics in design and use of programming languages: object-oriented
languages, functional and applicative languages. Exception handling,
parallel processing and concurrency control. Fourth generation
languages. Prerequisites: CS 3120 and 4110.
|
6170
|
Automata and Formal Languages (4)
Alphabets, strings and languages; Chomsky hierarchy and language
classes; regular languages, finite automata, regular expressions and
operators; context-free languages, grammars, pushdown automata;
context-sensitive languages; Turing machines and decidability. Prerequisites:
MATH 2101, MATH 2150, MATH 2304.
|
6260
|
Computation and Complexity (4)
Languages and algorithms; decision problems; Turing machines and
Turing-Completeness; decidability; measures and classes of time and
space complexity (e.g., P, NP, PSPACE); NP-Completeness. Prerequisites:
CS/MATH 4170 (or CS 6170) and CS/MATH 4245; or permission of
instructor. Cross-listed with MATH 6260.
|
6310
|
Advanced Software Engineering (4)
Advanced concepts of object-oriented and architectural design, along
with implementation. Pattern-based design of software using the Unified
Modeling Language. Design patterns as re-usable architecture. Prerequisite:
CS 3340.
|
6320
|
Software Engineering of Web-Based Systems (4)
Current practices and trends in software design, development, and
deployment of web-based systems, with particular emphasis on
e-commerce. Projects include the latest technologies and techniques
used by the Internet community. Prerequisites: CS 3520, CS 3340; or
permission of instructor.
|
6360
|
Formal Specification and Verification (4)
Use of formal methods for program specification and verification.
Techniques for proving program or specification correctness. Use of one
or more tools for theorem proving or model checking and their
associated specification languages. Prerequisites: CS 3240 and MATH
2150 (or upper division mathematics course in which theorems are
proved).
|
6430
|
Computer System Architecture (4)
Processor design: register transfer, processor control,
microprogramming. Design of instruction sets. Pipelining.
Microprocessor-based architectures. RISC architectures. Memory
hierarchies and organization: cache, RAM, mass storage. Addressing
mechanisms, I/O organization: polling, interrupts, DMA. Highly parallel
architectures. Prerequisites: CS 3430; CS 3432 and/or CS 3434
recommended.
|
6432
|
VLSI Systems Design (4)
The use of a highly integrated suite of CAD (Computer Aided Design)
tools to design and test a bit-sliced microprocessor that implements
concepts from CS 6430. Prerequisites: CS 4432 and 6430 or consent
of instructor. Three hrs. lect., 3 hrs. lab.
|
6520
|
Cryptography and Data Security (4)
Cryptographic theory with applications to data and file access
security. Substitution ciphers, stream and block cyphers, algebraic
codes, error correcting codes, Shannon's theorem. Cryptosystems,
including public key. The Data Encryption Standard. Issues of privacy,
authenticity, integrity. Implementation issues, including key
management and chaining. Prerequisites: CS 4560, CS 4170 or 4245,
and a course in probability; or permission of instructor.
|
6522
|
Advanced WWW Software Development (4)
Advanced WWW system architecture and software development. Database
access, 2- and 3-tier systems, objects and components, ORB, CORBA, COM,
ActiveX, Java Beans. Programming exercises. Prerequisites: CS 3340
and either CS 3520 or TC 3320; or permission of instructor.
|
6525
|
Network Security (4)
Principles of secure network communications. Techniques of
authentication and identification, cryptographic key distribution and
management, assurances of data integrity. Access control. Security
policy; conformance of implementation to policy. Discussion of
particular systems, protocols, and utilities, e.g., Kerberos,
firewalls, various commercial standards. Prerequisite: CS 4590.
|
6526
|
Security in Wireless, Mobile, Grid and Pervasive
Computing (4)
Comprehensive new topics in Wireless, Mobile, Grid and Pervasive
Computing which includes IEEE 802.11 Wireless Security, Security in
Mobile Telecom Networks (GPRS, UMTS), Security in Mobile Ad Hoc
Networks (MANETs), Security in Vehicular Ad Hoc Networks (VANETs),
Security in Wireless Sensor Networks (WSN), Bluetooth Security, VoIP
Security, Grid Security and Mobile Agents Security. Prerequisites:
CS 4525, 6520, 6525.
|
6560
|
Operating Systems Design (4)
Theory of operating systems. Process synchronization, concurrency,
resource management, security, performance evaluation, analytic models,
human interfaces. Implementation issues. Prerequisite: CS 4560.
|
6570
|
Distributed Computation (4)
Classical problems which abstract real-world network problems. Process
synchronization and communication using message-passing systems. Topics
may include mutual exclusion, leader election, global snapshots,
Byzantine generals, consensus, shared registers, common knowledge and
distributed spanning trees. Prerequisite: CS 4560.
|
6580
|
Distributed Systems (4)
Issues in the design and implementation of distributed systems. Network
layers, architectures, and topologies. Distributed process management,
concurrency control, deadlock, and recovery. Prerequisites: CS 4560
and 4590.
|
6591
|
Communication Network Analysis and Design (4)
The practice of network analysis and design. Topics include estimation
of traffic demand, requirements specification, topology design, network
cost analysis, routing, wired and wireless technologies, design tools,
fault tolerance, and design of a LAN or WAN. Prerequisite: CS 4590.
|
6592
|
Network Management (4)
Computer network management concepts, protocols, and industry
standards. SNMP, CMIP, and web management. Management applications
including fault, performance, configuration, accounting, and security
management. Management tools and network modeling. Prerequisite: CS
4590.
|
6596
|
Wireless and Mobile Network Architecture (4)
Wireless network architectures including cellular, WLAN, and satellite
systems. Signal propagation models and reception techniques. Mobile
computing issues including location management, routing, transport, and
mobile application design. Prerequisites: CS 3590; graduate
standing. Not open to students with credit for CS 4596.
|
6660
|
Database Systems (4)
Design issues in current database systems: data models, storage
management and access, distributed systems, query languages and query
optimization, database integrity and security, encryption and
decryption, concurrency control. Prerequisites: CS 4560, and 4660.
|
6665
|
Database Systems Administration (4)
Database system architecture and issues in administration. Advanced
techniques in database security, object management, performance
analysis, SQL tuning, backup and recovery. Hands on experience
administering an Oracle database. Prerequisite: CS 4660.
|
6715
|
Data Compression (4)
Algorithms for data compression, Huffman coding, arithmetic coding,
Lev-Zimpel coding. Adaptive variations of compression algorithms.
Lossless and lossy compression. Transform methods and image
compression. Coding theory and information-theoretic bounds.
Applications to data transmission. Prerequisite: CS 3240, STAT 3401
or STAT 3502.
|
6750
|
Topics in Numerical Analysis (4)
(See MATH 6750 for course description.)
|
6752
|
Digital Signal Processing (4)
Linear systems and complex numbers, Fourier and Z transforms, A/D and
D/A conversion techniques, Discrete Fourier Transform, Fast Fourier
Transform, linear prediction, digital filters, speech processing. Prerequisites:
MATH 1304, MATH 2101, CS 3240.
|
6810
|
Topics in Artificial Intelligence (4)
Knowledge representation and reasoning. Theory and advanced programming
techniques. Topics selected from areas of expert systems, natural
language processing, image understanding, machine learning, games, and
robotics.
|
6820
|
Machine Learning (4)
Advanced topics in Artificial Intelligence, including induction,
decision trees, ensemble learning; current-best-hypothesis search,
knowledge representation, explanation-based learning, relevance
information, inductive logic programming; Bayesian networks,
instance-based learning; neural networks and genetic algorithms;
reinforcement learning, and adaptive dynamic programming. Prerequisite:
CS 4810 or 6810.
|
6825
|
Computer Vision (4)
Mathematical and algorithmic approaches to the problem of computing
properties of the 3-D world from one or more digital images. Imaging,
image processing, feature detection, calibration, stereopsis, motion,
object recognition, tracking. Prerequisites: MATH 2101, 2034; CS
3240.
|
6835
|
Statistical Pattern Recognition (4)
Fundamentals of characterizing and recognizing patterns in numerical
data. Signal recognition problems in user modeling; affect recognition,
speech recognition and understanding, and more. Topics include:
decision theory, statistical classification, maximum
likelihood/Bayesian estimation, non-parametric methods, unsupervised
learning, and clustering. Prerequisites: ability to program and
STAT 3601 or equivalent. Cross-listed with STAT 6835.
|
6865
|
Topics in Graphical User Interface Programming (4)
Topics from event-driven programming using a windowed Graphical User
Interface environment and Rapid Application Development tools. Standard
control objects and more. Interaction design issues and human-computer
interaction. Prerequisite: CS 3340.
|
6870
|
Computer Simulation (4)
Introduction to construction and analysis of models by computer
simulation. Study of one discrete and one continuous simulation
language. Application to modeling biological, industrial, and physical
processes. Prerequisites: MATH 3100, 3331, and a course in computer
programming. Cross-listed with MATH 6870.
|
6899
|
Project (5)
Development of an original telecommunications project which is
summarized in a written abstract. Both the project and the abstract are
submitted to the department which specifies their formats. Supervision
by a department committee, at least one of whom must be a Cal State
East Bay faculty member. Oral defense required. Prerequisite:
advancement to candidacy.
|
6900
|
Independent Study (1-4)
|
6909
|
Departmental Thesis (1-4)
Development and writing of a research paper for submission to the
department, which specifies its format. Supervision by a departmental
committee, at least one of which must be a Cal State East Bay faculty
member. Prerequisites: CS 6000, advancement to candidacy, and
approval of thesis proposal by advisor and departmental committee. May
be repeated for a maximum of 5 units. |
|