Computer Science, Informatics Concentration (M.S.)  Graduate  2011 University Catalog
You are viewing the 2011 University Catalog. Please see the newest version of the University Catalog for the most current version of this program's requirements.
The graduate program in computer science is designed for students interested in pursuing computer science theoretically as well as practically at an advanced level. While introducing students to newly developing areas of computer science, this program emphasizes the foundations and concepts of the field. Concepts are developed rather than routine programming skills. Students are prepared for professional work in the design and implementation of software systems, data base systems, operating systems, artificial intelligence, expert systems, graphics, simulation and algorithms for discrete and continuous structures that will aid in the solution of problems encountered in the scientific and business sector. The curriculum is designed to allow students to develop skills needed to achieve leadership positions in business, industry, and government in computer science or in related fields that are computer science intensive. The program also prepares teachers of computer science at the two year college, high school and middle school levels.
The graduate program in computer science began in 1978. At present, there are 12 fulltime faculty in the Department of Computer Science. the special interests of the faculty include algorithms, artificial intelligence, automata theory, automated theorem proving, bioengineering, compilers, computer science education, complexity theory, computational linguistics, computational logic, cryptography, databases, data mining and knowledge discovery, design and management of information systems, expert systems, faulttolerant computing, graphics, machine organization and architecture, neural networks, nonlinear phenomena and fuzzy logic, operating systems, parallel and distributed computing, program verification, pixel and image processing, robotics, software engineering, scientific computing, and telecommunications. The department has the advantage of having professional computer scientists as both faculty and visiting specialists. The visiting specialists are drawn from the aerospace, chemical, computer, and pharmaceutical industries. This mix of faculty affords students the opportunity to obtain an education in both the practical and theoretical aspects of computer science.
Computer facilities within the College of Science and Mathematics currently comprise a local area network (SCINet) of Sun servers and workstations, as well as Dell and Macintosh teaching laboratories. The Sun network comprises four Enterprise servers, a student laboratory with twenty Ultra 10 workstations, and workstations in faculty offices. The computers of this network run under UNIX operating system. Available software packages include: Maple, MATLAB, Iris Explorer, LaTEX, Rational Rose, SAS, Splus, Ingres, MySQL, JavaStudio, and JavaWorkshop. Programming language include: C, C++, Java, Ada, FORTRAN, Pascal, LISP, Prolog, Perl and Smalltalk. In addition, Montclair State University maintains a DEC Alpha 2100 (running the VMS operating system), on which any MSU student may establish an account. Software available on this machine include: Ada, C, C++, COBOL, FORTRAN, GPSS, Ingres, LISP, Macro, Maple, Minitab, Pascal, PL/1, Prolog, SAS, SAS graphics, SPSSX and SPSS graphics. The University also maintains a number of microcomputer labs throughout the campus. Access to the Alpha and CSAM Sun network is available from most of these microcomputers via a campuswide local area network (MSUNet). In addition, these microcomputers support a wide variety of software such as JMP, Mac Spin, Data Desk, Solo, Statistix, and Office for student use. Montclair State University recently became its own Internet Service Provider (MSUISP). All students and faculty may establish Internet Accounts. These, as well as dialup lines, provide remote access to computers on campus.
Students desiring to enter the MS in Computer Science without an appropriate background in computer science can obtain the necessary foundation in computer science and mathematics by taking courses in our prerequisite program. Upon satisfactory completion of part or all of the program, students are admitted to the Master of Science program.
COMPUTER SCIENCE w/CONC:Informatics
Complete 33 semester hours including the following 3 requirement(s):

CORE COURSES
Complete the following 4 courses for 12 semester hours:
CMPT 580 Machine Organization and Architecture 3 CMPT 581 Systems Software Design 3 CMPT 583 Computer Algorithms 3 CMPT 594 Software Engineering and Reliability 3 
INFORMATICS CONCENTRATION
Complete 2 requirement(s):

Complete 3 courses for 9 semester hours:
CMPT 586 File Structures and Databases 3 CMPT 593 Structured System Design and Analysis 3 CMPT 596 Principles of Data Communication 3 
Complete 1 course for 3 semester hours from the following list
CMPT 592 Data Base Design and Implementation 3 CMPT 696 Local Area Networks 3


ELECTIVES AND CULMINATING EXPERIENCE

Comp Science, Math or Business Electives
Complete 9 semester hours (OR 6 semester hours if you plan to complete the Thesis or Masters Project) from the following list. Substitutions require GPC approval

Culminating Experience
Complete 1 of the following options:

Thesis Option
Students must have a 3.3 or higher in the required core courses to register for the Thesis:

Register for the following to complete the Thesis and earn 3 semester hours
CMPT 698 Master's Thesis 3 
Submit the completed Thesis Original and one copy to the Graduate School Office. See Thesis Guidelines for details.


Masters Project Option

Complete to earn 3 semester hours
CMPT 697 Master's Project in Computer Science 3 
Department notification required upon successful completion.


Comprehensive Exam Option
Successfully complete the Comprehensive Examination.


Course Descriptions:
CMPT574: Pixel and Image Processing
This course provides an introductory and comprehensive treatment of pixel and image processing with applications to fine arts, face recognition, etc. Topics include sampling and quantization, convolution, equalization, filtering, image segmentation, image operations, morphological image processing. (3 hours lecture.) 3 sh.
Prerequisites: CMPT 580 and permission of graduate coordinator.
CMPT575: Introduction to Computer Graphics
An introduction to computer graphics, including the algorithms to generate twodimensional and threedimensional graphical pictures. An overview of ray tracing, shading and color theory. Interactive graphics. Graphics devices. (3 hours lecture.) 3 sh.
Prerequisites: CMPT 580 and permission of graduate coordinator.
CMPT576: ObjectOriented Software Development
Introduction to the major features of the objectoriented paradigm and their realization in an objectoriented programming language. Introduction to major methods and tools used in objectoriented analysis and design. Implementation and testing issues. (3 hours lecture.) 3 sh.
Prerequisites: CMPT 581, CMPT 583 and permission of graduate coordinator.
CMPT578: Introduction to Artificial Intelligence
An introduction to artificial intelligence including representations of knowledge, problem solving, games, heuristics and backtracking, expert systems, theorem proving, the language LISP and PROLOG. (3 hours lecture.) 3 sh.
Prerequisites: CMPT 583 and permission of graduate coordinator.
CMPT580: Machine Organization and Architecture
Basic computer organization and design, digital functions, data representation, microprogramming, CPU organization, the assembler language, and addressing techniques. Required of majors. (3 hours lecture.) 3 sh.
Prerequisites: Permission of graduate coordinator.
CMPT581: Systems Software Design
Assemblers, macroprocessors, linkers and loaders, introduction to compilers and run facilities. Required of majors. (3 hours lecture.) 3 sh.
Prerequisites: CMPT 580, and permission of graduate coordinator.
CMPT582: Theory of Automata and Formal Languages
Languages and grammars, finite automata and regular grammars, context free grammars, pushdown automata, Turing machines, computability, deterministic languages, linear bounded automata and stack automata. (3 hours lecture.) 3 sh.
Prerequisites: Permission of graduate coordinator.
CMPT583: Computer Algorithms
Algorithms: definition, design and analysis; sorting and searching techniques and introductory dynamic programming studied as algorithms with complexity theory and optimization techniques applied. Required of majors. (3 hours lecture.) 3 sh.
Prerequisites: Permission of graduate coordinator.
CMPT584: Operating System Design
Design and implementation of operating systems, multiprogramming, multiprocessor, device management, scheduling, virtual memory, case studies. (3 hours lecture.) 3 sh.
Prerequisites: CMPT 581, and permission of graduate coordinator.
CMPT585: Topics in Computer Science
Recent developments in the field. Topics such as Monte Carlo methods, graphics, expert systems, security, networks and special areas of applications. May be repeated twice for a maximum of 9.0 credits as long as the topic is different. (3 hours lecture.) 3 sh.
Prerequisites: CMPT 580 and permission of graduate coordinator.
CMPT586: File Structures and Databases
Secondary storage devises. Data transfer. Primary and secondary access methods. Sequential and random access methods. File design. File organizations and corresponding processing. File maintenance. Sorting large files. Databases concepts. Required of majors. (3 hours lecture.) 3 sh.
Prerequisites: Permission of graduate coordinator.
CMPT587: Microcomputers and Computer Interfaces
Introduction to geneology, manufacture and hardware design of microprocessors, microcomputer architecture, instruction sets and programming, microcomputer peripherals and interfaces. (3 hours lecture.) 3 sh.
Prerequisites: CMPT 580, and permission of graduate coordinator.
CMPT588: Fundamentals of Programming Languages
A comparative approach to modern programming languages with emphasis on nonimperative languages, and an introduction to parallel languages. (3 hours lecture.) 3 sh.
Prerequisites: Permission of graduate coordinator.
CMPT589: Computer Simulation of Discrete Systems
Introduction to simulation and discrete simulation models. Queuing theory and stochastic processes. Simulation methodology including generation of random numbers and variates, design of simulation experiments, analysis of data generated by simulation experiments and validation of models. Survey of current simulation languages and selected applications. (3 hours lecture.) 3 sh.
Prerequisites: CMPT 580, permission of graduate coordinator.
CMPT590: Computer Simulation of Continuous Systems
Computer simulation of continuous systems with emphasis on conservation principles and governing equations, numerical treatment of systems of algebraic and differential equations, the use of software packages and simulation languages, verification and validation techniques, and interpretation and presentation of results. (3 hours lecture.) 3 sh.
Prerequisites: CMPT 580, permission of graduate coordinator.
CMPT591: Compiler Theory and Construction
Introduction to the formal description of programming languages, the theory of parsing, and the concepts and techniques used in the construction of compilers. (3 hours lecture.) 3 sh.
Prerequisites: CMPT 581, permission of graduate coordinator.
CMPT592: Data Base Design and Implementation
To develop indepth understanding of data base concepts and issues. The major emphasis of the course is on the conceptual (logical) organization, retrieval, and manipulation of data. Required of majors. (3 hours lecture.) 3 sh.
Prerequisites: CMPT 586, permission of graduate coordinator.
CMPT593: Structured System Design and Analysis
A study of the design of large scale computer systems relative to the constraints imposed by hardware, software and particular types of applications. Recent work in automated system design will be discussed. (3 hours lecture.) 3 sh.
Prerequisites: CMPT 586, and permission of graduate coordinator.
CMPT594: Software Engineering and Reliability
Principles and methods for the analysis, design, implementation, testing, and verification of software systems. Topics include requirements analysis, domain analysis, implementation, testing, verification, and software management. (3 hours lecture.) 3 sh.
Prerequisites: Permission of graduate coordinator.
CMPT596: Principles of Data Communication
Physical and logical aspects of data communications: analogdigital, broadbandbaseband, TDMFDM, protocols, modulation techniques, hardware for communication. (3 hours lecture.) 3 sh.
Prerequisites: CMPT 580, and permission of graduate coordinator.
CMPT678: Neurocomputing
Basic neural network concepts, definitions, and building blocks; learning laws; simple implementations; associative networks; mapping networks; survey of applications. (3 hours lecture.) 3 sh.
Prerequisites: CMPT 583, and permission of graduate coordinator.
CMPT680: Parallel Architectures and Algorithms
This course provides a study of the stateofart of parallel processing algorithms and architectures. Parallel processing uses multiple processors working together in a synchronized fashion to solve large problems fast. (3 hours lecture.) 3 sh.
Prerequisites: CMPT 580 and CMPT 583, and permission of graduate coordinator.
CMPT683: Advanced Computer Algorithms
Dynamic programming, game trees and backtracking techniques, branch and bound, polynomial evaluation and fast Fourier transform algorithms; complexity and analysis, and optimization techniques will be applied. NPhard problems and NPcompleteness. (3 hours lecture.) 3 sh.
Prerequisites: CMPT 583, and permission of graduate coordinator.
CMPT690: Independent Study in Computer Science
Independent study under the direction of a faculty member, offering the opportunity to pursue topics in computer science which may be outside the scope of regular curricular offerings or may be an extension of an existing course or courses. Approval must be obtained from the graduate coordinator or and faculty advisor. May be repeated once for a maximum of 6.0 credits. () 3 sh.
Prerequisites: Permission of graduate coordinator.
CMPT694: Software Quality Assurance
This course examines (i) planned and systematic patterns of all actions necessary to provide adequate confidence that a product conforms to established requirements, and (ii) a set of activities designed to evaluate the process by which highquality complex software products are developed. (3 hours lecture.) 3 sh.
Prerequisites: CMPT 594 or permission of graduate advisor.
CMPT695: Seminars in Computer Science
Guided study of selected topics in major field of interest. (14 hours seminar.) 1  4 sh.
Prerequisites: CMPT 581, 583, and 586 and permission of graduate coordinator.
CMPT696: Local Area Networks
Fundamental issues and concepts underlying Local Area Network (LAN) development via microcomputers: topology, transmission media and technology, error control, protocols. (3 hours lecture.) 3 sh.
Prerequisites: CMPT 596, and permission of graduate coordinator.
CMPT697: Master's Project in Computer Science
Analysis of a significant problem related to computing and design of a solution. Where appropriate, implementation and testing as well as documentation of the solution. (3 hours lecture.) 3 sh.
Prerequisites: Completion of the computer science required core courses and permission of graduate coordinator.
CMPT698: Master's Thesis
Independent research project done under faculty advisement. Students must follow the MSU Thesis Guidelines, which may be obtained from the Graduate School. Students should take CMPT 699 if they don't complete CMPT 698 within the semester. () 3 sh.
Prerequisites: Departmental approval.
CMPT699: Master's Thesis Extension
Continuation of Master's Thesis Project. Thesis extension will be graded as IP (In Progress) until thesis is completed, at which time a grade of Pass or Fail will be given. () 1 sh.
Prerequisites: CMPT 698.
INFO503: Information Systems
Examines the information requirements of an organization. The differences in the kinds of information needed at the various organizational levels (operational, administrative and strategic) are emphasized. How to plan and implement a comprehensive information system is discussed as well as methods to measure its effectiveness. (3 hours lecture.) 3 sh.
Prerequisites: M.B.A. degree students only.
MATH569: Applied Mathematics: Discrete
Introduction to the basic ideas of discrete mathematics and its applications. Counting principles, permutations, combinations, algorithms, complexity, graphs, trees, searching and sorting, recurrence relations, generating functions, inclusionexclusion, the pigeonhole principle, chromatic number, eulerian chains and paths, hamiltonian chains and paths, flows in networks, finite Markov chains. (3 hours lecture.) 3 sh.
Prerequisites: MATH 335, and 340, and 425, and permission of graduate program coordinator.
MATH584: Operations Research
An indepth study of one or at most two topics in operations research, selected from linear programming and game theory, linear and nonlinear programming, queuing theory, inventory theory, simulation models. (3 hours lecture.) 3 sh.
Prerequisites: MATH 425 and STAT 440 and permission of graduate program coordinator.
STAT541: Applied Statistics
Review of estimation and hypothesis testing for one sample and two sample problems; introduction to nonparametric statistics and linear regression; fundamental principles of design, completely randomized design, randomized block design, latin square, and 2 factor design. (3 hours lecture.) 3 sh.
Prerequisites: STAT 330 or STAT 443 and permission of graduate program coordinator.
STAT544: Statistical Computing
Computer systems for data analysis and data graphics, and intermediate level statistical methodology are investigated. Several statistical computing packages are utilized and evaluated. (3 hours lecture.) 3 sh.
Prerequisites: STAT 541 or STAT 548, and CMPT 183, and permission of graduate program coordinator.
STAT548: Applied Regression Analysis
Fitting equations to data; matrices, linear regression; correlation; analysis of residuals; multiple regression; polynomial regression; partial correlation; stepwise regression; regression and model building; regression applied to analysis of variance problems; introduction to nonlinear regression. (3 hours lecture.) 3 sh.
Prerequisites: STAT 330 or STAT 443, and permission of graduate program coordinator.
STAT595: Topics in Statistics
Topics such as exploratory data analysis, statistical graphics, statistical quality control and statistical quality assurance, Bayesian methods and Markov chain monte carlo studies. May be repeated twice for a total of 9.0 credits. (3 hours lecture.) 3 sh.
Prerequisites: Permission of graduate program coordinator.
STAT645: Advanced Topics in Statistics
Recent developments in statistical science. Topics such as data mining, statistical genomics, computationally intensive dataanalytic methods, statistical consulting, dynamic statistical graphics and visualization, applied time series analysis. May be repeated with no limit as long as the topic is different. (3 hours lecture.) 3 sh.
Prerequisites: Permission of graduate program coordinator.