Graduate Catalog
Master of Science in Computer Science (MS)
Program Coordinator: Associate Professor Miriam Tausner
Computer Science/Engineering Science and Physics Building (1N), Room 201
Email: compscimasters@mail.csi.cuny.edu
Telephone: 1.718.982.2845
(See section Graduate Courses in Selected Disciplines for computer courses for teachers.)
Department of Computer Science Website
MS in Computer Science Website
*See the curriculum supplement for additions and changes to the program.
The program is designed to provide advanced education in this expanding discipline. It serves those students who wish to increase their professional competence for business, industry, and research and development laboratories, as well as those students who wish to enter careers in research and teaching. Students may continue in Doctoral programs in Computer Science including The City University program in which CSI participates.
All students are required to take five foundation courses covering theoretical computer science, operating systems, computer architecture, programming methodology, and applied mathematics for computer scientists. The required Graduate Research Laboratory course is designed to enhance the capability of students to do independent work in the field. Courses to meet the remaining requirements are chosen in consultation with a graduate program adviser to create a program that meets the needs of the individual student.
Any other registered CSI graduate course in computer science shall be counted as an elective for the purposes of fulfilling the MS in Computer Science degree requirements, with the exception of those courses specifically identified as computing for teachers or other computer science teacher education courses.
Admission Requirements
1. A Bachelor of Science degree in Computer Science or related area with a B average (3.0 out of 4.0) overall and in the major
2. Graduate Record Examination
3. Demonstrable Knowledge of:
- High-Level Language CSC 126
- Assembly Language CSC 220
- Discrete Mathematics CSC 228
- Information Structures CSC 326
- Object-Oriented Software
- Design CSC 330
- Switching Theory CSC 346
- Calculus MTH 230 or 231, and 232, 233; or 235, 236
- Probability MTH 311
- Linear Algebra MTH 338
- or their equivalents. (See the CSI Undergraduate Catalog for descriptions of these courses.)
4. Students transferring from other related majors or entering from other colleges will be permitted to remedy upper-level undergraduate course deficiencies by taking any missing undergraduate mathematics course(s), CSC 228, CSC 326, CSC 330, and/or CSC 346 as non-matriculated graduate students.
No more than nine graduate credits may be completed before these deficiencies have been remedied. However, courses taken to remove deficiencies must be in addition to the regular coursework for the MS degree.
Degree Requirements
1. Matriculated status
2. A program of 12 courses (36 credits) with at least a 3.0 (B)
average. The following core courses are required of all students:
- CSC 718 Operating Systems Design
- CSC 722 Computability
- or
- CSC 724 Formal Language Theory
- CSC 727 Algorithms and Information Structures
- CSC 740 Computer Systems Design
- CSC 755 Applied Mathematics for Computer Science
- CSC 759 Graduate Research Laboratory
The remaining six courses will be chosen from courses listed below under specialization areas, with a maximum of three courses from any one specialization area.
Exceptional students may be permitted to satisfy six credits of the total credit requirement with a master's thesis.
Specialization Areas
Certain specialization areas within computer science are well represented by the department faculty research interests. Students interested in specializing in any of these areas are recommended to take the listed courses. For additional CUNY Graduate Center courses in a specialization area, consult the graduate program coordinator.
Software Engineering
- CSC 710 Software Engineering
- CSC 712 Compiler Construction
- CSC 713 Advanced Systems Programming
- CSC 714 Software Systems Analysis and Design
- CSC 715 Database Theory
- CSC 744 Computer Performance Evaluation
- CSC 750 Computer-aided Analysis and Design
- CSC 752 Management Information Systems
Multimedia and Image Processing
- CSC 706 Computer Graphics
- CSC 731 Artificial Intelligence and Knowledge Engineering
- CSC 732 Neural Networks and Pattern Recognition
- CSC 733 Natural Language Processing
- CSC 735 Machine Learning and Data Mining
- CSC 741 Digital Image Processing
- CSC 758 Media Transmission and Characteristics
Networks, Telecommunication, and Architecture
- CSC 742 Advanced Microcomputer Systems Design
- CSC 747 Digital Signal Processing
- CSC 748 Quantitative Analysis of Computer Architecture
- CSC 756 Network Security
- CSC 757 Communication Networks
- CSC 760 High-speed LAN and WAN
- CSC 762 Fundamentals of Wireless Communications
- CSC 764 Intelligent Networks
-
CSC 766 Broadband and SONET Networks
Courses
CSC 705 Advanced Microcomputer Systems Design
3 hours; 3 credits
Introduction to microcomputer development systems, simultaneous hardware and software development. In-circuit emulation for debugging hardware and software. Interfacing details. Interrupt handling. Laboratory work in the design and implementation of actual systems.
Prerequisites: CSC 460 and 461 or equivalent
CSC 706 Computer Graphics
3 hours; 3 credits
Display memory, generation points, vectors, etc. Interactive versus passive graphics. Analog storage of images in microfilm, etc. Digitizing and digital storage. Pattern recognition by features, syntax tables, random nets, etc. Data structures and graphics software. The mathematics of three dimensions, projections, and the hidden-line problem. “Graphical programs,” computer-aided design and instruction, and animated movies.
CSC 710 Software Engineering
3 hours; 3 credits
Developing large-scale reliable software systems. Modeling tools and techniques. Performance analysis and tradeoffs, debugging techniques. Documentation, testing, and management of software. Study and practical application of principles of good program development. A significant project will be required.
CSC 712 Compiler Construction
3 hours; 3 credits
The grammars of programming languages: lexical analyzers, parsers, code emitters, and interpretation; global and peephole optimization; run-time support; error management; translatory writing systems.
Prerequisite: CSC 727
CSC 713 Advanced Systems Programming
3 hours; 3 credits
System and program design for advanced software and hardware architectures. Pre- and post-analysis of system implementations. Topics may include Non-von Neumann Architectures.
CSC 714 Software Systems Analysis Design
3 hours; 3 credits
Introduction to the system life cycle of a computer information system. System life cycle management. Basic analysis tools, determining system economics. Logical system design. Hardware/software selection and evaluation. Software design. System development. Post-implementation analysis.
CSC 715 Database Theory
3 hours; 3 credits
In-depth review of database systems and extensive survey of the current literature on the topic.
CSC 718 Operating Systems Design
3 hours; 3 credits
Processors and concurrent programming; memory management, I/O and file systems, scheduling, protection, user interfaces, and distributed system issues.
CSC 722 Computability
3 hours; 3 credits
Formulations of effective computability: Sheperdson-Sturgis machines. Turing type models, recursive functions and semiThue systems. The equivalence of the various formulations. Church's Thesis. Fundamental theorems of computability: Universal Machines, S-M-N, and Recursion theorem. Unsolvable problems. Recursive and r.e. sets.
CSC 724 Formal Language Theory
3 hours; 3 credits
Classification of languages by grammars and automata. The Chomsky hierarchy: regular, context-free, context-sensitive, and recursively enumerable languages and their associated grammars and automata. Closure properties for families of languages. Decision problems for grammars and automata.
CSC 727 Algorithms and Information Structures
3 hours; 3 credits
Basic data structures: lists, trees, balanced trees, hash tables, partially ordered trees, b trees. Storage management: garbage collection, allocation strategies. Techniques for asymptotic and exact analysis of programs, and criteria for data structure and algorithm selection. Recursion vs. iteration. Methods for the design of efficient algorithms. NP-completeness, examples of intractable problems.
CSC 731 Artificial Intelligence and Knowledge Engineering
3 hours; 3 credits
Formal reasoning, heuristics, and game playing. Planning, temporal and spatial reasoning. Knowledge representation and knowledge-based systems. Intelligent agents. Other topics may include robotics, comparative study of languages for artificial intelligence.
CSC 732 Pattern Recognition and Neural Networks
3 hours; 3 credits
Topics of the course will initially survey pattern recognition systems and components; decision theories and classification: discriminant functions: classical supervised and unsupervised learning methods, such as backpropagation, radial basis functions: clustering; feature extraction and dimensional reduction; sequential and hierarchical classification; Kohonen networks; Boltzman machines, principal components, and examples of applications. Modern concepts in learning will be introduced: nonparametric learning, reinforcement learning, mixtures models, belief networks, minimum description length, maximum likelihood, entropy methods, independent component analysis.
CSC 733 Natural Language Processing
3 hours; 3 credits
Why natural language is amenable to computer analysis. Syntactic and semantic analysis of free-text sentences: immediate constituent analysis: string analysis; transformational analysis. Uniform representation of the information content of sentences. Discourse Analysis. Natural Language Databases. Implementation of a string grammar for English.
CSC 735 Machine Learning and Data Mining
3 hours; 3 credits
Topics in machine learning will be applied to data mining and image understanding. Topics may include: neural networks, decision trees, support vector machines, bayesian learning, association rules, cluster analysis, fuzzy logic, linear regression, visualization methods, and additional current topics in this field.
Prerequisite: CSC 731 or equivalent
CSC 740 Computer System Design
3 hours; 3 credits
Designs of systems using processors, memories, input/output (I/O) devices and I/O interfaces as building blocks. Computer system organization and architecture: accumulator, general-register, and stack machines, multiprocessors and other organizations. Memory and I/O buses, I/O interface design and typical I/O devices. Memory hierarchies.
CSC 741 Digital Image Processing
3 hours; 3 credits
Analysis and design of computer-based image processors. Statement of the image processing problem and its applications. Various levels of image processing. Design and analysis of various types of filters and other image enhancement techniques. Image restoration. Morphological processing of images. Parallel algorithms for image processing. Image algebra.
CSC 742 Advanced Microcomputer Systems Design
3 hours; 3 credits
Introduction to microcomputer development systems, simultaneous hardware and software development. In-circuit emulation for debugging hardware and software. Interfacing details. Interrupt handling. Laboratory work in the design and implementation of actual systems.
Prerequisite: CSC 740
CSC 744 Computer Performance Evaluation
3 hours; 3 credits
The system life cycle model and its impact on computer performance and capacity planning. Topics include load drivers and benchmarks, simulation and analytic queueing models, statistical methods, workload characterization, software and hardware monitors, performance triggering, bottleneck identification, load, service, and capacity relationships.
CSC 747 Digital Signal Processing
3 hours; 3 credits
Analysis and design of computer-based digital signal processors. Statement of the digital signal processing problem and its applications. Topics may include: Stochastic models of random signals; spectral factorization; linear estimation of random signals: Wiener, Kalman, and least squares estimation; linear prediction and related topics; adaptive filters; microcomputer implementation of digital signal processors. Discrete Fourier Transform, FFT parallel processing of discrete operation. Morphological signal processing.
Prerequisite: CSC 755
CSC 748 Quantitative Analysis of Computer Architecture
3 hours; 3 credits
An advanced course in computer architecture covering a variety of classical computer architecture topics with heavy emphasis on the quantitative approach to analyzing computer architecture and evaluating design tradeoffs.
Prerequisite: CSC 740 or strong undergraduate course in computer architecture.
CSC 750 Computer-aided Analysis and Design
3 hours; 3 credits
Computation-Intuition feedback process in the designing of complex systems. Modern analysis techniques for electrical and mechanical systems. Classification and use of canned applications programs. Subsystem transfer functions vs. vigorous analysis. Criticality and sensitivity analysis. Engineering vs. statistical analysis. Role of graphics as design aid. Memory and file management for large systems analysis and design. Design selection criteria. Role of pro-types.
CSC 752 Management Information Systems
3 hours; 3 credits
The role of computers in management information systems. Analysis of information requirements, design approaches, processing methods, data management control of operations. Planning and control systems; analytical and simulation models of decision making. Economics of information, implementation of integrated systems, organizational social implications of information technology.
CSC 754 Topics in System Simulation
3 hours; 3 credits
Techniques for the simulation of complex systems; simulation of computer systems. Statistical issues in simulation. Simulation methodology. Survey of simulation languages.
CSC 755 Applied Mathematics for Computer Science
(Also MTH 626)
3 hours; 3 credits
Selected topics in mathematics and mathematical system areas that are essential for advanced studies in computer science. Topics are drawn from probability, statistics, queueing theory, numerical analysis, universal algebra, mathematical logic, general systems theory, and cybernetics.
CSC 756 Network Security
3 hours; 3 credits
Categorization of attacks on network security. Confidentiality with encryption. Protection against passive attacks. Conventional encryption. General approaches to attack a conventional encryption. Encryption algorithms. Location of encryption devices. Key distribution. Automatic key distribution. Message authentication. Authentication using encryption. Public-key encryption. IP security. Transport and tunnel modes. The scope of ESP encryption and authentication in both transport and tunnel modes. Key management. Web security.
CSC 757 Telecommunication Networks
3 hours; 3 credits
Motivations and objectives of computer networks; overview of layered architecture and the ISO Reference Model; network functions, circuit-switching and packet-switching; physical level protocols; data link protocols including HDLC and multi-access link control. Network control, transport, and session protocols including routing flow control; end-to-end communication and inter-networking. Presentation layer protocols including virtual terminal and file transfer protocols, cryptography, and text compression. Specific examples and standards will be cited throughout the course for point-to-point, satellite, packet radio, and local networks.
Prerequisite: CSC 740
CSC 758 Media Transmission and Characteristics
2 hours lecture and one hour conference; 3 credits
Basic requirements of transmission media, fiber-optic medium, typical attenuation and dispersion characteristics, mathematical treatment of the fiber medium. The copper medium, twisted wire pair, coaxial media, premises distribution system, role of new cables for high-speed digital systems, mathematical treatment of the copper medium. Limits of copper-based telecommunication systems. Role of fiber and coaxial system, characterization, and limitations.
Prerequisite: CSC 740 or CSC 757
CSC 759 Graduate Research Laboratory
3 hours; 3 credits
Students will choose a research topic in Computer Science and select two journal papers on the topic; the articles must be approved by the instructor. Students will write a seminar paper explaining and reviewing the research reported on from the journal papers and present the research topic to the entire seminar. All students will be required to write a short summary of each presentation.
CSC 760 High-speed LAN and WAN
3 hours; 3 credits
LAN topologies and access methods, medium access protocols, high-speed LANs, wireless LANs, analysis and efficiency of LAN protocols. Protocol basics, error control methods, flow control. WAN, circuit and packet switching, routing, congestion control, Internet protocols.
CSC 762 Fundamentals of Wireless Communications
(Also ENS 762)
3 hours; 3 credits
Cellular and personal communication services, standards, spectrum services. Mobile computer. Wireless local area networks, local loops, and data networks. Analog wireless communication systems. North American intersystem operations, time division multiple access, code division multiple access, channel structure, power control, handoff types. Global systems mobile. Third- and fourth-generation wireless.
CSC 764 Intelligent Networks
(Also ENS 764)
3 hours; 3 credits
Basic intelligent networks concepts; networks and computer systems; OSI model. Wireless communication networks. ISDN architecture. Intelligent networks/1+ and intelligent networks/2; global intelligent networks. Advanced intelligent networks.
CSC 766 Broadband and SONET Networks
(Also ENS 766)
3 hours; 3 credits
Consideration of the principles, concepts, protocol, and interfaces for most broadband networks around the globe; principles and concepts are stressed and protocols and interfaces are discussed. The evolution of the broadband ISDN and SONET.
Courses offered at the CUNY Graduate School and University Center may be taken by advanced graduate students by special arrangement.