Computer Science Minor - Undergraduate - 2012 University Catalog
You are viewing the 2012 University Catalog. Please see the newest version of the University Catalog for the most current version of this program's requirements.
COMPUTER SCIENCE MINOR
Complete 19 semester hours, including the following 2 requirement(s):
-
Complete the following 2 requirement(s):
-
Complete the following 4 courses:
-
Complete 6 semester hours from the following:
-
-
RESIDENCY REQUIREMENT FOR MINOR
Residency requirement: at least 9 semester hours must be earned at MSU.
Course Descriptions:
CMPT183: Foundations of Computer Science I (2 hours lecture, 2 hours lab)
Basic theory of digital computers. Syntax and semantics of a programming language. Algorithms: logic, design, testing and documentation. 3 sh.
Prerequisites: MATH 100, MATH 112, MATH 114, MATH 116, MATH 122 or MATH 221.
CMPT184: Foundations of Computer Science II (3 hours lecture)
Continuation of CMPT 183. Algorithm development involving user functions; subroutines, recursions, structures file manipulation. 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 (3 hours lecture)
Applications in accounts receivable, payroll and inventory; language Cobol. Not for major elective credit. 3 sh.
Prerequisites: CMPT 183.
CMPT273: Introduction to Computers in Business (3 hours lecture)
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 sh.
Prerequisites: Not for math/science majors or students who have taken INFO 273.
CMPT280: Assembly Language and Computer Architecture (3 hours lecture)
Computer structures, the conventional machine level, introduction to assembler language. 3 sh.
Prerequisites: CMPT 184.
CMPT281: Theory of Digital Machines (3 hours lecture)
Microprogramming level of a computer, the operating system level, gates, sequential and combinational circuits, flip-flops, registers, number codes. 3 sh.
Prerequisites: CMPT 280 and CMPT 285.
CMPT285: Discrete Mathematical Structures (3 hours lecture)
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 sh.
Prerequisites: MATH 112.
CMPT287: Data Structures, File Structures and Algorithms (4 hours lecture)
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 sh.
Prerequisites: CMPT 184. Prerequisite or co-requisite: CMPT 285.
CMPT288: Introduction to Cognitive Science (3 hours lecture)
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 sh.
Prerequisites: ANTH 100 or CMPT 183 or LNGN 210 or PHIL 100 or PSYC 101.
CMPT289: Introduction to APL (3 hours lecture)
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 sh.
CMPT296: Topics in a Programming Language (1 hour lecture)
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 sh.
Prerequisites: CMPT 184.
CMPT300: Introduction to Science Databases (1 hour lecture)
This course presents and discusses the concepts of the databases used in scientific applications and their differences with respect to other databases. 1 sh.
Prerequisites: CMPT 250, CMPT 287.
CMPT320: Intranet and Internet Security (3 hours lecture)
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 sh.
Prerequisites: CMPT 184 and CMPT 285.
CMPT330: Network Technology (3 hours lecture)
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 sh.
Prerequisites: CMPT 184 and CMPT 285.
CMPT350: Parallel and Distributed Computing (3 hours lecture)
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 sh.
Prerequisites: CMPT 287.
CMPT351: Introduction to Image Processing (3 hours lecture)
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 sh.
Prerequisites: CMPT 250 or CMPT 287.
CMPT363: Introduction to Numerical Computing (3 hours lecture)
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 sh.
Prerequisites: CMPT 183 and MATH 221.
CMPT371: Software Engineering I: Analysis and Design (4 hours lecture)
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 sh.
Prerequisites: CMPT 287.
CMPT372: Software Engineering II: Implementation and Testing (4 hours lecture)
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 sh.
Prerequisites: CMPT 371.
CMPT381: File Processing (3 hours lecture)
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 sh.
Prerequisites: CMPT 287.
CMPT382: System Analysis and Design (3 hours lecture)
A major project includes forms design, sequential files, files, merge, sort, and editing programs. 3 sh.
Prerequisites: CMPT 184.
CMPT384: Systems Software (3 hours lecture)
Design and implementation of assemblers, linkage editors and loaders, libraries, macro processors, and text editors; their relationship to an operating system. 3 sh.
Prerequisites: CMPT 280 and 287.
CMPT385: Computer System Organization (3 hours lecture)
Introduction to chip technology, microprocessors, microcomputers, architecture, instruction sets and programming of microcomputers, and other bus-oriented computers. 3 sh.
Prerequisites: CMPT 281.
CMPT387: Principles of Data Communications (3 hours lecture)
Fundamentals of data communication topics. Analog Digital, Broadband-Baseband, TDM-FDM, AM-FM techniques. Error codes and protocols. 3 sh.
Prerequisites: CMPT 281.
CMPT388: Foundations of Artificial Intelligence (3 hours lecture)
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 sh.
Prerequisites: CMPT 371.
CMPT472: Computer Graphics (3 hours lecture)
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 sh.
Prerequisites: CMPT 287 and MATH 335.
CMPT474: Software Engineering (3 hours lecture)
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 sh.
Prerequisites: CMPT 381 and CMPT 384.
CMPT481: Operating Systems (3 hours lecture)
Process Management. Process synchronization and deadlock prevention. Memory Management. Interrupts processing. I/O Control. 3 sh.
Prerequisites: CMPT 371.
CMPT483: Database Systems (3 hours lecture)
A comprehensive collection of database organizations and design tools: file organizations and evaluations, database structures, schemata and implementations. Database security, operations and management. 3 sh.
Prerequisites: CMPT 371.
CMPT484: Fundamentals of Programming Languages (3 hours lecture)
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 sh.
Prerequisites: CMPT 371.
CMPT485: Compiler Construction (3 hours lecture)
Introduction to the concepts and techniques used in the description of programming languages and in the construction of compilers. 3 sh.
Prerequisites: CMPT 484.
CMPT486: Design of Computer Interfaces (3 hours lecture)
Basic digital and analog computing circuits and interface circuits, computer-telecommunication interfaces. 3 sh.
Prerequisites: CMPT 385.
CMPT487: Local Area Networks (LAN's) (3 hours lecture)
Overview, topology, taxonomy, transmission, technology media and control protocols of microcomputer LAN's. 3 sh.
Prerequisites: CMPT 387.
CMPT490: Honors Seminar in Computer Science (3 hours seminar)
Topics not usually covered within standard computer science courses. A written and an oral report are required. 3 sh.
Prerequisites: CMPT 287, MATH 335 and departmental approval.
CMPT493: Advanced Database Theory (3 hours lecture)
This course continues the introduction to data management. Topics include: security, integrity, concurrency and recovery, query optimization, file structures and other performance issues. 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.
Output generated in 0.00007 seconds.