Underlying theoretical structure of operating systems; input-output and storage systems, data management and processing; assembly and executive systems, monitors; multiprogramming.
CSC 33200 or an equivalent undergraduate course.
3 hr./wk.
An intensive introduction to computer graphics hardware, design of graphics packages, geometric transformations, 3D viewing and projections, raster scan conversion, visible surface determination, lighting and shading, 3D shape representation, and splines. Emphasis is on implementation of important graphics algorithms.
3 hr./wk.
An intensive study of advanced non-numerical programming techniques. Data representation; list, tree and string manipulation algorithms. Recursive programming. Introduction to searching and sorting. Storage management algorithms. Comparative efficiency of algorithms.
3 hr./wk.
Techniques involved in analysis of source languages and generation of efficient object code. Parsing methods, storage allocation, programming language semantics, optimization techniques, interpreters, study of existing compilers and their special features.
3 hr./wk.
Selected topics of current interest. Recent offerings have included computer games, concurrent and distributed processing, search technologies, internet programming and information management.
3 hr./wk.
3 hr./wk.
An intensive introduction to imaging intended for graduate students and advanced undergraduates. Topics include digital filtering theory, image enhancement, image reconstruction, anti-aliasing, warping, and state-of-the-art special effects. These topics form the basis of high quality rendering in computer graphics, as well as low-level processing for computer vision, remote sensing, and medical imaging. Emphasizes computational techniques for implementing useful image processing functions. Programming assignments will reinforce material covered in class.
3 hr./wk.
Extremal graph theory. Drawing planar graphs. Elementary graph algorithms (breadth-first search, depth-first search, topological sort). Minimum spanning trees. Single-source shortest paths. Maximum bipartite matching. Connectivity of graphs. Random graphs.
3 hr./wk.
An introduction to database architecture. Levels of abstraction in a database system, physical data organization, abstract data models, relational database systems, and their query language.
3 hr./wk.
Logical models for database management systems, especially relational, hierarchical and network. Case studies illustrating their implications for applications system development. Physical implementation of advanced data and storage structures.
3 hr./wk.
Current developments in the design, analysis and implementation of algorithms and their applications. Recent offerings have included packing and covering, randomized algorithms, geometric graphs, computational geometry, combinatorics, and algorithms in bioinformatics.
3 hr./wk.
Techniques of efficient program design. Analysis of parallel algorithms chosen from information storage and retrieval, graph theory, pattern matching, matrix operations, etc. as to their time, space, and other resource requirements. Lower bounds for the intrinsic computational difficulty of some of these programs.
3 hr./wk.
The Web Security course focuses on teaching students the fundamentals of web application security with the aim of providing a foundational level of knowledge matched with offensive and defensive skills developed through hands-on experience. Students will learn the basics of cybersecurity and common vulnerabilities and attacks, receiving hands-on practice in both exploitation techniques and strategies for protecting and hardening applications. The course introduces a wide range of topics via a combination of sessions, videos, projects, and labs, giving students both a thorough grounding in the details of cybersecurity and an introduction to the broader landscape of information security.
CSc22000 and CSc 22100.
3 hr./wk.
The study of how to make the computer behave intelligently. State-space methods of problem solving, heuristic search techniques, representation and use of knowledge, mechanical theorem proving, psychological implications. Examples of game playing, problem solving, or other systems.
3 hr./wk.
Methods for processing English texts and dialogues on the computer. Parsing, transformational analysis, semantic analysis, interfacing; examples of natural language systems for carrying on dialogues and performing tests.
3 hr./wk.
Selected topics from expert systems, automated systems and robotics; automated reasoning; computer vision.
3 hr./wk.
A survey of the techniques used in computer vision, which recovers information from images. Topics include: the geometry of image formation; multiple 2D techniques for feature detection, image segmentation, object recognition, and texture; 3D shape from shading, stereo and motion. Some mathematical maturity is assumed, including familiarity with linear algebra, multidimensional calculus and simple statistics.
3 hr./wk.
Generalization and classification; pattern recognition and perception; concept formation; remembering and forgetting; learning and hypothesis formation.
3 hr./wk.
Fundamental concepts from logic, models of computation, and complexity theory. Scope and limitations of various formalisms. The Chomsky hierarchy of languages and machines. Basic ideas for recursive functions. Impact on programming systems.
3 hr./wk.
A review of the basic definitions, concepts and results concerning finite automata (e.g. Myhill-Nerode Theorem). Applications of finite state automata in the modeling of circuits for fast arithmetic computation, exploring graphs and robotic computations, pseudorandom number generators for internet protocols, recent physical and biological applications (e.g. Watson-Crick finite automata).
3 hr./wk.
Formulations of effective computability: Post machines. Turing-type models, recursive functions, and semi-Thue systems. The equivalence of the various formulations. Church's Thesis. Fundamental theorems of computability: universal machines, S-M-N, and recursion theorem. Unsolvable problems. Recursive and recursively enumerable sets.
3 hr./wk.
A comparative study of the structure and use of various functional, logical and sequential languages used in symbolic computation and artificial intelligence. Choice of appropriate programming tools for specific applications. Comparison of user/machine interfaces.
3 hr./wk.
Classification of languages by grammars and automata. The Chomsky hierarchy: regular, context free, context sensitive and recursively enumerable languages and their associated grammars and automata. Closure properties for families of languages. Decision problems for grammars and automata.
3 hr./wk.
Complexity measures for algorithmic systems, determinism vs. non-determinism, time vs. space, complexity hierarchies, aspects of the P-NP question, inherent complexity of specific algorithmic problems, recent applications to cryptography.
3 hr./wk.
Topics of current interest, such as quantum computing, biological computing, automated reasoning , parallel computation, advanced topics in complexity, algebraic and symbolic computation, historical issues and open problems.
3 hr./wk.
Topics of current interest in computer-based information systems. Possible topics include computer-human interaction, virtual organization, decision support systems, knowledge management, and systems analysis. Students are required to complete a project on an approved topic in the course.
3 hr./wk.
All aspects of the market for computer-based information products and services. Course objectives are to define and characterize the information marketplace, to present concepts and methods for analyzing behavior within the marketplace, and review public and private policy implications of the information marketplace.
Strong background in Economics and permission of the instructor.
3 hr./wk.
Quantitative principles of computer design. Instruction -level parallelism (ILP).Exploiting ILP using Dynamic Scheduling, multiple issue, and speculation. Issues in thread-level parallelism using ILP. Multiprocessors and thread-level parallelism. Symmetric shared memory architectures. Distributed shared memory multiprocessors. Memory hierarchy design. Virtual machines. Advanced topics in storage systems.
3 hr./wk.
Data transmission concepts: electro-magnetic energy propagation, bit-serial transmissions, synchronization, modulation. Data communication principles: packet switching, multiplexing, logical connections, protocols, layering. Network protocols: window-based schemes, flow & error control (TCP, X.25). Distributed MAC layer control: CSMA/CD, token-passing, wireless channels, spread-spectrum techniques (CDMA, DSM). Basic network security: encryption, authentication. Upper layer protocols: transport, session, and application layers.
3 hr./wk.
The first part of the course will deal with platform independent software and data for Internet programming. The second part will address Web Services-messaging over standard web protocols. Students will be exposed to current technologies and standards. Topics discussed may include: distributed objects and remote invocation, messaging, name services, security.
3 hr./wk.
Selected topics from the current literature in computer architecture.
3 hr./wk.
Algorithms and software that handle and manipulate interactively digital sound, image, animation and video. Topics covered include digital sound formats and conversion factors affecting sound quality, digital image formats and conversion, image compression and factors affecting image quality, digital video formats and standards, video compression methods, videoconferencing and interactive media.
3 hr./wk.
Selected topics from the current literature in computer communications.
3 hr./wk.
Concepts from probability and information theory entropy, codes for compression, error-correcting codes, secrecy codes, block ciphers and public key cryptosystems, cryptographic protocols for secure communication, introduction to quantum cryptography.
3 hr./wk.
An introduction to the principles and practices of computer security in various computing environments. Conventional encryption systems and classical cryptography. Confidentiality using conventional encryption. Public key encryption and protocols for authentication and digital signatures. Recent cryptanalytic attacks on conventional and public key systems. Intruders, viruses, and trusted systems. Firewalls and internetwork security. A survey of applications and problems arising in contemporary computer security.
3 hr./wk.
Those areas of mathematics necessary for the advanced analysis of algorithms: manipulation of sums, solving recurrences, number theory, binomial coefficients, special sequences, generating functions, and asymptotics.
3 hr./wk.
The simplex method. Duality theory and related methods. The revised simplex method, decomposition, and partitioning methods for large structural problems. Network flow problems: max-flow, min-cut theorem, special algorithms for transportation, shortest route, and assignment problems. Aspects of computer implementation.
3 hr./wk.
Convex functions and convex sets. Gradient, conjugant gradient, and variable metric methods. Kuhn-Tucker and duality theory. Nonlinear programming algorithms. Integer programming, branch and bound methods. Dynamic programming.
3 hr./wk.
An introduction to decision-making under uncertainty. Bayes and minimax criteria. Utility theory, treatment of risk, and the value of information. Two-person and n-person games, stochastic linear programming models, policy improvement algorithm. Markovian decision processes. Application to system design, management, and production.
3 hr./wk.
Simulation methodology, design, and analysis of simulation experiments. Generation and testing of random variates. Variance reduction techniques. Simulation languages. Analysis of queuing models on computer systems simulation.
3 hr./wk.
Introduction to queuing theory. Birth and death processes. Single server and multiple server queuing systems. Priority disciplines. Time sharing and multiprogramming models. Selected topics in system reliability theory.
3 hr./wk.
Selected topics from computer algebra, advanced numerical methods, advanced numerical computation, advanced operations research, combinatorial computing, graph algorithms, cryptography. Recent offerings have included computer vision, cluster computing, digital libraries, pattern recognition and satellite image processing.
3 hr./wk.
A course in the reduction of data sets gathered by government agencies (NOAA and NASA). Data comes from satellite remote sensing and other atmospheric and oceanographic measuring systems.
Permission of the instructor.
3 hr./wk.
An introduction to neural networks and their applications. Material to be covered includes: models of a neuron, network architectures, visualization processes and artificial intelligence in neural networks, learning processes, the perceptron, multilayer perceptrons.
MATH 20300,
MATH 34600 and a working knowledge of C or Fortran.
3 hr./wk.
A research seminar course, focusing on a specialized and contemporary topical areas of computer science. The course will present research articles and technology papers to students in the chosen topic, actively engaging them in the presented materials through their interactive discussions, writing of short summary reports, team projects, literature search and/or exams.
Advanced graduate standing and permission of the instructor.
3 hr./wk.
satisfies non-course requirement.
CSc I96XX
Experimental or theoretical project under the direction of a faculty advisor. Student submits proposal, performs the required studies, submits a written final report, and gives a comprehensive oral presentation to the department or an approved forum. satisfies non-course requirement.
Departmental approval.
satisfies non-course requirement.
Departmental approval required.