University of Delaware
Graduate Catalog 1996-1997
College of Arts and Science
Department of Computer and Information Sciences
Course Descriptions

CISC 601  Elements of the Theory of Computation  3
   General models of computation, formal languages and automata theory, and
   algorithmic unsolvability.
   PREREQ: A course in which the student was required to prove theorems.
   RESTRICTIONS: Credit cannot be received for both CISC401 and CIS601.

CISC 603  Program Verification  3
   Specification and verification of programs. Through the use of formal
   and informal verification techniques, program design is made more
   effective and product quality (meeting specs) is enhanced.
   PREREQ: CISC310.
   RESTRICTIONS: Credit cannot be received for both CISC603 and CISC403.

CISC 604  Logic in Computer Science  3
   Formal introduction to first-order logic with emphasis on its relevance
   to computer science. Syntax, semantics, models, formal proofs and
   results on soundness, consistency, completeness, compactness and
   undecidability. Automated theorem proving also covered.
   PREREQ: CISC310.
   RESTRICTIONS: Credit cannot be received for both CISC604 and CISC404.

CISC 609  Topics in Theoretical Computer Science  3
   Contents vary to coincide with the interests of students and current
   faculty.
   PREREQ: CISC601.
   RESTRICTIONS: Credit cannot be received for both CISC609 and CISC409.

CISC 621  Algorithm Design and Analysis  3
   Emphasis on developing expertise in the design and analysis of
   algorithms. Equal importance given to techniques and specific
   algorithms. Particular topics include advanced data structures, graph
   algorithms, disjoint set manipulation, sorting and selection, amortized
   analysis, NP-completeness, and matrix and polynomial multiplication.
   PREREQ: CISC320 and MATH315.

CISC 623  Applied Symbolic Computation  3
   Introduction to one or more computer algebra systems, algebraic
   computation applied to problems in applied mathematics, and individual
   student projects using symbolic computation to solve a problem from
   student's own discipline. May be cross-listed with MATH613.
   RESTRICTIONS: Offered in alternate years. Credit cannot be received for
      both CISC623 and CISC423.

CISC 626  Simulation of Continuous Systems  3
   Computer simulation of systems described in terms of differential
   equations. Study and use of continuous system simulation languages,
   analog and hybrid computers.
   PREREQ: MATH243 and CISC220.
   RESTRICTIONS: Credit cannot be received for both CISC626 and CISC426.

CISC 627  Simulation of Discrete Systems  3
   Modeling and computer simulation of systems characterized by stochastic
   discrete events. Study and use of discrete system simulation languages.
   PREREQ: CISC220.
   RESTRICTIONS: Credit cannot be received for both CISC627 and CISC427.

CISC 629  Topics in Algorithms and Complexity Theory  3
   Contents vary to coincide with the interests of students and current
   faculty.
   RESTRICTIONS: Credit cannot be received for both CISC629 and CISC429.

CISC 633  Introduction to Computer Instruction  3
   See EDST633 for course description.

CISC 637  Database Systems  3
   Physical and logical organization of databases. Data retrieval
   languages, relational database languages, security and integrity,
   concurrency, distributed databases.
   PREREQ: CISC220 and CISC310.
   RESTRICTIONS: Credit cannot be received for both CISC637 or CISC437.

CISC 640  Computer Graphics  3
   Computer graphics technology, two- and three-dimensional systems,
   graphics software systems, modeling and object hierarchy, and animation.
   PREREQ: CISC360 or CISC662.
   RESTRICTIONS: Credit cannot be received for both CISC640 and CISC440.

CISC 644  Parallel and Distributed Applications  3
   Study tools and techniques for programming applications on shared and
   distributed memory multiprocessors and workstation networks.
   Development, analysis, testing, and validation of many-processor
   programs will be covered. Students will put principles into practice on
   a significant project of their own choosing.
   PREREQ: Requires permission of instructor.
   RESTRICTIONS: Credit cannot be received for both CISC644 and CISC444.

CISC 649  Topics in Computer Applications  3
   Contents will vary to coincide with the interests of students and
   current faculty.
   RESTRICTIONS: Credit cannot be received for both CISC649 and CISC449.

CISC 650  Computer Networks  3
   Computer Networks: LANs, MANs, WANs. Analysis, design, and
   implementation of network communication protocols. ISO and TCP/IP
   protocol suites.
   PREREQ: CISC360; CISC361 or CISC663.
   RESTRICTIONS: Credit cannot be received for both CISC650 and CISC450.
      Knowledge of probabilty recommended.

CISC 659  Topics in Communications, Distributed Computing and Networks  3
   Contents vary to coincide with the interests of students and current
   faculty.
   PREREQ: CISC650.
   RESTRICTIONS: Credit cannot be received for both CISC659 and CISC459.

CISC 662  Computer Systems: Architecture  3
   Recent advances in computer architecture and their impact on
   architectural design. Multicomputer and multiprocessor architectures.
   Parallel machines.
   PREREQ: CISC360.
   RESTRICTIONS: Credit cannot be received for both CISC662 and CISC462.

CISC 663  Operating Systems  3
   Comparison and analysis of strategies for the management of memory,
   processors, I/O devices and file systems.
   PREREQ: CISC260.
   RESTRICTIONS: Not open to students with credit for CISC361.

CISC 670  Programming Languages  3
   Selection, use and implementation of appropriate language(s) for given
   problems. Syntax, semantics, pragmatics, parameter passing and abstract
   data types.
   PREREQ: CISC310.
   RESTRICTIONS: Credit cannot be received for both CISC670 and CISC470.

CISC 672  Advanced Compiler Construction  3
   Advanced design and implementation of programming language translators.
   Emphasis on parsing methods, run-time, storage management techniques,
   code generation and optimization.
   PREREQ: CISC320 and CISC601 recommended.
   RESTRICTIONS: Undergraduates must obtain instructor's permission.

CISC 675  Object-oriented Software Engineering  3
   Introduction to software engineering concepts, methodologies and tools.
   Requirement analysis, specification, design and implementation of object
   oriented software development process. Students will be presented with
   several real life examples and homework projects to cover all aspects of
   object oriented lifecycle, from the requirements to coding in C++.
   RESTRICTIONS: Requires C/C++ and premission of instructor. Credit cannot
      be received for both CISC675 and CISC475.

CISC 679  Topics in Architecture and Software Systems  3
   Contents will vary to coincide with the interests of students and
   current faculty.
   PREREQ: CISC662 and CISC663.
   RESTRICTIONS: Credit cannot be received for both CISC679 and CISC479.

CISC 681  Artificial Intelligence  3
   Programming techniques for problems not amenable to algorithmic
   solutions. Problem formulating search strategies, state spaces,
   applications of logic, knowledge representation, planning and
   application areas. May be cross-listed with CGSC681.
   PREREQ: CISC220 and CISC310.
   RESTRICTIONS: Credit cannot be received for both CISC681 and CISC481.

CISC 685  Mechatronics  3
   Mechatronics is the intersection set of computers, electronics and
   mechanical engineering. Covers practical and theoretical aspects of
   mechatronic design, including human/machine interfacing, haptic systems,
   procedures in mechatronic design, reverse engineering, machine
   behaviors, and mechatronic control systems.
   RESTRICTIONS: Credit cannot be received for both CISC685 and CISC485.
      Requires permission of instructor.

CISC 689  Topics: Artificial Intelligence  3
   Contents vary to coincide with the interests of students and current
   faculty.
   PREREQ: CISC681.
   RESTRICTIONS: Credit cannot be received for both CISC689 and CISC489.

CISC 801  Recursive Function Theory  3
   Advanced abstract computability (or recursive function) theory with
   emphasis on the tools underpinning research in the area. Topics include
   universal programming systems, complexity results, oracular computations
   and quantifier hierarchies, classification of algorithmically
   enumberable sets, machine self-reference and priority arguments.
   PREREQ: CISC601.

CISC 805  Theory of Machine Learning  3
   Mathematically circumscribes the absolute boundaries of what algorithms
   can do about learning grammars for languages and programs for functions.
   Proves results in the recursion-theoretic theory of machine learning.
   Provides interpretations of results regarding human language learning
   and philosophy of science.
   PREREQ: CISC601.

CISC 809  Advanced Topics in Theoretical Computer Science  3
   Contents vary to coincide with the interests of students and current
   faculty.
   PREREQ: CISC601.

CISC 821  Parallel Algorithms  3
   Study of design and analysis techniques for parallel algorithms is
   conducted. Topics include: basic techniques of parallel algorithm
   design; searching and sorting in parallel; parallel tree and graph
   algorithms; and complexity issues,including the relationships among PRAM
   models, the class NC, and P-completeness.
   PREREQ: CISC621.

CISC 822  Algebraic Algorithms  3
   Algorithms for exact symbolic computation with integers of arbitrary
   size, polynomials, matrices, fields of quotients and modular domains.
   Key algorithmic problems: GCD, factorization and solution of equations.
   Key issues: correctness, cost analysis and system design. Key
   techniques: Chinese remaindering, Hensel lifting and Transforms (FFT).
   PREREQ: CISC621 or CISC623 (preferably both).
   RESTRICTIONS: Offered in alternate years. MATH450 or MATH650 recommended
      as prerequisites.

CISC 829  Advanced Topics in Algorithms and Complexity Theory  3
   Contents vary to coincide with the interests of students and current
   faculty.

CISC 849  Advanced Topics in Computer Applications  3
   Contents vary to coincide with the interests of students and current
   faculty.
   RESTRICTIONS: Requires permission of instructor.

CISC 851  Systems Modeling  3
   Probabilistic and stochastic modeling. Discrete and continuous parameter
   Markov chains. Introduction to queueing theory. Open and closed queueing
   networks. Applications to computer systems and networks.
   PREREQ: CISC360.

CISC 852  Computer Network Performance  3
   Performance analysis of local area, wide area and interconnected
   networks. Queueing delay models, ARQ retransmission strategies, multi-
   access communication, routing, flow control, congestion control, and
   network reliability and availability.
   PREREQ: CISC650.

CISC 853  Network Management  3
   Introduction to network management concepts. Network management
   architectures and protocols: the Internet and OSI frameworks, management
   functionalities, management domains and objects, protocols and services
   (SNMP, CMIS/P). Design of management agents and clients. Concepts of
   performance management, fault management, configuration management and
   other management applications.
   PREREQ: CISC650.

CISC 854  Local Area Networks  3
   LAN protocols, topologies, transmission media, standards, design and
   selection, management and current research.
   PREREQ: CISC650.

CISC 856  Upper Layer Protocols  3
   Principles and techniques employed in the transport, session,
   presentation and application layers of the ISO Reference Model and the
   DoD TCP/IP protocol suite. Examples: ASN.1, X.400, X.500, FTAM and
   Virtual terminal.
   PREREQ: CISC650.

CISC 857  Interconnection of Networks  3
   Overview of WAN, LAN and MAN technologies; internetworking technologies:
   design of bridges, routers and gateways; internetworking protocols
   (e.g., TCP/IP); routing in internetworks; internetwork performance
   issues; interoperability: issues, solutions and limitations; and review
   of applications supported across the internetworked environments.
   PREREQ: CISC650.

CISC 859  Advanced Topics in Communications, Distributed Computing Networks  3
   Contents vary to coincide with the interests of students and current
   faculty.
   PREREQ: CISC650.

CISC 868  Research  1-6
   Upper-level graduate research oriented toward a student's potential
   master's thesis or Ph.D. dissertation.

CISC 869  Master's Thesis  1-6

CISC 872  Optimizing and Parallelizing Compilers  3
   Static program analysis and transformations for improving run-time
   performance on scalar, vector, and parallel computing systems. Topics:
   Intraprocedural and interprocedural data flow analysis, alias analysis,
   dependence analysis, classical optimizations, parallelism enhancing
   transformations, register allocation, automatic optimizing compiler
   generators.
   PREREQ: CISC672.

CISC 874  Introduction to Parallel Computing  3
   Overview of high performance machine architectures, parallel program
   performance measurement, different paradigms for achieving parallelism
   including automatic parallelization and vectorization, fine grain
   parallelism for high performance workstations, data parallel
   programming, shared memory and message passing programming, and SPMD
   versus MIMD; task scheduling.
   PREREQ: CISC672 or CISC471.

CISC 879  Advanced Topics in Architecture and Software Systems  3
   Contents vary to coincide with the interests of students and current
   faculty.
   PREREQ: CISC662 or CISC663.

CISC 881  Knowledge-Based Systems  3
   Architecture of knowledge-based systems, development and application of
   knowledge bases in systems for expert performance in specialized
   domains. Knowledge sources, rule-based inference, uncertainty of facts
   and explanation of reasoning.
   PREREQ: CISC681.

CISC 882  Natural Language Processing  3
   Introduction to computational models of syntax, semantics and pragmatics
   for natural language understanding. Emphasis on design of English
   interfaces to data bases and ill-formed input.
   PREREQ: CISC681.

CISC 883  Natural Language Generation  3
   Current research directions in generation, models of generation,
   differences between generation and understanding, text structure and
   coherence, grammars for generation.
   PREREQ: CISC681 and CISC882.

CISC 884  Knowledge Representation  3
   Representation of knowledge in computers, common-sense knowledge,
   implementation methods: semantic nets, structured objects, logic, and
   production systems; specialized problems: representation of beliefs,
   temporal events and naive-physics concepts.
   PREREQ: CISC681.

CISC 885  Discourse and Dialogue  3
   Pragmatic issues involved in developing intelligent discourse and
   dialogue systems. Topics: speech acts, characteristics of a coherent
   dialogue, explicit versus implicit communication, discourse models,
   planning and plan recognition, ill-formed input, cooperative responses,
   user models and default reasoning.
   PREREQ: CISC681.

CISC 889  Advanced Topics in Artificial Intelligence  3
   Contents vary to coincide with the interests of students and current
   faculty.
   PREREQ: CISC681.

CISC 890  Colloquium: Computer Science  0  PF
   Weekly lectures by faculty and visiting researchers provide a broad
   overview of the scope as well as an insight into significant results of
   current research in computer science.

CISC 964  Pre-Candidacy Study  3-12  PF
   Research and readings in preparation of dissertation topic and/or
   qualifying examinations for doctoral students before admission to
   candidacy but after completion of all required course work.
   RESTRICTIONS: Not open to students who have been admitted to candidacy.

CISC 969  Doctoral Dissertation  1-12  PF

UNIV 895  Master's Sustaining: Non-Thesis  0  PF

UNIV 899  Master's Sustaining: Thesis  0  PF

UNIV 999  Doctoral Sustaining  0  PF