Cal State Hayward Catalog 2004-2005

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
 * 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@csuhayward.edu
http://www.mcs.csuhayward.edu
Student Service Center: North Science 337
Telephone: (510) 885-4011
 
Professor Emeritus: Charles M. Marut
 
Professors: James S. Daley, Kathleen Hann, Edward L. Keller (Associate Chair), Gary E. Lippman, Massoud Malek, Russell L. Merris, Christopher L. Morgan, William R. Nico (Computer Science Coordinator), Edna E. Reiter (Chair), Istvan Simon, Stuart Smith, William Thibault, Bruce E. Trumbo, Donald L. Wolitzer, Ytha Y. Yu
 
Associate Professors: Jagdish Bansiya, Edward A. Billard, Kevin A. Brown, Kevin E. Callahan, Julie S. Glass, Dan Jurca, Thomas W. Roby, Farzan Roohparvar, Assim Sagahyroon
 
Assistant Professors: Leann Christianson, Roger W. Doering, Levent Ertaul, Madhavi Gandhi, Lynne L. Grewe, Hilary J. Holz, C. Matthew Johnson, Chung-Hsing OuYang, David Yang
 
Lecturers: Paula Albert, Jack A. Carter, Francis Conlan, Michael A. Contino, Dorothy E. Fujimura, Phil Gonsalves, Ching-Cheng Lee, David L. Pugno, Denise Sargent-Natour, Jean Simutis
 
Graduate Coordinator: Donald L. Wolitzer
 
 
Please consult the 2005-2006 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.
 
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 Hayward 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 (20 units)

CS 6260 Computational Complexity (4)
CS 6560 Operating Systems Design (4)
 
At least one course from each of the following three groups:
 

1.  Theory

CS 6140 Language Design (4), 6170 Automata and Formal Languages (4), 6245 Combinatorial Algorithms (4), 6360 Formal Specification and Verification (4), 6520 Cryptography and Data Security (4); MATH 6750 Topics in Advanced Numerical Analysis (4)
 

2.  Architecture

CS 6430 Computer System Architecture (4), 6580 Distributed Systems (4), 6585 Distributed and Client/Server Systems (4), 6825 Computer Vision (4)
 

3.  Systems

CS 6110 Theory and Design of Compilers (4), 6320 Software Engineering of Web-Based Systems (4), 6570 Distributed Computation (4), 6660 Database Systems (4), 6715 Data Compression (4), 6810 Topics in Artificial Intelligence (4), 6840 Principles of Computer Graphics (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 (18-23 units)

The following Cal State Hayward courses (or their equivalents) may be counted toward the master's degree:
 

MATH 3151 Combinatorics
MATH 4151 Graph Theory
 
All 3000-level (except for CS 3898), 4000-level and 6000-level Computer Science courses not used in categories (A), (B), and (C) above or as an admission requirement may be used as electives toward the master's degree.
 
E.  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.
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. (Y)
 
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. May be repeated for credit, but only two units can be used toward the M.S. degree. Prerequisites: graduate standing and permission of department.
 
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)
Deterministic and nondeterministic finite automata. Regular grammars, languages, and expressions. Kleene's Theorem, algebraic characterizations. Chomsky hierarchy. Languages: regular, context free, context sensitive, recursive, type 0. Normal forms, pushdown automata, pumping lemmas, closure. Time and tape bounded Turing machines. Decision problems. Prerequisite: CS 4170.
 
6245Footnote HAYCAT-FOOTDIG  
 
Combinatorial Algorithms (4)
Design and analysis of efficient combinatorial algorithms. Graph theory and algorithms: flows in networks, max flow/min cut theorem. Theorems of Menger, Hall, Tutte, Dilworth. Examples of algorithms drawn from matching, maxflow, mincost flow, Hitchcock Problem, weighted matching, linear programming. NP-complete problems, approximation algorithms. Prerequisites: CS 4245; MATH 4151 recommended.
 
6260Footnote HAYCAT-FOOTDIG  
 
Computational Complexity (4)
Models of computation, particularly deterministic and nondeterministic Turing machines. Decision problems, measures of complexity (e.g. P, NP, PSPACE). Approximation algorithms, randomized algorithms. Prerequisites: CS/MATH 4170 or CS/MATH 4245 or permission of instructor. Cross-listed with MATH 6260.
 
6310Footnote HAYCAT-FOOTDIG  
 
Software Engineering (4)
Theory and practice of large software development projects, including methods of requirement specifications, programming approaches, program management, testing strategies, and performance evaluation. Team organization and management. Software life cycles. Prerequisites: CS 2360, CS 3240, and a senior level Computer Science course in which programs are written.
 
6315Footnote HAYCAT-FOOTDIG  
 
Object-oriented Software Development for Telecommunications (4)
Networking and telecommunications APIs. Class libraries for networking and distributed services. Object-oriented software development tools, languages, and techniques. Programming exercises. Prerequisites: CS 3240, CS 3590.
 
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.
 
6340  
 
Advanced Topics in Object-Oriented Programming and Design (4)
Advanced topics in object-oriented programming and design using the Java platform. Threads, platform-independent network programming, distributed objects, remote method invocation, CORBA, data-base connectivity, persistence and serialization, Java beans, enterprise Java beans, advanced GUI design. Prerequisite: CS 3340.
 
6360Footnote HAYCAT-FOOTDIG  
 
Formal Specification and Verification (4)
Fundamental techniques of program specification and verification. Inductive methods for proving program correctness, including invariant, inductive and intermittent assertion methods and subgoal, structural and computational induction. 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.
 
6458  
 
Optical Fiber Technologies (4)
(See TC 6458 for course description.)
 
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 6585, TC 6205.
 
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. Prerequisites: CS 6585, TC 6205.
 
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.
 
6585Footnote HAYCAT-FOOTDIG  
 
Distributed and Client/Server Systems (4)
Distributed services, goals, and issues. Computer network architectures and communications models. Remote procedure calls, event ordering, naming, concurrency control, transactions, voting algorithms. Case studies: ONC, DCOM. Development and management tools. Programming exercises. Prerequisites: CS 3240 and CS 3590, or TC 3265.
 
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 3660, 4560, and 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.
 
6800  
 
Topics Seminar (4)
Presentation of selected topics beyond regular courses. Subjects will vary. Prerequisites: "Classified Graduate" standing in Computer Science M.S. degree program and consent of instructor.
 
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. Prerequisite: CS 4810.
 
6815  
 
Artificial Intelligence in Telecommunications (4)
(See TC 6815 for course description.)
 
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.
 
6830  
 
Genetic Algorithms and Evolutionary Programming (4)
Theoretical and practical foundations of the design, complexity and correctness of genetic programs and classifier systems; the formal properties of various evolutionary approaches; the design of new genetic operators, representations and fitness functions for specific practical and scientific applications. Prerequisite: CS 4810.
 
6840Footnote HAYCAT-FOOTDIG  
 
Principles of Computer Graphics (4)
Advanced graphics algorithms including viewing, scan conversion, hidden line, hidden surface, ray tracing, shading and lighting, fractals. Solid modeling. Software packages, development, and standards. Software development on advanced graphics workstations. Prerequisite: CS 4840.
 
6844Footnote HAYCAT-FOOTDIG  
 
Digital Image Processing (4)
Digital image acquisition, display, analysis, manipulation, and transmission. Color space conversion, convolution, geometric transformations, and compression. Programming exercises. Prerequisites: CS 6585, TC 6101. Cross-listed with TC 6844.
 
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 Hayward faculty member. Oral defense required. Prerequisite: advancement to candidacy. Cross-listed with TC 6899.
 
6900  
 
Independent Study (1-4)
 
6909  
 
Departmental Thesis (1-5)
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 Hayward faculty member. May be repeated for a maximum of 5 units. Prerequisites: CS 6000, advancement to candidacy, and approval of thesis proposal by advisor and departmental committee.
 
Footnote

Footnote HAYCAT-FOOTDIG   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

© 2004 The California State University
Last Updated: March 2, 2004