COMPUTER SCIENCE
Room 209, Dunn Hall

(901) 678-5465

SAJJAN G. SHIVA, PhD
Chair
E-mail: sshiva@memphis.edu

KING-IP LIN, PhD
Coordinator of Graduate Studies
E-mail: davidlin@memphis.edu

E-mail: info@cs.memphis.edu
www.cs.memphis.edu

I. The Department of Computer Science offers the Master of Science in Computer Science and in Applied Computer Science, as well as the PhD degree in Computer Science. It also offers a Graduate Certificate in Information Assurance.

II. Master of Science in Computer Science

A. Admission Requirements

  1. GRE scores are required and are an important factor for admission;
  2. Two letters of recommendation;
  3. An undergraduate degree with a minimum GPA of 2.5 on a 4.0 scale;
  4. A minimum score on one of the following: 550 on the paper-based TOEFL, or 210 on the computer-based TOEFL, 80 on the internet-based TOEFL, or 6.5 on the IELTS (for students whose native language is not English).

B. Prerequisites

  1. One year (8 semester hours) of calculus and one semester (3 semester hours) of linear algebra (Students without the calculus and/or linear algebra prerequisites will be considered on an individual basis and if admitted must correct the deficiency within the first semester.)
  2. Satisfactory completion of the following courses (or their equivalents): COMP 1900, 2150, 3160, 3410, 4030, 4040, 4270; MATH 2701. (None of these courses may be used to fulfill degree requirements.) The Graduate Admissions committee may, under exceptional circumstances, waive certain prerequisites based on the overall qualifications of the applicant.

C. Program Requirements

  1. Satisfactory completion of 34 semester hours of graduate course work approved by the department, as follows:
    1. At least 28 credit hours must be from the 7/8000 level, including:
      1. Core Requirement: COMP 7012, 7212, 7612, 7712. At least three of these courses must be completed with a grade of B- or better prior to completion of 18 hours of credit in the program, unless approved by the student's advisor.
      2. CS Seminar: COMP 7950, to be completed by the end of the second semester
      3. Project/Thesis: COMP 7996 or COMP 7980
      4. Area Requirement: At least one course each from two of the following areas:
        1. Foundations and Algorithms: COMP 7295, 7601, 7713, 7717, 7719, 7771, 7820
        2. Systems, Networks, and Security: COMP 7120, 7125, 7272, 7274, 7311, 7313, 7327, 7900
        3. Software, Languages, and Databases: COMP 7041, 7081, 7083, 7085, 7087, 7115, 7116, 7117, 7118, 7130, 7780
        4. Intelligent and Bio-inspired Computing: COMP 7282, 7290, 7514, 7515, 7517, 7711, 7720, 7740, 7745, 7747, 7750, 7760, 7770
    2. At most 6 hours of any combination of COMP 6901, 6911, 7/8901, 7980 and/or 7996 can be used toward the 34 hours of course work.

2. Obtain a passing grade on a comprehensive examination approved by the department.

III. Master of Science in Applied Computer Science

A. Admission Requirements

Admission into this program is competitive. Candidates must submit scores from either the GMAT or the GRE exams, and two letters of recommendation. A minimum undergraduate GPA of 2.7 on a 4.0 scale is required for consideration. International students whose native language is not English must attain a minimum score on one of the following: 550 on the paper-based TOEFL, 210 on the computer-based TOEFL, 80 on the internet-based TOEFL, or 6.5 on the IELTS.

B. Prerequisites

  1. An undergraduate BS degree in the sciences or BA in the arts
  2. A working familiarity with computers, as exemplified by knowledge of a high-level programming language, preferably object-oriented, and experience working with computers in at least one area of application
  3. An undergraduate GPA of at least 2.7

C. Program Requirements

Satisfactory completion of 33 semester hours of course work, divided into three parts: (a) the merger, (b) the specialty core, and (c) the technical electives, as follows:

  1. The merger: Six (6) hours of courses not in the student’s undergraduate area:
    1. For students without an approved bachelor degree in Computer Science: COMP 7100 and COMP 7105
    2. For students with an approved bachelor degree in Computer Science: An introductory course in a recognized area, for example Marketing, Management, Chemistry, or Molecular Biology
  2. The specialty core : Twenty-one (21) hours in a well-recognized focus area approved by the computer science faculty or their designees. Two examples follow, one in E-Commerce, another in cybersecurity.
    1. E-commerce:
      i. E-commerce core: COMP 7110, 7970
      ii. Computer science component: COMP 6310, 7517, 7118
      iii. Business component: MGMT 7030, 7130
    2. Cybersecurity
      i. Cybersecurity core: COMP 7120, 7327
      ii. Computer science component: COMP 7125, 7270
      iii. Societal component: COMP 7900, MIS 7650, PHIL 7551
  3. The electives: Six (6) hours from a technical and a specialty elective selected from the following list and consistent with the chosen focus area.
ACCT 7420 - Advanced Accounting Systems
ACCT 7421 - Multi-user Accounting Systems
ACCT 7422 - Accounting System Development
COMP6081 - Software Development
COMP 6720 - Introduction to Artificial Intelligence
COMP 6730 - Expert Systems
COMP 7116 - Advanced Database Systems
COMP 7282 - Evolutionary Computation
COMP 7311 - Advanced Computer Networks
COMP 7313 - Network Design and Performance Analysis
COMP 7515 - Complex Systems
MIS 7610 - Systems Analysis and Design
MIS 7620 - Decision Support Systems and Expert Systems
MIS 7640 - Information Systems Management and Planning
MIS 7650 - Global Information Technology and Systems Management
MIS 7655 - Advanced Systems Analysis and Design
MIS 7660 - Advanced Networking and Database Management
MIS 7665 - Advanced Business Computing Environments
MATH 7660 - Applied Time Series Analysis
Or another course approved by the program coordinators in consultation with faculty in the selected focus area.

IV. PhD Degree in Computer Science

A. Admission Requirements

  1. GRE scores are required and are an important factor for admission;
  2. Three letters of recommendation;
  3. An undergraduate degree in an appropriate discipline with a minimum GPA of 2.5 (on a 4.0 scale) or equivalent preparation;
  4. A minimum score on one of the following: 550 on the paper-based TOEFL, 210 on the computer-based TOEFL, 80 on the internet-based TOEFL, or 6.5 on the IELTS (for students whose native language is not English).

B. Program Requirements

  1. Satisfactory completion of a minimum of 72 semester hours of graduate coursework approved by the department. The coursework must include:
    1. either the coursework requirement of the M.S. degree in Computer Science, or a Masters degree approved by the department.
    2. Additional coursework must be taken subject to the following rules:
      i. all coursework must be at 8000 level;
      ii. at least 6 hours must belong to one of the areas listed in the M.S. degree in Computer Science requirements;
      iii. at most 15 hours of COMP 8901 (Independent Studies);
      iv. at least 9, but not more than 15, hours of COMP 9000 (Dissertation)
  2. Satisfactory completion and approval of additional requirements, including :
    1. a qualifying examination. All parts of the qualifying exam must be attempted upon completion of 18 hours of credit in the program. Furthermore, students must pass all parts of the qualifying exam by the completion of 27 hours of credit in the program;
    2. a comprehensive examination. This includes the presention and approval of a dissertation proposal ;
    3. a final dissertation defense given by a committee composed of departmental and university representatives on completion of an acceptable dissertation.

Detailed information can be obtained by contacting the graduate coordinator of the department. Details of the format of the examinations can be found on the Computer Science Department Web site (http:// www.cs.memphis.edu ).

V. Graduate Certificate in Information Assurance (GCIA)

This certificate program highlights important aspects of information security and assurance technologies. The University of Memphis is designated by DHS and NSA as a National Center of Academic Excellence in Information Assurance, and its IA courses are accredited by the Committee for National Security Systems for Computer Security standards 4011, 4012, and 4013. These security standards specify the minimum knowledge, skills, and abilities required to fulfill the duties, respectively, of an Information Systems Security Professional, Senior System Manager, and System Administrator. The IA certificate program is administered by the Computer Science Department, the courses are taught by different departments and colleges, and any graduate student meeting admission requirements will be eligible to join the certificate program.

The objectives of the certificate program are as follows:

A. Admission Requirements

The certificate program in Information Assurance may be pursued concurrently with other graduate programs at the university. In particular, students currently admitted to a graduate program at the U of M may join this certificate program. To apply, students must submit the application form http://www.cs.memphis.edu/IA_application/ and transcripts of prior graduate study.

Non-degree graduate students may also pursue this certificate program of study. For example, professionals who have a BS in computer science, computer engineering, or a closely related field, or who have a bachelor's degree in another field and have been working in the Information Technology (IT) field for at least three years, can apply to the program. These applicants are required to submit a brief (one- to two-page) statement of educational and work experience in the computing field, including their background in computer security, in addition to the requirements above. Students must apply both to the program and to the University.

GRE scores are not required for non-degree students' admission into the IA certificate program. Acceptance to the certificate program is not an implied acceptance into the MS program in Computer Science.

B. Program Requirements
The certificate program requires completion of 12 semester credit hours: 6 from the list of major IA courses and 6 from the list of electives.

1. Major IA Courses

COMP 6410. Computer Security
COMP 7120-8120 (Same as MIS 7670). Cryptography and Data Security
COMP 7327-8327. Network and Internet Security
Note: Non-computer science students must take the prerequisite COMP 3825 (Networking and Information Assurance) or equivalent before taking any of the above COMP courses.

2. IA Electives

COMP 6272. System Administration
COMP 7900. Cyber Ethics
COMP 7125. Computer Forensics (New)
LAW 386. Cyber Law
CJUS 6180. Corporate & White Collar Crime

3. Retention
In order to continue in the program, students must maintain at least a 3.0 GPA.

4. Graduation
To obtain the certificate a student must complete four above-mentioned courses (2 major courses and 2 electives), with an average grade of 3.0 (B) or higher, for a total of 12 credits.

Note: No more than 6 credit hours of this certificate program can be applied to the MS/PhD degree in computer science.


COMPUTER SCIENCE (COMP)

6001. Computer Programming. (3). Basic concepts using Visual Basic, incorporating object-oriented concepts (objects, properties, events, methods), user-interface design, data types, assignment statements, flow control statements, arrays and collections, file processing, timers, debugging and testing, to create windows applications ranging from business forms and reports to games. NOTE: Computer Science majors may not use this course to fulfill degree requirements. PREREQUISITE: MATH 1710.

6004. Modern Computer Programming. (3). Investigation of a currently widely used computer programming language; covers basic programming concepts; design and documentation; language constructs: control flow, functions, recursion, modularity; data and class structures: objects, classes, methods and encapsulation; programming of basic data structures and algorithms. Familiarity with a high-level programming lnaguage recommended. NOTE: Computer Science majors may not use this course to fulfill degree requirements.

6005. Web Design and Development. (3). Web interface development using HTML, XML, CSS, JavaScript, and AJAX; technological issues in web page design and data visualization; Web servers and their features; Web Services. NOTE: Computer Science majors may not use this course to fulfill degree requirements. PREREQUISITE: COMP 6001, one course in computer programming, or permission of instructor.

6011. Advanced Visual Basic. (3). Introduces advanced topics such as Visual Basic for Applications (VBA), .NET graphics, design and creation of classes, XML processing, web applications and web services, and advanced database processing. NOTE: Computer Science majors may not use this course to fulfill degree requirements. PREREQUISITE: COMP 4001-6001 or permission of instructor.

6014. Introduction to Java Programming. (3). Basic structured programming syntax; internet features; client/server environments and aplets/servlets; advanced JAVA features including user interface, JFC widgets and events, SWING; database applications; security; introduction to threading. NOTE: Computer Science majors may not use this course to fulfill degree requirements. PREREQUISITE: COMP 4001-6001 or permission of instructor.

6030. Introduction to Algorithms. (3). Asymptotic behavior of programs; basic paradigms in algorithm design: greedy, divide-and-conquer, dynamic programming; analysis of efficiency, and optimality of representative algorithms, including graph, pattern matching, numerical, randomized, and approximation algorithms; approaches to lower bound analysis; basic parallel algorithms. NOTE: Computer Science majors may not use this course to fulfill degree requirements. PREREQUISITE: COMP 3160.

6040. Programming Languages. (3). Comparative features, syntax, and applicability of high-level programming languages such as FORTRAN, PASCAL, LISP, Scheme, ADA, C, C++, Java, PHP, JavaScript, Perl, Prolog, and FORTH data types, data structures, and dataflow; procedures, recursion, runtime environment, string manipulation, list processing, array processing, documentation, programming style. NOTE: Computer Science majors may not use this course to fulfill degree requirements. PREREQUISITE: COMP 3160.

6041. Introduction to Compilers. (3). Finite state recognizers, lexical scanners, symbol tables, context-free methods such as recursive descent, LL(K), precedence, LR(K), SLR(K); language translation, generation and improvement of machine independent codes, inherited and synthesized attributes syntax directed translation schema. PREREQUISITES: COMP 3410, 6040 and 6030.

6081. Software Development. (3-6). Advanced programming methods: testing, generic libraries, documentation methods; program analysis and design methodologies such as object-oriented, life cycles, metrics, process improvement strategies, personal software process; software quality. NOTE: Computer Science majors may not use this course to fulfill degree requirements. PREREQUSITE: COMP 3160, or permission of instructor.

6115. Database Processing and Design. (3). Database processing and architecture; conceptual data modeling and data design; logical data models; relational models, operations and algebra; query languages and SQL; normalization and schema refinement; basic indexing techniques (hashing and B+ trees). PREREQUISITE: COMP 3160, or permission of instructor.

6242. Introduction to Computer Graphics. (3). Characteristics of graphics I/O devices; 2D pictures, scaling, translation, rotation, windowing; drawing histograms, simple maps, block diagrams and flowcharts; curved lines, precision, quantization, interpolation, plotting equations; 3D pictures, scaling, translation, rotation, projections, hidden line problem, non-Euclidean geometry, animation. PREREQUISITE: COMP 3410.

6262. Programming in UNIX. (3). Fundamentals of UNIX system and environment including: file system, shell concepts and programming, editors (VI and EMACS), filters (SED, AWK, GREP, SORT), utilities (MAKE, YACC, LEX), mail facility, communication software, C programming and its UNIX interface, X window system. NOTE: Computer Science majors may not use this course to fulfill degree requirements. PREREQUISITE: COMP 2150 or permission of instructor.

6270. Introduction to Operating Systems. (3). Hierarchy of storage devices, I/O buffering, interrupts, channels; multi-programming, processor and job scheduling, memory management: paging, segmentation, virtual memory; management of asynchronous processes: interrupt procedure calls, process state and automatic switch instructions, semaphores, concurrency; security and recovery procedures. PREREQUISITES: COMP 3160 and either COMP 3410 or EECE 4278.

6272. System Administration. (3). Review of UNIX and operating systems principles; principles and practices of systems administration and management: network file systems, account management; OS installation: startup and shutdown, booting, backup, restore; system administration tools; web administration; duties and responsibilities of a system administrator. PREREQUISITES: COMP 6262 and COMP 6270, or permission of instructor.

6302. Web Services and the Internet. (3). Design and implementation of Web services, including Internet architecture and protocol layering; client-server application design; peer-peer application design; World Wide Web programming using HTML, XML, Java, and advanced scripting languages; security issues. PREREQUISITE: COMP 3160 or permission of instructor.

6310. Wireless Mobile Computing. (3). Internet architecture and design, IPv4 and IPv6, routing algorithms, TCP congestion control, peer-to-peer applications, wireless LAN, mobile IP, mobile ad hoc networks, wireless sensor networks. PREREQUISITE: COMP 3825.

6410. Computer Security. (3). Computer security; confidentiality, integrity, availability, methods and protocols in cryptography, digital signature, authentication, bit commitment; security in computing, programs, databases, operating systems; secure communication, secure channel, public key infrastructure, certificates; digital evidence, forensics tools; monitor and response; legal and ethical issues; risk management, security administration. PREREQUISITE: COMP 3825, or permission of instructor.

6601. Models of Computation. (3). Computer models as a basis of the understanding and analysis of programming: computation and complexity: machine models (finite-state, stack and Turing machines), linguistic models (grammars, lambda calculus, and predicate calculi); biologically-inspired models (e.g.: neural nets or genetic algorithms); unsolvability, universality, decidability, and feasibility. NOTE: Computer Science majors may not use this course to fulfill degree requirements. PREREQUISITE: COMP 2150, MATH 2701.

6720. Introduction to Artificial Intelligence. (3). (Same as EECE 6720.) Fundamentals of programming in LISP; central ideas of artificial intelligence, including heuristic search, problem solving, slot-and-filler structures and knowledge representation.PREREQUISITE: COMP 4040 or permission of instructor.

6730. Expert Systems. (3). (Same as EECE 6730.) Fundamentals of programming in PROLOG, central ideas of expert system development, including knowledge representation, control structures, tools, knowledge acquisition, and knowledge engineering. PREREQUISITES: MATH 2701 and COMP 4030, or permission of instructor.

6731. Introduction to Data Visualization. (3). (Same as EECE 6731). Terminology, methodology, and applications of data visualization; methods for visualizing data from a variety of engineering and scientific fields including both static and time varying data and methods for generating both surface and volume visualizations. PREREQUISITES: EECE 3221 or COMP 2150 or permission of instructor.

6740. Soft Computing. (3). Foundations of intelligent and soft computing methods, including approximate reasoning, fuzzy sets and rough sets, neurocomputing and cellular automata, evolutionary computing, and quantum computing; basic principles of software implementation of soft computing.  PREREQUISITES: COMP 3160 and MATH 2701, or permission of instructor.

6901. Individual Studies in Computer Science. (1-3). Directed individual study of selected areas of computer science. Repeatable by permission to 6 semester hours. PREREQUISITE: Permission of instructor.

6911. Internship in Computer Science. (1-6). Practical experience in computer science; students are placed with governmental or private organizations; project must be approved and supervised by department faculty; academic credit granted on certification of cooperating agency and acceptance by the supervising faculty of written report. May be repeated for total of 6 semester hours credit. PREREQUISITE: Permission of instructor.

6990-6999. Topics in Computer Science. (1-3). Topics are varied and announced in the online course listing. PREREQUISITE: Permission of instructor.

7012-8012. Foundations of Software Engineering. (3). (Same as EECE 7012-8012). Covers project management; Unified Process; software disciplines (requirements, analysis, design, implementation, testing); Unified Modeling Language; design patterns, mapping designs to code. Students work in teams to develop a significant software system. PREREQUISITE: COMP 3160 or permission of instructor.

7041-8041. Compiler Design. (3). Translation of computer source language--including compiling of interpreters, scanning, and code generation--for arithmetical and Boolean expressions, arrays, conditional and iterative statements using recursive and nonrecursive compiling techniques; construction of automated compiler given a source language in form of a context-free grammar and a target in the form of actions to be performed when rules of grammar are satisfied. PREREQUISITE: COMP 6041.

7081-8081. Software Development Process Models. (3). Development processes; maturity models; process improvement, metrics (process and product), estimation, management, maintenance; quality assurance; personal and team software process models. PREREQUISITE: COMP 7012 or permission of instructor.

7083-8083. Software Development Methodologies. (3). Description methods for support of process models; advanced object-oriented analysis and design methods; reuse, testing, adaptive software, software comprehension, understanding, and environments. PREREQUISITE: COMP 7012 or permission of instructor.

7085-8085. Program Comprehension. (3). Cognitive and mental models of how people learn to program and people understand existing large software systems; software environments to assist software developers build, maintain, and evolve software systems; how visualization of software systems aids in program comprehension. PREREQUISITES: COMP 7012 or permission of instructor.

7087-8087. Topics in Software Engineering. (3-6). Recent theoretical and practical issues in software development. May be repeated for a maximum of 6 credit hours with permission of the department. PREREQUISITE: COMP 7012 or permission of instructor.

7100. Computers in the Information Society. (3). Basic information technology concepts, products, and applications, including internet, cybersecurity, legal and ethical issues, software development, and middleware, in context of specific applications in various areas of practical importance. NOTE: Majors, or those holding a BS in Computer Science, may not use this course to fulfill degree requirements. PREREQUISITE: Familiarity with computer use in an area of application, COMP 4001-6001, or permission of instructor.

7105. Contemporary Electronic Commerce. (3). (Same as BA 7105.) Survey of concepts critical to typical applications in various areas of practical importance; topics of contemporary interest include algorithms, complexity, operating systems, networks, neural nets, and evolutionary algorithms. NOTE: Majors, or those holding a BS in Computer Science, may not use this course to fulfill degree requirements. PREREQUISITE: Familiarity with computer use in an area of application, COMP 7100, or permission of instructor.

7110. Advanced Electronic Commerce. (3). (Same as BA 7110.) Advanced concepts and strategies for EC, including implementation platforms, multimedia integration, human- computer interaction, and ethical issues; impact of EC as a force in technology advances, consumer behavior, and changing the nature of the business world. NOTE: Computer Science majors may not use this course to fulfill degree requirements. PREREQUISITE: COMP 7105 or permission of instructor.

7115. Database Systems. (3). Review of the relational model; query processing and optimization; physical database design and tuning; transaction processing; concurrency control; crash recovery; database buffer management; database security. PREREQUISITE: COMP 6115 or permission of instructor.

7116-8116. Advanced Database Systems. (3). Advanced data modeling; object-oriented and object-relational databases; indexing of complex data; advanced transaction processing; on-line analytical processing and data warehousing; distributed database processing. PREREQUISITE: COMP 7115 or permission of instructor.

7117-8117. Topics in Database Management Systems. (3). Advanced current research topics in database and information management, with emphasis on nontraditional data and applications. PREREQUISITE: COMP 7116 or permission of instructor.

7118-8118. Topics in Data Mining. (3). Approaches to data mining and knowledge discovery (graphical, statistical, combinatorial, heuristic); classification and clustering; time series analysis; spatial data mining; data mining applications. PREREQUISITE: COMP 3160 or permission of instructor.

7120-8120. Cryptography and Data Security. (3). (Same as MIS 7670-8670). Ancient and modern cryptology and ciphers; security problems in computing; basic encryption and decryption; public-key cryptography, notions of security in computing environments; encryption, protocols; security for programs, OSs, data bases, PCs, networks and communication; legal, ethical and human factors in computer security. PREREQUISITE: permission of instructor; MATH 2701 recommended.

7125. Computer Forensics. (3). Societal and legal impact of computer activity: computer crime, intellectual property, privacy issues, legal codes; risks, vulnerabilities, and countermeasures; methods and standardsfor extraction, preservation, and deposition of legal evidence in a court of law. PREREQUISITE: COMP 7105 or equivalent, or permission of instructor.

7130-8130. Information Retrieval and Web Search. (3). Computational aspects, algorithms, and techniques for information retrieval from large collections of documents; major topics include ad-hoc retrieval, text processing, classical models of retrieval, term-weighting schemes, query operations, web search, text categorization, and text classification. PREREQUISITES: COMP 6040 or COMP 6041, or permission of insructor.

7150. Methods for Computer Applications. (3). Models and methods to handle data analysis and management, statistical methods, hypothesis testing, experimental design; data collection, cleaning, organization, and mining; software tools such as statistical packages, databases, and computer simulations. NOTE: Computer Science majors may not use this course to fulfill degree requirements. PREREQUISITES: Undergraduate descriptive statistics or permission of instructor.

7212-8212. Operating and Distributed Systems. (3). Overview of operating system architecture for centralized and distributed systems; storage device and file systems; process management, scheduling, synchronization, interprocess communications and security; case studies of selected operating systems. PREREQUISITES: COMP 3160 or permission of instructor.

7270-8270. Operating Systems. (3). (COMP 7271). Function, structure, and design parameters of computer operating systems; time-sharing, multiprogramming, and multiprocessing considerations; actual operating systems; design methodology and evaluation techniques. PREREQUISITE: COMP 7212.

7272-8272. Parallel Computing. (3). Introduction to parallel and distributed computing; various aspects of parallel programming including architecture, communication, algorithms, performance, and programming; distributed computing architectures such as client-server and CORBA; synchronization, replication, and distributed file systems; benchmark applications. PREREQUISITES: COMP 3160 and 7212 or permission of instructor.

7274-8274. Topics in Distributed Computing. (3). Introduction to emerging topics in distributed computing; heterogeneous computing and middleware over the Internet and the World-Wide Web; distributed cache coherency problem; wireless computing and wearable devices; avatar computing; application of distributed computing to E-commerce and other fields. PREREQUISITES: COMP 7/8272 or permission of instructor.

7282-8282. Evolutionary Computation. (3). Computational implementation of biological analogies, such as genetic algorithms, genetic programming, embryonics, evolutionary engineering; representation, fitness functions, fitness landscapes, automatically defined functions; applications to optimization, machine learning, software development. PREREQUISITE: COMP 6601 or permission of instructor.

7290-8290. Molecular Computing. (3). (Same as MMCS 7290-8290). Basics of cell biology and genetics (DNA structure and enzymes, replication and translation); feasible DNA-based solution of hard computational problems; issues in the design of molecular computers; foundations of nanotechnology. PREREQUISITE: COMP 7712 or permission of instructor.

7295-8295. Introduction to Bioinformatics. (3). Algorithms for problems arising in molecular biology, such as sequence matching, alignment, gene finding, sequence assembly, phylogeny, and structure prediction; internet resources; statistical analysis of DNA, RNA, and protein sequences. PREREQUISITE: COMP 6030 or permission of instructor.

7311-8311. Advanced Computer Networks. (3). Internet architecture and layering; intra-domain and inter-domain routing protocols; congestion control; network QoS; peer-to-peer networks; overlay networks; wireless and sensor networks. PREREQUISITE: COMP 6310.

7313-8313. Network Modeling and Performance Analysis. (3). Mathematical modeling of networking problems; proving correctness of networking algorithms; applying optimization techniques to solving networking problems; deriving deterministic bounds on performance (approximation factors) for hard networking systems; deriving probabilistic guarantees on the performance of networking systems. PREREQUISITE: COMP 7612

7327-8327. Topics in Network and Internet Security. (3). Concepts of network security; survey of security software packages; security in Java; intrusion-detection systems; current security issues on Internet and electronic commerce. PREREQUISITES: COMP 6310 and 7120 or permission of instructor.

7514-8514. Cognitive Science Seminar. (3). Systematic study of current topics in Cognitive Science; student required to make presentations and prepare research paper or project. No more than 3 hours may be applied to MS with computer science concentration. PREREQUISITE: Permission of instructor.

7515-8515. Seminar in Complex Systems. (3). Systematic study of information processing, broadly construed, natural or artificial, occurring in complex systemic interactions, such as those encountered in dynamical, neural, biological, social, evolutionary, and cyberspatial systems. PREREQUISITES: COMP 6601 or permission of instructor.

7517-8517. Topics in Human-Computer Interaction. (3). Facts, theories, and issues about human sensation, perception, and interaction for developing more ergonomic and human-like computer interfaces; interactive platforms in use or under development. PREREQUISITE: COMP 2150 or equivalent, or permission of instructor.

7601-8601. Topics in Discrete Modeling. (3). Application of computer models to problem solving in natural language processing, decision making, pattern recognition, image processing, and phenomena in physics, chemistry and biology. PREREQUISITE: COMP 6601 or permission of instructor.

7612-8612. Foundations of Computing. (3). Review of basic models of computation and complexity; measures and modes of complexity analyses, both logical and experimental; average case analysis of algorithms; information complexity and its applications to coding; deterministic and stochastic methods for data analysis and compaction, hypothesis testing, and estimation. PREREQUISITE: COMP 4030 or permission of instructor.

7711-8711. Logic Programming. (3). Theoretical foundations of Prolog, including models of logic programs, answer substitutions, fixpoint semantics, soundness and completeness of SLD-resolution, search procedures, negation as failure, and parallel logic programming. PREREQUISITE: COMP 6711 or COMP 6730 or permission of instructor.

7712-8712. Algorithms Implementation and Problem Solving. (3). Covers algorithms problems, techniques, and design emphasizing problem solving and implementation skills; topics include advanced data structures, graph algorithms, string matching, network flow, dynamic programming, and randomized algorithms. PREREQUISITE: COMP 3160 or permission of instructor.

7713-8713. Advanced Algorithms. (3). Advanced methods and data structures in sequential algorithms, including amortized analysis, backtracking, and branch-and-bound, heuristics, randomized algorithms, derandomization, approximation, and approximability; basic parallel models and algorithms, including sorting and searching, numerical, symbolic, and probabilistic algorithms. PREREQUISITES: COMP 7712 or permission of instructor.

7717-8717. Topics in Algorithms. (3). Recent developments and practical issues in algorithms and data structures. PREREQUISITE: COMP 7713 or permission of instructor.

719-8719. Combinatorial Optimization. (3). Computational complexity: reductions, oracles and NP-completeness; five basic problems on convex sets in Euclidean spaces; pivoting, ellipsoid, and basis reductions methods; optimization on graphs; matching and stable set polytopes; algorithms on perfect graphs. PREREQUISITES: COMP 7713 or COMP 7715 or permission of instructor.

7720-8720. Artificial Intelligence. (3). (Same as EECE 7720-8720). Central issues of artificial intelligence, including game playing, planning, machine learning, common-sense reasoning, perception and action; implementations in LISP. PREREQUISITE: COMP 6720.

7740-8740. Neural Networks. (3). (Same as EECE 7740-8740). Learning algorithms for multilayer perceptrons, least-mean squares, backpropagation and its variants, cascade-correlation, other supervised learning algorithms; unsupervised methods, including Hebbian, competitive, and reinforcement learning; applications to associative memories, combinatorial optimization, component analysis, function approximation, pattern classification; theory of neurodynamics, including equilibrium, stability, and computational power. PREREQUISITE: COMP 4030 or permission of instructor.

7745-8745. Computational Intelligence. (3). A dynamics systems perspective on intelligence in computational systems; analysis is strongly biological motivated, including hybrid fuzzy-neuro systems, emergence, and chaos computing; how these components are used for automatic generation of knowledge in computational systems. PREREQUISITES: COMP 6001 or 6002 or permission of instructor.

7747-8747. Topics in Neurocomputing and Neural Networks. (3). Introduces advanced concepts such as: feed-forward models, recurrent architecture, hierarchial models with massive reentrant connections; fixed-point convergence, limit cycles, and chaotic attractors, including spatio-temporal encoding in the style of brains; design principles of goal-oriented adaptive systems. PREREQUISITE: COMP 7740 or permission of instructor.

7750-8750. Logical Foundations of Artificial Intelligence. (3). (Same as EECE 7262-8262). Logical foundations of artificial intelligence, predicate calculus, declarative knowledge, inference, resolution strategies, nonmonotonic reasoning, induction, probabilistic logic, belief, state and change, and intelligent-agent architecture.

7760-8760. Control of Autonomous Agents. (3). Exploration and current applications of nontraditional control methods for design of autonomous agents, both in hardware and software, capable of operating in unusual and complex environments, such as subsumption architectures, adaptive fuzzy systems and software agents; novel learning and action selection paradigms. PREREQUISITE: COMP 6002 or permission of instructor.

7770-8770. Knowledge Representation and Reasoning. (3). Focuses on long-standing issues of knowledge representation, including ontologies; knowledge structures; and representing events, actions, time, space, geometry, and common-sense knowledge. Student will complete a project using declarative language. PREREQUISITES: COMP 6730 or 6720 or permission of instructor.

7771-8771. Graph Algorithms. (3). Introduction to graphs, algorithms, and complexity; depth first search and breadth first search; algorithms for connectivity, biconnectivity, strong connectivity, minimum cost spanning trees, planarity testing, network flow, and matching; Eulerian and Hamiltonian cycle programs; coloring; approximation algorithms for TSP. PREREQUISITES: COMP 7712 or permission of instructor.

7780-8780. Natural Language Processing. (3). (Same as PSYC 7221-8221). Computational aspects, algorithms, and techniques for human language processing; topics include lexical analysis, syntactic parsing, semantics, word sense disambiguation, logic forms, dialog, and pragmatics; applications include question answering and information extraction among others. PREREQUISITES: COMP 6040 or 6041 or permission of instructor.

7820-8820. Pictorial Algorithms and Machine Vision (3). Image formation and sensing in vision systems; basic algorithms for processing continuous and discrete images; edge detection; shape detection vs. brightness, lightness, shading, and color; reflectance maps; stereoscopic systems; pattern classification; representation problems; basic concepts and applications of computational geometry; passive navigation and motion planning. PREREQUISITE: COMP 7713 or permission of instructor.

7900. Cyber Ethics. (3). Issues, concepts, and frameworks for cyber ethics: privacy, intellectual property, professionalism, code of wthics and professional practices, software developers' obligations to different stakeholders, freedom of speech on Internet; case studies of ethical tradeoffs in technical decisions. PREREQUISITE: 9 hours of graduate studies, or permission of instructor.

7901-8901. Individual Studies in Computer Science. (1-4). Directed independent problem research and program design, writing, and documentation in an area selected by student with approval of both adviser and supervising staff members. Repeatable by permission. PREREQUISITE: Permission of instructor.

7950. Research Methods in Computer Science. (1). Overview of research methods in computer science; how to read and write research papers in computer science; presentation skills for technical presentations; software tools for research in computer science. NOTE: Open to Computer Science majors only.

7960-8960. Seminars in Teaching, Research, and Consulting. (3). Non-traditional setting in which masters students develop skills in areas of teaching, research, and consulting. Required of all graduate assistants in the department.

7970-8970. Capstone Project. (3). Research and development for specific application projects under the joint supervision of faculty and liaison(s) in commerce, industry, or professional/societal organizations. PREREQUISISTE: Completion of at least 21 hours of requirements in a graduate program.

7980-8980. Research Seminar. (3). Research for specific projects under the supervision of a faculty member and possibly a liaison from commerce or industry. Each section of this class will be designated for a special area. PREREQUISITE: Permission of project advisor.

7990-99-8990-99. Advanced Topics in Computer Science. (1-3). Advanced topics and recent developments in computer science. Repeatable by permission. PREREQUISITE: Permission of instructor.

7996. Thesis. (1-6).

†9000. Dissertation. (1-12). Independent research for the PhD degree.

Grades of S, U, or IP will be given

Introduction | Academic Services | Admissions Regulations | Academic Regulations
Minimum Degree Requirements | Appeals Procedures | Degree Programs & Courses | Expenses
Graduate Assistantships & Fellowships | Research Facilities | Residency Classification
University Administrators | University Calendar | Graduate School | U of M Home