Courses at the 600 level are available to advanced undergraduate students and graduate students.
611.Computer Architecture. (3) An in-depth study of computer systems and architectural design. Topics include processor design, memory hierarchy, external storage devices, interface design, and parallel architectures. (Syllabus for Canas.)
621. Database Management Systems. (3) An Introduction to large-scale database management systems. Topics include data independence, database models, query languages, security, integrity, and concurrency. (Syllabus for Thomas.)
631. Object-Oriented Software Engineering. (3) A study of software design and implementation from an object-oriented perspective, covering abstraction, encapsulation, data protection, inheritance, composition, polymorphism and dynamic vs. static binding. Students practice software engineering principles through team projects. (Syllabus for Francel, Pauca.)
633. Principles of Compiler Design. (3) A study of techniques for compiling computer languages including scanning, parsing, translating, and generating code. (Syllabus for Torgersen.)
641. Operating Systems. (3) The study of the different modules that compose a modern operating system. In-depth study of concurrency, processor management, memory management, file management and security. (Syllabus for Canas.)
643. Internet Protocols. (3) The study of wide area connectivity through interconnection networks. Emphasis will be placed on Internet architecture and protocols. Topics include addressing, routing, multicasting, quality of service and network security. (Syllabus for Fulp.)
646. Parallel Computation. (3) A study of hardware and software issues in parallel computing. Topics include a comparison of parallel architectures and network topologies, and an introduction to parallel algorithms, languages, programming, and applications.
652. Numerical Linear Algebra. (3) Numerical methods for solving matrix and related problems in science and engineering. Topics will include systems of linear equations, least squares methods, and eigenvalue computations. Beginning knowledge of a high-level programming language is required. Credit not allowed for both Mathematics 626 and Computer Science 652. (Syllabus for Plemmons.)
655. Introduction to Numerical Methods. (3) Numerical computations on modern computer architectures; floating-point arithmetic and round-off error. Programming in a scientific/engineering language such as MATLAB, C, or FORTRAN. Algorithms and computer techniques for the solution of problems such as roots of functions, approximation, integration, systems of linear equations and least squares methods. Credit not allowed for both Mathematics 655 and Computer Science 655. (Syllabus for Plemmons.)
661. Digital Media. (3) An introduction to digital media covering sampling and quantization, resolution, color representation, multimedia file formats, data encoding and compression, multimedia network issues, streaming data, and multimedia programming. (Syllabus for Burg.)
663. Computer Graphics. (3) A study of software and hardware techniques in computer graphics. Topics include line and polygon drawing, hidden line and surface techniques, transformations, and ray tracing.
665. Image Processing Fundamentals. (3) A study of the basic theory and algorithms for image enhancement, restoration, segmentation, and analysis. (Syllabus for Pauca.)
671. Artificial Intelligence. (3) An introduction to problems in artificial intelligence. Knowledge representation and heuristic search in areas such as planning, machine learning, pattern recognition, and theorem proving. (Syllabus for Thomas.)
685. Bioinformatics. (3) An introduction to bioinformatics and computing techniques essential to current biomedical research. Topics include genome and protein sequence and protein structure databases, algorithms for sequence and structure analysis, and computer architecture and environment considerations. Emphasizes interdisciplinary interaction and communication and includes a project that may use software engineering and project management protocols and require working as part of an interdisciplinary team. Also listed as Physics 685.
687. Computational Systems Biology. (3) Introduction of concepts and development of skills necessary for comprehension of modern systems biology research problems, including both biological and computational aspects. Topics may include microarrays, protein interaction networks, large-scale proteomics experiments, and algorithms and computational approaches for modeling, storing, and analyzing the resulting data sets. Emphasizes interdisciplinary interaction and communication and includes a project that may use software engineering and project management protocols and require working as part of an interdisciplinary team.
691. Selected Topics. (1, 2, or 3) Topics in computer science which are not studied in regular courses or which further examine topics begun in regular courses. P - POI. (Syllabus for Burg, Fetrow, Fulp, Torgersen, Turkett. )
693. Individual Study. (1 or 2) Independent study directed by a faculty adviser. By prearrangement.
Request more information |