Subject |
Number |
Title |
Hours |
Catalog Description |
General Education Category |
MCS |
260 |
Introduction to Computer Science |
4 hours. |
Computer literacy, number systems, concepts of operation systems, storage, files, databases, logic gates, circuits, networks, internet. Introduction to programming in Python, variables, assignments, functions, objects. Prerequisite(s): Credit or concurrent registration in MATH 180. |
Natural World - No Lab course. |
MCS |
275 |
Programming Tools and File Management |
4 hours. |
Bit manipulation, screen and file input/output, separate compilation and linking, creating and using libraries, the ANSI C library, make utilities, interactive debuggers, introduction to C++ classes. Prerequisite(s): Grade of C or better in MATH 180, and grade of C or better in MCS 260 or grade of C or better in CS 102. |
|
MCS |
294 |
Special Topics in Computer Science |
1 TO 4 hours. |
Course content is announced prior to each term in which it is given. May be repeated. Prerequisite(s): Approval of the department. |
|
MCS |
320 |
Introduction to Symbolic Computation |
3 hours. |
Introduction to computer algebra systems (MAPLE), symbolic computation, and the mathematical algorithms employed in such computation, with examples and applications to topics in undergraduate mathematics. Prerequisite(s): Grade of C or better in MATH 210; and Grade of C or better in MCS 260 or Grade of C or better in CS 102 or Grade of C or better in CS 108. |
|
MCS |
360 |
Introduction to Data Structures |
4 hours. |
Pointers and dynamic memory allocation in C/C++, recursion, stacks, queues, heaps, binary and multiway trees, graphs, hash tables. Sorting and searching algorithms. Prerequisite(s): Grade of C or better in MCS 260 and Grade of C or better in MCS 275. |
|
MCS |
361 |
Discrete Mathematics |
3 hours. |
Discrete mathematical structures used in computer science: sets, functions and relations; induction, recursive definitions and relations, methods of proof, quantifiers; counting; graphs and trees; algorithms. Previously listed as MCS 261. Prerequisite(s): Grade of C or better in MATH 215; and Grade of C or better in MCS 260 or Grade of C or better in CS 102. |
|
MCS |
394 |
Special Topics in Computer Science |
2 TO 4 hours. |
Course content is announced prior to each term in which it is given. May be repeated. Students may register in more than one section per term. Prerequisite(s): Approval of the department. |
|
MCS |
401 |
Computer Algorithms I |
3 OR 4 hours. |
Design and analysis of computer algorithms. Divide-and-conquer, dynamic programming, greedy method, backtracking. Algorithms for sorting, searching, graph computations, pattern matching, NP-complete problems. Same as CS 401. 3 undergraduate hours. 4 graduate hours. Prerequisite(s): Grade of C or better in MCS 360; or Grade of C or better in CS 202. |
|
MCS |
411 |
Compiler Design |
3 OR 4 hours. |
Language translation: lexical analysis, parsing schemes, symbol table management, syntax and semantic error detection, and code generation. Development of fully-functional compiler. Same as CS 473. 3 undergraduate hours. 4 graduate hours. Prerequisite(s): Grade of C or better in CS 301 or grade of C or better in MCS 441; and grade of C or better in CS 202 or grade of C or better in MCS 360; and grade of C or better in CS 266. |
|
MCS |
415 |
Programming Language Design |
3 OR 4 hours. |
Definition, design, and implementation of programming languages. Syntactic and semantic description; variable bindings, control and data structures, parsing, code generation, optimization; exception handling; data abstraction. Same as CS 476. 3 undergraduate hours. 4 graduate hours. Prerequisite(s): MCS 360 or CS 340. |
|
MCS |
421 |
Combinatorics |
3 OR 4 hours. |
The pigeonhole principle, permutations and combinations, binomial coefficients, inclusionexclusion principle, recurrence relations and generating functions, special counting sequences, Polya theory of counting. 3 undergraduate hours. 4 graduate hours. Prerequisite(s): Grade of C or better in MATH 215; and Grade of C or better in MATH 310 or Grade of C or better in MATH 320; or consent of the instructor. |
|
MCS |
423 |
Graph Theory |
3 OR 4 hours. |
Basic concepts of graph theory including Eulerian and hamiltonian cycles, trees, colorings, connectivity, shortest paths, minimum spanning trees, network flows, bipartite matching, planar graphs. 3 undergraduate hours. 4 graduate hours. Prerequisite(s): Grade of C or better in MATH 215; and Grade of C or better in MATH 310 or Grade of C or better in MATH 320; or consent of the instructor. |
|
MCS |
425 |
Codes and Cryptography |
3 OR 4 hours. |
Mathematics of communications theory, basic information theory necessary to understand both coding theory and cryptography, basic ideas and highlights for both coding theory and cryptography, including public-key cryptosystems. 3 undergraduate hours. 4 graduate hours. Prerequisite(s): Grade of C or better in MATH 215; and Grade of C or better in MATH 310 or Grade of C or better in MATH 320; or consent of the instructor. |
|
MCS |
441 |
Theory of Computation I |
3 OR 4 hours. |
Introduction to formal languages; relations between grammars and automata; elements of the theory of computable functions. 3 undergraduate hours. 4 graduate hours. Prerequisite(s): MATH 215. |
|
MCS |
451 |
Object-Oriented Programming in C++ |
3 OR 4 hours. |
C++ as an object-oriented language, classes and member functions, access control, class scope, constructors, destructors, overloading, conversions, streams, derived classes, polymorphism through virtual functions, templates, class libraries. 3 undergraduate hours. 4 graduate hours. Credit is not given for MCS 451 if the student has credit for CS 474. Extensive computer use required. Prerequisite(s): Grade of C or better in MCS 360 or the equivalent or consent of the instructor. |
|
MCS |
471 |
Numerical Analysis |
3 OR 4 hours. |
Introduction to numerical analysis; floating point arithmetic, computational linear algebra, iterative solution to nonlinear equations, interpolation, numerical integration, numerical solution of ODEs, computer subroutine packages. 3 undergraduate hours. 4 graduate hours. Prerequisite(s): Grade of C or better in MCS 275 or grade of C or better in CS 102 or grade of C or better in CS 108; or consent of instructor. |
|
MCS |
472 |
Introduction to Industrial Math and Computation |
3 OR 4 hours. |
Technical writing and oral presentations in preparation for industrial projects. Topics include quality control, operations research, cost-benefit analysis, differential equations, using scientific software. Extensive computer use required. Prerequisite(s): Grade of C or better in MCS 471 or consent of the instructor. Recommended background: Designed for students with a desire to explore mathematics via practical field work. |
|
MCS |
481 |
Computational Geometry |
3 OR 4 hours. |
Algorithmic problems on sets of points, rectangles, intervals, arcs, chords, polygons. Counting, reporting, location, intersection, pairing; static and dynamic data structures. 3 undergraduate hours. 4 graduate hours. Prerequisite(s): Grade of C or better in MCS 401 or consent of the instructor. |
|
MCS |
494 |
Special Topics in Computer Science |
3 OR 4 hours. |
Topics in mathematical computer science, such as symbolic compution, automated reasoning, cryptography or geometric algorithms. 3 undergraduate hours. 4 graduate hours. May be repeated to a maximum of 12 hours. Students may register in more than one section per term. Prerequisite(s): Approval of the department. |
|
MCS |
496 |
Independent Study |
1 TO 4 hours. |
Reading course supervised by a faculty member. May be repeated. Students may register in more than one section per term. Prerequisite(s): Approval of the instructor and the department. |
|