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