Cal State East Bay Catalog 2009-2010

Return to the front page of the catalog Search the catalog Mail us your feedback How to use the catalog
Graduate Programs

Computer Science
 * Department Information
 * M.S. in Computer Science
 * Other Degree Requirements
 * Graduate Courses
 * Footnote
Department Information

Department of Mathematics and Computer Science
College of Science
Office: North Science 335
Phone: (510) 885-3414







E-mail: mathcs@csueastbay.edu
Website: http://www.sci.csueastbay.edu/mathcs
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.
M.S. in Computer Science

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.
 






Degree Requirements
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.
Other Degree Requirements

In addition to departmental requirements, every student must also satisfy the university requirements for graduation which are described in the Graduate and Post-baccalaureate Studies chapter at the beginning of the graduate section of this catalog. These requirements include the 32-unit residence requirement, the five-year rule on currency of subject matter, the minimum number of units of 6000-level courses, the 3.00 GPA, and the University Writing Skills Requirement. For information on meeting the University Writing Skills Requirement, see the testing Web site at www.testing.csueastbay.edu or call 510.885.3661.
Graduate Courses



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.
 
6110Footnote HAYCAT-FOOTDIG  
 
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.
 
6140Footnote HAYCAT-FOOTDIG  
 
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.
 
6170Footnote HAYCAT-FOOTDIG  
 
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.
 
6260Footnote HAYCAT-FOOTDIG  
 
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.
 
6310Footnote HAYCAT-FOOTDIG  
 
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.
 
6360Footnote HAYCAT-FOOTDIG  
 
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).
 
6430Footnote HAYCAT-FOOTDIG  
 
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.
 
6520Footnote HAYCAT-FOOTDIG  
 
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.
 
6522Footnote HAYCAT-FOOTDIG  
 
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.
 
6525Footnote HAYCAT-FOOTDIG  
 
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.
 
6560Footnote HAYCAT-FOOTDIG  
 
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.
 
6570Footnote HAYCAT-FOOTDIG  
 
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.
 
6580Footnote HAYCAT-FOOTDIG  
 
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.
 
6591Footnote HAYCAT-FOOTDIG  
 
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.
 
6592Footnote HAYCAT-FOOTDIG  
 
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.
 
6596Footnote HAYCAT-FOOTDIG  
 
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.
 
6660Footnote HAYCAT-FOOTDIG  
 
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.
 
6715Footnote HAYCAT-FOOTDIG  
 
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.)
 
6752Footnote HAYCAT-FOOTDIG  
 
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.
 
6825Footnote HAYCAT-FOOTDIG  
 
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.
 
6870Footnote HAYCAT-FOOTDIG  
 
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.
Footnote

  Enrollment in these courses is restricted to "Classified" and "Conditionally Classified Graduate" students. Others may enroll with the permission of the department.
Return to the front page of the catalog Search the catalog Mail us your feedback How to use the catalog

© 2009 The California State University
Last Updated: December 1, 2008