Computer Science Minor - Undergraduate - 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.

Students may earn a minor in computer science by satisfactorily completing  a minimum 19 semester hour program which includes CMPT 183, 184, 285, 287, and at least two other approved CMPT courses. At least 9 semester hours must be taken at Montclair State University.


COMPUTER SCIENCE MINOR

Complete 19 semester hours, including the following 2 requirement(s):

  1. Complete the following 2 requirement(s):

    1. Complete the following 4 courses:

      CMPT 183 Foundations of Computer Science I 3
      CMPT 184 Foundations of Computer Science II 3
      CMPT 285 Discrete Mathematical Structures 3
      CMPT 287 Data Structures, File Structures and Algorithms 4
    2. Complete 6 semester hours from the following:

      CMPT 250 Web Tools 2-3
      CMPT 261 Business Data Processing 3
      CMPT 273 Introduction to Computers in Business 3
      CMPT 280 Assembly Language and Computer Architecture 3
      CMPT 281 Theory of Digital Machines 3
      CMPT 288 Introduction to Cognitive Science 3
      CMPT 289 Introduction to APL 3
      CMPT 296 Topics in a Programming Language 1
      CMPT 300 Introduction to Science Databases 1
      CMPT 320 Intranet and Internet Security 3
      CMPT 330 Network Technology 3
      CMPT 350 Parallel and Distributed Computing 3
      CMPT 351 Introduction to Image Processing 3
      CMPT 363 Introduction to Numerical Computing 3
      CMPT 371 Software Engineering I: Analysis and Design 4
      CMPT 372 Software Engineering II: Implementation and Testing 4
      CMPT 381 File Processing 3
      CMPT 382 System Analysis and Design 3
      CMPT 384 Systems Software 3
      CMPT 385 Computer System Organization 3
      CMPT 387 Principles of Data Communications 3
      CMPT 388 Foundations of Artificial Intelligence 3
      CMPT 472 Computer Graphics 3
      CMPT 474 Software Engineering 3
      CMPT 481 Operating Systems 3
      CMPT 483 Database Systems 3
      CMPT 484 Fundamentals of Programming Languages 3
      CMPT 485 Compiler Construction 3
      CMPT 486 Design of Computer Interfaces 3
      CMPT 487 Local Area Networks (LAN's) 3
      CMPT 490 Honors Seminar in Computer Science 3
      CMPT 493 Advanced Database Theory 3
      CMPT 495 Topics in Computer Science for Undergraduates 1-3
      CMPT 497 Undergraduate Research in Computer Science I 1-3
      CMPT 498 Undergraduate Research in Computer Science II 1-3
      CMPT 499 Cooperative Education in Computer Science 3-8
  2. RESIDENCY REQUIREMENT FOR MINOR

    Residency requirement: at least 9 semester hours must be earned at MSU.

    CMPT 183 Foundations of Computer Science I 3
    CMPT 184 Foundations of Computer Science II 3
    CMPT 250 Web Tools 2-3
    CMPT 261 Business Data Processing 3
    CMPT 273 Introduction to Computers in Business 3
    CMPT 280 Assembly Language and Computer Architecture 3
    CMPT 281 Theory of Digital Machines 3
    CMPT 285 Discrete Mathematical Structures 3
    CMPT 287 Data Structures, File Structures and Algorithms 4
    CMPT 288 Introduction to Cognitive Science 3
    CMPT 289 Introduction to APL 3
    CMPT 296 Topics in a Programming Language 1
    CMPT 300 Introduction to Science Databases 1
    CMPT 320 Intranet and Internet Security 3
    CMPT 330 Network Technology 3
    CMPT 350 Parallel and Distributed Computing 3
    CMPT 351 Introduction to Image Processing 3
    CMPT 363 Introduction to Numerical Computing 3
    CMPT 371 Software Engineering I: Analysis and Design 4
    CMPT 372 Software Engineering II: Implementation and Testing 4
    CMPT 381 File Processing 3
    CMPT 382 System Analysis and Design 3
    CMPT 384 Systems Software 3
    CMPT 385 Computer System Organization 3
    CMPT 387 Principles of Data Communications 3
    CMPT 388 Foundations of Artificial Intelligence 3
    CMPT 472 Computer Graphics 3
    CMPT 474 Software Engineering 3
    CMPT 481 Operating Systems 3
    CMPT 483 Database Systems 3
    CMPT 484 Fundamentals of Programming Languages 3
    CMPT 485 Compiler Construction 3
    CMPT 486 Design of Computer Interfaces 3
    CMPT 487 Local Area Networks (LAN's) 3
    CMPT 490 Honors Seminar in Computer Science 3
    CMPT 493 Advanced Database Theory 3
    CMPT 495 Topics in Computer Science for Undergraduates 1-3
    CMPT 497 Undergraduate Research in Computer Science I 1-3
    CMPT 498 Undergraduate Research in Computer Science II 1-3
    CMPT 499 Cooperative Education in Computer Science 3-8

Course Descriptions:

CMPT183: Foundations of Computer Science I

Basic theory of digital computers. Syntax and semantics of a programming language. Algorithms: logic, design, testing and documentation. (2 hours lecture, 2 hours lab.) 3 sh.

Prerequisites: MATH 100, MATH 112, MATH 114, MATH 116, MATH 122 or MATH 221.

CMPT184: Foundations of Computer Science II

Continuation of CMPT 183. Algorithm development involving user functions; subroutines, recursions, structures file manipulation. (3 hours lecture.) 3 sh.

Prerequisites: CMPT 183.

CMPT250: Web Tools

This course discusses and investigates the current web tools and technologies that are used in web site design. Focus will be on the markup languages of XHTML and XML; Dynamic HTML; Client side programming language JavaScript; Server side programming, Servlets, JavaServer pages and ASP. () 2 - 3 sh.

Prerequisites: CMPT 184.

CMPT261: Business Data Processing

Applications in accounts receivable, payroll and inventory; language Cobol. Not for major elective credit. (3 hours lecture.) 3 sh.

Prerequisites: CMPT 183.

CMPT273: Introduction to Computers in Business

An introduction to the use of information systems in business. Topics that will be covered include computer hardware and software, systems analysis, management information systems, data communications and application development. Students will be introduced to business software packages which will include database management, spreadsheeting and business word processing. (3 hours lecture.) 3 sh.

Prerequisites: Not for math/science majors or students who have taken INFO 273.

CMPT280: Assembly Language and Computer Architecture

Computer structures, the conventional machine level, introduction to assembler language. (3 hours lecture.) 3 sh.

Prerequisites: CMPT 184.

CMPT281: Theory of Digital Machines

Microprogramming level of a computer, the operating system level, gates, sequential and combinational circuits, flip-flops, registers, number codes. (3 hours lecture.) 3 sh.

Prerequisites: CMPT 280 and CMPT 285.

CMPT285: Discrete Mathematical Structures

The structures include sets, graphs, digraphs, trees, networks, lattices, matrices, semigroups and groups. Many practical business and scientific problems can be posed and solved by the use of these structures. (3 hours lecture.) 3 sh.

Prerequisites: MATH 112.

CMPT287: Data Structures, File Structures and Algorithms

Creation and manipulation of in-memory data structures including graphs, lists, queues, sets, stacks and trees; searching, sorting and other algorithms for in-memory data structures. File, file structures and external sorting. Meets the University Writing Requirement for majors in Computer Science and Science Informatics. (4 hours lecture.) 4 sh.

Prerequisites: CMPT 184. Prerequisite or co-requisite: CMPT 285.

CMPT288: Introduction to Cognitive Science

An introduction to the multidisciplinary field of cognitive science. Topics include: the mind-body problem, thought as computation and the computer model of the mind, the role of representation in mental activity. Emphasis will be upon the methodological approaches found in artificial intelligence, cognitive psychology, cognitive anthropology, cognitive neuroscience, linguistics, and philosophy. Cross listed with Linguistics LNGN 288, Philosophy and Religion PHIL 288, and Psychology PSYC 288. (3 hours lecture.) 3 sh.

Prerequisites: ANTH 100 or CMPT 183 or LNGN 210 or PHIL 100 or PSYC 101.

CMPT289: Introduction to APL

Develops programming competence in the APL language. APL is an acronym for "A Programming Language". Applications in the field of sciences, mathematics, and business. Free elective credit only. (3 hours lecture.) 3 sh.

CMPT296: Topics in a Programming Language

An introduction to a selected programming language with a view to learn the most important structures in that language. Each time the course is offered only one programming language will be taught, but the language could vary from one semester to another. The course could be taken more than once by the same student, provided the languages are different. May be repeated 4 times for a maximum of 5.0 credits. (1 hour lecture.) 1 sh.

Prerequisites: CMPT 184.

CMPT300: Introduction to Science Databases

This course presents and discusses the concepts of the databases used in scientific applications and their differences with respect to other databases. (1 hour lecture.) 1 sh.

Prerequisites: CMPT 250, CMPT 287.

CMPT320: Intranet and Internet Security

An overview of the fundamental problems of computer security, followed by an in-depth analysis of the current solutions including encryption, public key schemes, testing and analyzing current network security and internet architecture based on security considerations. Meets the University Writing Requirement for majors in Information Technology. (3 hours lecture.) 3 sh.

Prerequisites: CMPT 184 and CMPT 285.

CMPT330: Network Technology

An introduction to the technologies behind networks and Internet applications. Topics include the logical and physical organization of computer networks, network programming, and the integration of computer applications into a network environment. (3 hours lecture.) 3 sh.

Prerequisites: CMPT 184 and CMPT 285.

CMPT350: Parallel and Distributed Computing

An overview of a variety of parallel hardware architectures, ranging from symmetric multiprocessors to clusters. The appropriate programming techniques for those architectures such as threads and message passing. Parallelization of sequential algorithms for some common problems. Speed-up analysis. (3 hours lecture.) 3 sh.

Prerequisites: CMPT 287.

CMPT351: Introduction to Image Processing

In this course, image analysis and processing techniques are introduced. One-dimensional and two-dimensional theories for image processing are discussed. Topics include image representation, convolution, equalization, image filtering, segmentation, compression, morphological and medical imaging. (3 hours lecture.) 3 sh.

Prerequisites: CMPT 250 or CMPT 287.

CMPT363: Introduction to Numerical Computing

Fundamentals of numerical computation, with emphasis on basic algorithms and their efficient implementation: appropriate treatment of theoretical bases. Topics include floating point arithmetic, roundoff error and propagation, numerical solution of nonlinear equations, interpolation and approximation, and numerical integration. The Fortran language will be taught and used in programming assignments. (3 hours lecture.) 3 sh.

Prerequisites: CMPT 183 and MATH 221.

CMPT371: Software Engineering I: Analysis and Design

Utilization of software engineering principles and techniques for the specification, analysis, and design of high-quality complex software systems including both technical and non-technical aspects. (4 hours lecture.) 4 sh.

Prerequisites: CMPT 287.

CMPT372: Software Engineering II: Implementation and Testing

This course utilizes software engineering principles and techniques for the implementation, testing and maintenance of high-quality complex software systems, as designed in a previous course (CMPT 371). (4 hours lecture.) 4 sh.

Prerequisites: CMPT 371.

CMPT381: File Processing

Secondary storage and its physical constraints. Types of fields and records. Sequential, direct, indexed, ISAM, and VSAM file organization. Sequential, random, and secondary access methods. Searching, sorting, updating and retrieving from files. File maintenance. (3 hours lecture.) 3 sh.

Prerequisites: CMPT 287.

CMPT382: System Analysis and Design

A major project includes forms design, sequential files, files, merge, sort, and editing programs. (3 hours lecture.) 3 sh.

Prerequisites: CMPT 184.

CMPT384: Systems Software

Design and implementation of assemblers, linkage editors and loaders, libraries, macro processors, and text editors; their relationship to an operating system. (3 hours lecture.) 3 sh.

Prerequisites: CMPT 280 and 287.

CMPT385: Computer System Organization

Introduction to chip technology, microprocessors, microcomputers, architecture, instruction sets and programming of microcomputers, and other bus-oriented computers. (3 hours lecture.) 3 sh.

Prerequisites: CMPT 281.

CMPT387: Principles of Data Communications

Fundamentals of data communication topics. Analog Digital, Broadband-Baseband, TDM-FDM, AM-FM techniques. Error codes and protocols. (3 hours lecture.) 3 sh.

Prerequisites: CMPT 281.

CMPT388: Foundations of Artificial Intelligence

A general, comprehensive coverage of the main areas constituting the field of artificial intelligence, introduction of computer vision, natural language processing (NLP), pattern recognition and neural networks. (3 hours lecture.) 3 sh.

Prerequisites: CMPT 371.

CMPT472: Computer Graphics

An introduction to computer graphics, including the algorithms to generate two-dimensional and three-dimensional graphical pictures. An overview of interactive graphics and graphics devices. (3 hours lecture.) 3 sh.

Prerequisites: CMPT 287 and MATH 335.

CMPT474: Software Engineering

This course is designed to introduce the principles and methods for the design, coding, and verification of large software systems. Topics include software design techniques, programming methodology, programming testing, and software reusability. (3 hours lecture.) 3 sh.

Prerequisites: CMPT 381 and CMPT 384.

CMPT481: Operating Systems

Process Management. Process synchronization and deadlock prevention. Memory Management. Interrupts processing. I/O Control. (3 hours lecture.) 3 sh.

Prerequisites: CMPT 371.

CMPT483: Database Systems

A comprehensive collection of database organizations and design tools: file organizations and evaluations, database structures, schemata and implementations. Database security, operations and management. (3 hours lecture.) 3 sh.

Prerequisites: CMPT 371.

CMPT484: Fundamentals of Programming Languages

Syntax and semantics of modern programming languages with emphasis on programming in the large, functional, logic, and object-oriented paradigms. Common threads found in both imperative and non-imperative languages discussed. (3 hours lecture.) 3 sh.

Prerequisites: CMPT 371.

CMPT485: Compiler Construction

Introduction to the concepts and techniques used in the description of programming languages and in the construction of compilers. (3 hours lecture.) 3 sh.

Prerequisites: CMPT 484.

CMPT486: Design of Computer Interfaces

Basic digital and analog computing circuits and interface circuits, computer-telecommunication interfaces. (3 hours lecture.) 3 sh.

Prerequisites: CMPT 385.

CMPT487: Local Area Networks (LAN's)

Overview, topology, taxonomy, transmission, technology media and control protocols of microcomputer LAN's. (3 hours lecture.) 3 sh.

Prerequisites: CMPT 387.

CMPT490: Honors Seminar in Computer Science

Topics not usually covered within standard computer science courses. A written and an oral report are required. (3 hours seminar.) 3 sh.

Prerequisites: CMPT 287, MATH 335 and departmental approval.

CMPT493: Advanced Database Theory

This course continues the introduction to data management. Topics include: security, integrity, concurrency and recovery, query optimization, file structures and other performance issues. (3 hours lecture.) 3 sh.

Prerequisites: CMPT 483.

CMPT495: Topics in Computer Science for Undergraduates

Study of specialized topics in computer science. May be repeated once for a maximum of 6.0 credits as long as the topic is different. () 1 - 3 sh.

Prerequisites: CMPT 287 and departmental approval.

CMPT497: Undergraduate Research in Computer Science I

Individual research in areas of computer science agreed upon by the student and the instructor. The results of the research will be a basis of a seminar or colloquium to be given by the student. Students must not accumulate more than 6 credits total in courses CMPT 497, 498, MATH 497, 498. () 1 - 3 sh.

Prerequisites: CMPT 281, MATH 335, and departmental approval.

CMPT498: Undergraduate Research in Computer Science II

Individual research in areas of computer science agreed upon by the student and the instructor. The results of the research will be a basis of a seminar or colloquium to be given by the student. Students must not accumulate more than 6 credits total in courses CMPT 497, 498 MATH 497, 498. () 1 - 3 sh.

Prerequisites: CMPT 281, MATH 335, and departmental approval.

CMPT499: Cooperative Education in Computer Science

The study of theoretical ideas of computer science combined with their practical applications in a real life environment. The co-op experience is a semester working off-campus under the guidance of a company supervisor, and a faculty supervisor. Only 3 of the 8 credits may be used to fulfill the major requirement. () 3 - 8 sh.

Prerequisites: CMPT 320 or CMPT 371 and departmental approval.