Computer Science (M.S.) - Graduate - 2013 University Catalog
You are viewing the 2013 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 full-time 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, fault-tolerant computing, graphics, machine organization and architecture, neural networks, non-linear 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 campus-wide 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 (MSU-ISP). All students and faculty may establish Internet Accounts. These, as well as dial-up 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
Complete 53 semester hours including the following 3 requirement(s):
-
CORE KNOWLEDGE
Complete the following 5 courses for 20 semester hours:
-
REQUIRED COURSES
Complete 3 courses for 9 semester hours:
CMPT 580 Machine Organization and Architecture (3 hours lecture) 3 CMPT 583 Computer Algorithms (3 hours lecture) 3 CMPT 594 Software Engineering and Reliability (3 hours lecture) 3 -
ELECTIVE COURSES
Complete 7 courses for 21 semester hours from the following (up to 4 grad courses may be taken from other depts w/written permission)
CMPT 574 Pixel and Image Processing (3 hours lecture) 3 CMPT 584 Operating System Design (3 hours lecture) 3 CMPT 585 Topics in Computer Science (3 hours lecture) 3 CMPT 586 File Structures and Databases (3 hours lecture) 3 CMPT 592 Data Base Design and Implementation (3 hours lecture) 3 CMPT 596 Principles of Data Communication (3 hours lecture) 3 CMPT 690 Independent Study in Computer Science 3 CMPT 694 Software Quality Assurance (3 hours lecture) 3 CMPT 695 Seminars in Computer Science (1-4 hours seminar) 1-4 CSIT 520 Network Security (3 hours lecture) 3 CSIT 531 Robotics (3 hours lecture) 3 CSIT 535 Human-Computer Interaction (HCI) (3 hours lecture) 3 CSIT 551 Mobile Computing (3 hours lecture) 3 CSIT 570 Web development, tools, services, and design (3 hours lecture) 3 CSIT 635 Advanced Human-Computer Interaction (HCI) (3 hours lecture) 3 CSIT 656 Scientific Databases (3 hours lecture) 3
Course Descriptions:
CMPT505: Fundamentals of Computer Science I (4 hours lecture)
An introduction to programming using a structured high level language, design of algorithms, character strings, recursion, data structures, numerical computing. May not be used for credit by Mathematics or Computer Science majors. 4 sh.
Prerequisites: Graduate coordinator's permission.
CMPT506: Fundamentals of Computer Science II (4 hours lecture)
A continuation of CMPT 505. Introduction to assembly language, addressing techniques, subroutine linkage, input/output and macros. Introduction to computer organization including memory, logic design and computer architecture. May not be used for credit by Mathematics and Computer Science majors. 4 sh.
Prerequisites: CMPT 505 and permission of graduate coordinator.
CMPT507: Fundamentals of Computer Science III (4 hours lecture)
A continuation of CMPT 505. Design and analysis of data structures, pointers, linked representations, linear lists, trees, storage systems and structures, database design. 4 sh.
Prerequisites: CMPT 505 and MATH 501 and permission of graduate coordinator.
CMPT574: Pixel and Image Processing (3 hours lecture)
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 sh.
Prerequisites: CMPT 580 and permission of graduate coordinator.
CMPT580: Machine Organization and Architecture (3 hours lecture)
Basic computer organization and design, digital functions, data representation, microprogramming, CPU organization, the assembler language, and addressing techniques. Required of majors. 3 sh.
Prerequisites: Permission of graduate coordinator.
CMPT583: Computer Algorithms (3 hours lecture)
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 sh.
Prerequisites: Permission of graduate coordinator.
CMPT584: Operating System Design (3 hours lecture)
Design and implementation of operating systems, multiprogramming, multiprocessor, device management, scheduling, virtual memory, case studies. 3 sh.
Prerequisites: CMPT 581, and permission of graduate coordinator.
CMPT585: Topics in Computer Science (3 hours lecture)
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 sh.
Prerequisites: CMPT 580 and permission of graduate coordinator.
CMPT586: File Structures and Databases (3 hours lecture)
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 sh.
Prerequisites: Permission of graduate coordinator.
CMPT592: Data Base Design and Implementation (3 hours lecture)
To develop in-depth 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 sh.
Prerequisites: CMPT 586, permission of graduate coordinator.
CMPT594: Software Engineering and Reliability (3 hours lecture)
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 sh.
Prerequisites: Permission of graduate coordinator.
CMPT596: Principles of Data Communication (3 hours lecture)
Physical and logical aspects of data communications: analog-digital, broadband-baseband, TDM-FDM, protocols, modulation techniques, hardware for communication. 3 sh.
Prerequisites: CMPT 580, 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 (3 hours lecture)
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 high-quality complex software products are developed. 3 sh.
Prerequisites: CMPT 594 or permission of graduate advisor.
CMPT695: Seminars in Computer Science (1-4 hours seminar)
Guided study of selected topics in major field of interest. 1 - 4 sh.
Prerequisites: CMPT 581, 583, and 586 and permission of graduate coordinator.
CSIT520: Network Security (3 hours lecture)
An overview of the fundamental problems of intra and inter network security, followed by an in-debth analysis of the current solutions including encryption, authentication, web application security, internet architectures. Testing, analyze current security solutions, based on the three fundamental concepts: Confidentiality, Integrity, and Availability. 3 sh.
Prerequisites: MATH 501 and CMPT 505 or equivalent, or instructor's permission.
CSIT531: Robotics (3 hours lecture)
Fundamental principles in robotics from the aspect of algorithms and computation. Includes fundamentals in robotic technology (inverse kinematics, actuation, sensing, manipulation, control, and motion planning), algorithms for robot communication and sensing, and current directions in robotics applications. 3 sh.
Prerequisites: Departmental approval.
CSIT535: Human-Computer Interaction (HCI) (3 hours lecture)
Course content will include: science-based theories, models, and studies; and user interface design and development. Graphical user interfaces for desktop, web, and mobile devices. Assess usability by quantitative and qualitative methods. Conduct task analyses, usability tests, expert reviews, and continuing assessments of working products by interviews, surveys, and logging. Apply design processes and guidelines to develop professional quality user interfaces. Build low-fidelity paper mockups, and a high-fidelity prototype using contemporary tools and programming environments. 3 sh.
Prerequisites: Departmental approval.
CSIT551: Mobile Computing (3 hours lecture)
Course content will include an introduction into mobile device programming including environment basics, application basics, creating user interfaces, how to deal with data, how to accommodate different devices, basic widgets and more advanced user interface parts for multimedia and maps, and app publication. 3 sh.
Prerequisites: Departmental approval.
CSIT570: Web development, tools, services, and design (3 hours lecture)
This course will discuss issues related to web tools, enterprise web services, and web design. It exams the current state of the arts web development technologies and tools that are used in developing web sites and web services. 3 sh.
Prerequisites: CMPT 505 or equivalent.
CSIT635: Advanced Human-Computer Interaction (HCI) (3 hours lecture)
This course will include an overview of the field of human-computer interaction, and- in a user-centered fashion - members of the class will choose and explore deeply a subfield of HCI (e.g. Technologies for Children, Technologies for Families, Augmented Reality). Students will critically assess, present, and improve upon recent research that is published in the most prestigious HCI conferences and journals. 3 sh.
Prerequisites: CSIT 535 or departmental approval.
CSIT656: Scientific Databases (3 hours lecture)
The course aims to give students the tools and concepts they will need to work with scientific databases in an in-depth manner. It also aims to introduce student to advanced, state-of-the-art concepts as well as give the students the chance to explore scientific database issues within their fields of interest while still in their early stages of study. 3 sh.
Prerequisites: Departmental approval.
MATH501: Mathematics for Computer Science I (4 hours lecture)
Sets, relations, functions, graphs, trees, propositional calculus, induction and recursion, applications to computer science. May not be used for credit by Mathematics or Computer Science majors. 4 sh.
Prerequisites: Graduate program coordinator's permission.
MATH503: Mathematics for Computer Science III (3 hours lecture)
Differential and integral calculus, infinite series, applications to computer science. May not be used for credit by Mathematics and Computer Science majors. 3 sh.
Prerequisites: Graduate program coordinator's permission.
Output generated in 0.00006 seconds.