Mathematical Computer Science (MCS)
Courses for Fall 1997
MCS 401 Computer Algorithms I
Time=10MWF Room=311AH Call=63938 Instructor=Glenn K. Manacher
(Section Closed) Time=02MWF Room=212TH Call=09809 Instructor=TBA from EECS
(Section Closed) Catalog description:
Design and analysis of computer algorithms; divide and conquer,
dynamic programming, greedy method, backtracking; algorithms for sorting,
searching, graph computations, pattern matching; and NP-complete problems.
Same as EECS 460.
Prerequisites:
Grade of C or better in MCS 360
and
Stat 381; or EECS 360.
Undergraduate students must register for 3 hours;
graduate students for 4 hours.
Click Here for EECS 460 (MCS 401) Homepage
MCS 415 Programming Language Design
Time=11MWF Room=313LH Call=63952 Instructor=D. Reed, EECS
(Section Closed) Catalog description:
Definition, design and implementation of programming languages; syntactic
and semantic description; variable bindings, control and data structures;
parsing, code generation, optimization; exception handling; and data
abstraction.
Same as EECS 476.
Prerequisites:
MCS 261 and MCS 270 or EECS 370
Undergraduate students must register for 3 hours;
graduate students for 4 hours.
Click Here for EECS 476 (MCS 415) Homepage
MCS 421 Combinatorics
Time=11MWF Room=303AH Call=63969 Instructor=Martin C. Tangora Catalog description:
The pigeonhole principle, permutations and combinations, generating
permutations and combinations, binomial coefficients, inclusion-exclusion
principle, recurrence relations and generating functions, special counting
sequences, Polya theory of counting.
Prerequisites:
Grade of C or better in MCS 261;
and Math 310 or 320 or 330.
Undergraduate students must register for 3 hours;
graduate students for 4 hours.
Click Here for MCS 421 Syllabus page
MCS 423 Graph Theory
Time=12MWF Room=308TH Call=63974 Instructor=Vera Pless (Note: Time Change from 1pm, 4/8/97; Later: Room Change) Catalog description:
Introduction to formal languages; relations between grammars and automata;
elements of the theory of computable functions.
Expanded Title: Combinatorial Graph Theory.
Prerequisites:
Grade of C or better in MCS 261;
and Math 310 or 320 or 330.
Undergraduate students must register for 3 hours;
graduate students for 4 hours.
Click Here for MCS 423 Syllabus page
CANCELLED: MCS 441 Theory of Computation I
Time=12MWF Room=303AH Call=63983 Instructor=None (Section Dropped) Catalog description:
Introduction to formal languages; relations between grammars and automata;
elements of the theory of computable functions.
Prerequisites:
Grade of C or better in MCS 261.
Undergraduate students must register for 3 hours;
graduate students for 4 hours.
MCS 494 Object-Oriented Languages
(Special Topics in Computer Science) Time=10MWF Room=303AH Call=64014 Instructor=Jeffrey S. Leon Course description:
Introduction to object-oriented programming using C++.
Objects and classes. Data abstraction. Operator and function
overloading. Member functions; constructors, destructors, and
conversion operators. Templates. Introduction to inheritance and
virtual functions.
Prerequisites:
MCS 360 (which might be taken concurrently by
a good student) and a reasonably good knowledge of C.
MCS 503 Mathematical Methods for Algorithm Analysis
Time=9MWF Room=215TH Call=02739 Instructor=Uri Peled Course description:
Mathematical techniques useful for the analysis of algorithms,
with applications to analyze popular algorithms. Analysis of algorithms,
recurrences, generating functions, tree algorithms, more if time permits.
Prerequisites:
MCS 421 Combinatorial Theory.
Click Here for MCS 503 Syllabus page
CANCELLED: MCS 542 Theory of Computation II
Time=11MWF Room=321TH Call=02742 Instructor=None (Section Dropped) Catalog description:
Undecidability and computational complexity. Complexity measures for
Turing Machines, random access machines, Boolean circuits, Boolean logic,
Predicate calculus, basic concepts of automated theorem proving.
Prerequisites:
MCS 441 Theory of Computation I.
Click Here for MCS 542 Syllabus page
MCS 572 Introduction to Supercomputing
Time=2MWF Room=320TH Call=64119 Instructor=Floyd B. Hanson Catalog description:
Introduction to supercomputing on vector, parallel and massively parallel
processors; architectural comparisons, parallel algorithms, vectorization
techniques, parallelization techniques, actual implementation on real machines
(Crays, Convex Exemplar(borg) and others).
Prerequisites:
Experience in Numerical Methods or consent of the instructor.
Core course: High Performance Computing Preliminary Examination.
Click Here for MCS 572 Supercomputing Homepage
MCS 590 Math and Information Sciences for Industry (MISI) Workshop
(Special Topics in Computer Science) Time=2F Room=700SEO Call=64153 Instructor=Robert L. Grossman
(Time/Room Change) Description:
This course is centered around one or more "industrial" problems. The goal of
the course is to provide an opportunity for students to use mathematics to work
on problems arising from industrial applications. The course will cover:
mathematical modeling, problem formulation, problem analysis, problem solution,
developing software to implement the solution, validating the software,
analyzing the results, documenting the problem and its solution, and
communicating the results.
Prerequisites: Prior coursework in algorithms, applied
mathematics, and C programming, or consent of instructor.
Core course: Proposed Industrial Mathematics (MISI) Program.
Click Here for MCS 590 (Grossman) Homepage Click Here for MISI Program Homepage
Web Source: http://www.math.uic.edu/~hanson/MCS-F97Courses.html