A more complete and up-to-date version is available from the Undergraduate>Course Synopses section of this site.
01:198:110
Principles of Computer Science (3)
Not for major credit. Students planning further study in CS should take 01:198:111.
A general survey about what computers are and how they are used, including an introduction to computer programming.
01:198:111
Introduction to Computer Science (4)
An intensive introduction to computer science. Writing, debugging, and analyzing programs. Algorithms for sorting and searching. Introduction to data structures. For students in science, mathematics, and engineering.
01:198:112
Data Structures (4)
Prerequisite: 01:198:111.
Queues, stacks, trees, lists, graphs, and recursion; sorting and searching; comparison of algorithms.
01:198:205
Introduction to Discrete Structures I (4)
Prerequisites: 01:198:111 and CALC.
Sets, propositional and predicate logic, relations and their properties, and definitions and proofs by induction with applications to the analysis of loops of programs.
01:198:206
Introduction to Discrete Structures II (4)
Prerequisites: 01:198:205.
Credit will not be given for both 01:198:206 and 01:640:477.
Counting (binomial coefficients, combinations), methods of finding and solving recurrence relations, discrete probability, regular expressions and finite automata, basic graph theory.
01:198:211
Computer Architecture and Assembly Language (4)
Prerequisite: 01:198:112. Credit not given for both this course and 14:330:337.
The levels of organization in digital computer systems; assembly language programming techniques; comparative machine architectures; assemblers, loaders, and operating systems. Programming assignments in assembly language.
01:198:221
Numerical Problems and Computer Programming (4)
Prerequisites: CALC2 or the equivalent.
An introductory numerical analysis course similar to 01:198:323, but designed for nonmajors. FORTRAN taught in recitation.
01:198:230
Introduction to Information Systems (4)
Prerequisite: 01:198:110 or 111.
Not for Major credit. Introduction to databases and file structures, and to network access tools for information storage and retrieva.
01:198:314
Principles of Programming Languages (4)
Prerequisites: 01:198:112, 205.
Syntax, semantics, names and values, control structures, data types, procedures and parameters, scope rules; procedural, functional, pnkect-oriented and logic-programming paradigms.
01:198:323
Numerical Analysis and Computing (4)
Prerequisites: 01:198:111, CALC2, and 01:640:250.
Credit will not be given for both 01:198:323 and 01:640:373.
Approximation, interpolation, numerical differentiation, integration; numerical solution of nonlinear equations, linear algebraic systems, and ordinary differential equations.
01:198:324
Numerical Methods (4)
Prerequisites: 01:198:323 or 01:640:373.
Credit will not be given for both 01:198:324 and 01:640:374.
Computational methods for linear algebraic systems, eigenvalues and eigenvectors, approximation of functions, splines; numerical solution of initial and boundary value problems for differential equations.
01:198:336
Principles of Database Management Systems (4)
Prerequisites: 01:198:112 and 01:640:205
Provides an introduction to the concepts and design principles used in database management systems.
01:198:344
Design and Analysis of Computer Algorithms (4)
Prerequisites: 01:198:112 and 01:198:206.
Study of algorithms. Techniques for efficiency improvement. Analysis of complexity and validity for sorting (internal, external), shortest path, spanning tree, cut points, connected components, and pattern matching. NP completeness.
01:198:352
Internet Technology (4)
Prerequisites: 01:198:211
Provides a practical understanding of computer networks with respect to system architectures, protocols, and client-server interaction. These objectives are accomplished through extensive laboratory exercises.
01:198:405
Seminar in Computers and Society (3)
Prerequisites: At least one computer science course and one course in sociology, political science, anthropology, or philosophy.
Study and discussion of the impact of computers on man and society. For all students interested in exploring the social consequence of computer developments.