Computer Science Minor - Undergraduate - 2009 University Catalog
You are viewing the 2009 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 the following for a total of 19 semester hours:
-
Complete the following 2 requirement(s):
-
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 -
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
Basic theory of digital computers. Syntax and semantics of a programming language. Algorithms: logic, design, testing and documentation. Meets the 1983 General Education Requirement (GER) - Mathematics, Computer Science. 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 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 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 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 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 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 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 CPIN, CPPC, CPSC, SIBC, SICS and SIMB majors. 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 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 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 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 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 INFT majors. 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 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 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 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 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 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 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 sh.
Prerequisites: CMPT 287.
CMPT382: System Analysis and Design
A major project includes forms design, sequential files, files, merge, sort, and editing programs. 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 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 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 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 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 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 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 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 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 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 sh.
Prerequisites: CMPT 484.
CMPT486: Design of Computer Interfaces
Basic digital and analog computing circuits and interface circuits, computer-telecommunication interfaces. 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 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 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 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.