Computer Science Courses (CSC)


The following courses, numbered 5000-9999, are offered for graduate credit. Courses numbered 5000-6999 which are offered for undergraduate credit only may be found in the undergraduate bulletin with all other undergraduate courses). Courses in the following list numbered 5000-6999 may be taken for undergraduate credit unless specifically restricted to graduate students. For interpretation of numbering system, signs and abbreviations, see University Courses.

5000 (SCP 7100) Scientific Systems Programming. (ECE 7225) Cr. 3

Not for CSC or ECE major credit. Prereq: working knowledge of Fortran or C or C++. Introduction to basic programming tools required for scientific computing, including advanced programming concepts, code optimizations, mathematical prototyping language, and basic system administration. (F)

5050 (ECE 4050) Algorithms and Data Structures. Cr. 4

Prereq: CSC 1050 or CSC 2000. Not for major credit. Introduction to problem solving methods and algorithm development; data abstraction for structures such as stacks, queues, linked lists, trees, and graphs; searching and sorting algorithms and their analysis. (T)

5250 Network, Distributed, and Concurrent Programming.
Cr. 3

Prereq: CSC 4420. Fundamental concepts and skills of developing networked, distributed, and concurrent applications. Topics include: inter-process communication, TCP/IP sockets programming, remote method invocation, multithreading, concurrency and synchronization.
(Y)

5270 Computer Systems Security. Cr. 3

Prereq: CSC 4420 and CSC 5250 or consent of instructor. Fundamental technologies for enabling an e-society which is more predictable, more accountable, and less vulnerable to attacks. Covers three components: security requirements and protocols, cryptography algorithms, and case studies. (F)

5710 Design of Intelligent Information Systems. Cr. 3

Prereq: CSC 4710, 5800. Object-oriented data modeling; intelligent office information systems; decision support systems; deductive databases; hypertext; specific applications in interfacing commercial databases and expert systems. (Y)

5750 Principles of Web Technology. Cr. 3

Prereq: CSC 3750 or senior or graduate standing. History and development of the world-wide web. Techniques for authoring static and dynamic content for the world-wide web. Web security techniques. Electronic commerce on the web. Lab exercises required. (F,W)

5800 Expert Systems: Tools and Languages. Cr. 3

Prereq: CSC 2200 or 5050. Survey of languages and tools for the development of expert systems applications. Introduction to functional, logical, and object-oriented programming and to various commercially available expert system environments; specific applications in areas of computer science, medicine, and engineering. (I)

5830 Computational Modeling of Complex Systems. Cr. 3

Prereq: knowledge of a programming language; MAT 2010. Introduction to computer methods useful for modeling complex systems which are refractory to traditional methods of analysis. Emphasis on problem formulation and concrete examples drawn from computer science, engineering, chemistry, and biology. (W)

5860 Introduction to Pattern Recognition and Document
Analysis. Cr. 3

Prereq: senior standing. Model of a pattern recognition system; representation techniques of classifiers; parametric and nonparametric classification methods; clustering; feature selection and extraction document processing, analysis, and classification. (Y)

5870 Computer Graphics I. Cr. 3

Prereq: CSC 2200 or 5050, MAT 2250. Graphics devices, graphics primitives, 2-D transformations, windowing and clipping, modeling 3-D objects, 3-D viewing transformations, hidden surface removal, shading and color. (Y)

5880 Principles of Natural Computing. Cr. 3

Prereq: senior or graduate standing. Introduction to basic principles of information processing in biological systems; similarities and differences between biological systems and computing machines; implication of biological information processing principles and mechanisms for artificial intelligence. (B)

5991 Special Topics in Computer Science. Cr. 1-4 (Max. 8)

Prereq: senior or graduate standing. Topics to be announced in the Schedule of Classes. (I)

6110 Software Engineering. Cr. 3

Prereq: CSC 2200 or 5050. Software process models; advanced software system design; software project management; software analysis; testing and performance analysis; software maintenance; reverse engineering; software reuse; software metrics; object-oriented development. (Y)

6140 Knowledge-Based Software Engineering. Cr. 3

Prereq: CSC 4110 or 6110. Domain modeling and object-oriented analysis; formal requirements specification languages; construction of programs from formal specifications and correctness proofs; rapid prototyping; transformational approaches to program development; acquisition of software engineering knowledge; program comprehension; knowledge-based approaches to software maintenance and reuse; computer-supported cooperative work. (I)

6170 Structure of Compilers I. Cr. 3

Prereq: CSC 4500 and 3200. Lexical analysis; syntactic analysis; error detection; translation into intermediate code; storage allocation; optimization techniques. (I)

6220 Parallel Computing I: Programming. Cr. 3

Prereq: CSC 2200, CSC 4100, or consent of instructor. Parallel computing concepts, examples of parallel computers, parallelism in algorithms / data / programs, experiences with state of the art parallel computers. (Y)

6280 Advanced Operating Systems. (ECE 5640) Cr. 4

Prereq: CSC 4420. Distributed operating system design issues including communication, synchronization, processes, file systems, and memory management; study and discussion of systems such as UNIX, MACH, AMOEBA, and CHORUS. (I)

6290 Data Communication and Computer Networks. Cr. 3

Prereq: CSC 5250. Data communication fundamentals and principles governing computer communication networks. Components of networks, how they are connected; basics of design and implementation of network protocols. (Y)

6500 Theory of Languages and Automata. Cr. 3

Prereq: graduate standing. Recursive and recursively enumerable languages; decidability and computability; Rice's theorem; time complexity; space complexity. (F,W)

6550 Introduction to Formal Software Verification. Cr. 3

Prereq: CSC 4500 or 5050 or consent of instructor. Propositional logic, predicate logic, proof systems, proofs, soundness, completeness. Verification of sequential programs, Floyd's verification method, Hoare logic. Unity. Program specification. Deterministic programs, nondeterministic programs. Compositional vs. non-compositional verification techniques. (I)

6580 Design and Analysis of Algorithms. Cr. 3

Prereq: CSC 2200. Best case, worst case, and expected case complexity analysis; asymptotic approximations; solutions of recurrence equations; probabilistic techniques; divide-and-conquer; the greedy approach; dynamic programming; branch and bound; NP-completeness; parallel algorithms. (F,W)

6620 Matrix Computation I. (ECE 5020) Cr. 4

Prereq: CSC 2110, or equiv.; and MAT 2250 for computer science students, B E 3040 for engineering students. Background matrix algebra; linear system sensitivity; basic transformations; Gaussian elimination; symmetric systems; positive definite systems; Householder method for least squares problems; unsymmetic eigenvalue problems; the QR algorithm. (Y)

6710 Database Management Systems I. Cr. 3

Prereq: CSC 2200 or 5050. Data models, normal forms, relational systems and SQL, query optimization, object-oriented systems, object-relational systems, student Oracle project. (Y)

6800 Artificial Intelligence I. Cr. 3

Prereq: CSC 5800 or 3200. Basic concepts; topics include: recursive problem solving, knowledge representation using semantic networks and frames, state space search methods, planning and problem solving, game playing and adversarial search methods, rules and production systems (RETE networks), constraint satisfaction techniques and applications, optimization algorithms including genetic algorithms, logic programming. Implementation in Lisp and Prolog. (Y)

6830 Computational Modeling Laboratory. Cr. 3

CSC 5830 or consent of instructor. Practical experience in the implementation and documentation of computer models. (I)

6860 Digital Image Processing and Analysis. Cr. 3

Prereq: graduate standing. Review of image formation and acquisition; image transformation; image enhancement and restoration; image compression; morphological image processing; edge detection and segmentation; architecture for image processing. (I)

6870 Computer Graphics II. Cr. 3

Prereq: CSC 5870. Representing curves and surfaces; solid modeling; fractal geometry; camera models; illumination models; ray tracing; radiosity methods; transparency; texture; graphics packages. Material Fee as indicated in the Schedule of Classes (Y)

6991 Topics in Computer Science. Cr. 1-4 (Max. 8)

Prereq: senior or graduate standing. Current topics to be announced in the Schedule of Classes . (I)

6995 Internship in Computer Science. Cr. 1-3 (Max. 4)

Prereq: consent of adviser; 3.0 g.p.a. or above; completion of nine credits in computer science graduate course work. Open only to computer science majors. Offered for S and U grades only. Experience in industry using tools from the computer science curriculum. Students provide a written report based on the internship experience. (T)

7100 Advanced Computer Architecture. Cr. 3

Prereq: CSC 4100 or ECE 4680. Recent advances in processor architectures; chip multiprocessors; system-on-chips; embedded systems; DSP processors; system software for system-on-chips; hands-on programming experience. (F)

7110 Software Engineering Environments. Cr. 3

Prereq: CSC 6110. Architecture of software engineering environments; syntax directed editors; CASE tools; tools for software maintenance; expert systems for software maintenance. (Y)

7220 Parallel Computing II: Algorithms and Applications.
Cr. 3

Prereq: CSC 6220 or equiv. Problems in parallel algorithms: design, analysis, complexity. Cluster and grid computing: tools, programming, and applications. (Y)

7260 Distributed Systems. Cr. 3

Prereq: CSC 5250. Models of distributed systems, distributed synchronization, algorithms, consistency and replication models and algorithms, fault-tolerance in distributed systems. (B)

7290 Broadband Network Architecture. Cr. 3

Prereq: CSC 6290. Architecture and principles of operation for integrated broadband networks, particularly those capable of supporting multimedia traffic (voice, video data, graphics) over local and wide area networks. Network technologies and their impact on network architecture. Demands of different traffic types; network components, architectures, protocols and standards to support them. (Y)

7550 Formal Verification of Concurrent and Distributed
Systems. Cr. 3

Prereq: CSC 6550 or consent of instructor. Formal reasoning about concurrent and distributed programs. CSP. Different non-compositional and compositional verification techniques. Examples of verification techniques to programs. Fairness. (I)

7710 Database Management Systems II. Cr. 3

Prereq: CSC 6710. Concurrency control, transaction processing, crash recovery, security, distributed and heterogeneous databases, data warehousing, data mining, multimedia systems, student Oracle project. (Y)

7800 Artificial Intelligence II. Cr. 3

Prereq: CSC 6800. Advanced topics from these areas: machine learning techniques (inductive and deductive), neural networks and perceptrons, genetic algorithms, advanced concepts in knowledge-based system design, inexact inference, constraint satisfaction techniques and applications, object-oriented programming. Implementation in Lisp and Prolog. (Y)

7850 Artificial Neural Networks. Cr. 3

Prereq: graduate standing. Introduction to computational characteristics of the brain, single layer neural nets, multilayer nets, learning and self-organization, adaptive and associative neural processing, current implementations and applications. (I)

7860 Computer Vision. Cr. 3

Prereq: CSC 6860. Low-level vision processing, use of constraints in visual processing, three-dimensional object recognition, dynamic scene analysis, model-based vision systems, use of neural and fuzzy logic methods in vision. (Y)

7990 Directed Study. Cr. 1-5 (Max. 16)

Prereq: written consent of adviser prior to registration. (T)

7991 Advanced Topics in Computer Science. Cr. 1-4 (Max. 8)

Prereq: graduate standing. Topics to be announced in Schedule of Classes. (B)

8110 Seminar in Software Engineering and Environments. Cr. 3 (Max. 6, M.S.; max. 12, Ph.D.)

Prereq: CSC 7110 and written consent of instructor. Discussion of current papers in the field. (B)

8260 Seminar in Networking, Distributed Systems and Parallel Systems. Cr. 3 (Max. 6, M.S.; max. 12, Ph.D.)

Prereq: written consent of instructor. Discussion of current research papers in the fields. (B)

8550 Seminar in Formal Software Verification.
Cr. 3 (Max. 6, M.S.; max. 12, Ph.D.)

Prereq: CSC 7550 and written consent of instructor. Discussion of current research in the field. (B)

8710 Seminar in Database Management Systems.
Cr. 3 (Max. 6, M.S.; max. 12, Ph.D.)

Prereq: CSC 7710 and written consent of instructor. Discussion of current papers in the field. (B)

8800 Seminar in Artificial Intelligence.
Cr. 3 (Max. 6, M.S.; max. 12, Ph.D.)

Prereq: CSC 7800 and written consent of instructor. Discussion of current papers in the field. (B)

8860 Seminar Topics in Computer Vision and Pattern
Recognition. Cr. 3 (Max. 6, M.S.; max. 12, Ph.D.)

Prereq: CSC 7860 and written consent of instructor. Discussion of current papers in the field. (B)

8880 Seminar in Natural Computing and Adaptability Theory. Cr. 3 (Max. 6, M.S.; max. 12, Ph.D.)

Prereq: CSC 6880 or 7880 or consent of instructor. Discussion of current research in the field. (B)

8990 Graduate Seminar.
Cr. 1 (Max. 2 for M.S.; max. 8 for Ph.D.)

Prereq: graduate standing. Offered for S and U grades only. Required of all master's and Ph.D. students. Discussion of current research by faculty and visitors. (F,W)

8999 Master's Thesis Research and Direction. Cr. 1-8 (8 req.)

Prereq: written consent of adviser prior to registration. (T)

9990 Pre-Doctoral Candidacy Research. Cr. 1-8 (Max. 10)

Prereq: consent of department. For Ph.D. program applicants. Offered for S and U grades only. Research in preparation for doctoral dissertation. (T)

9991 Doctoral Candidate Status I: Dissertation Research and Direction. Cr. 7.5

Prereq: consent of dissertation adviser; Ph.D. candidate in department. Required in academic-year semester following advancement to Ph.D. candidacy. Offered for S and U grades only. (T)

9992 Doctoral Candidate Status II: Dissertation Research and Direction. Cr. 7.5

Prereq: consent of dissertation adviser; CSC 9991. Required in academic-year semester following CSC 9991. Offered for S and U grades only. (T)

9993 Doctoral Candidate Status III: Dissertation Research and Direction. Cr. 7.5

Prereq: consent of dissertation adviser; CSC 9992. Required in academic-year semester following CSC 9992. Offered for S and U grades only. (T)

9994 Doctoral Candidate Status IV: Dissertation Research and Direction. Cr. 7.5

Prereq: consent of dissertation adviser; CSC 9993. Required in academic-year semester following CSC 9993. Offered for S and U grades only. (T)

9995 Candidate Maintenance Status: Doctoral Dissertation Research and Direction. Cr. 0

Prereq: consent of dissertation adviser; completion of 30 credits in CSC 9999, or 9991-9994. Offered for S and U grades only. (T)

9999 Doctoral Dissertation Research and Direction.
Cr. 1-16 (30 req.)

Prereq: written consent of adviser prior to registration. Offered for S and U grades only. (T)