The following is a description of the EECS courses offered at the Edwards Campus. However the MSIT students are not limited to these courses; they may take any of the courses offered at the Lawrence campus (subject to their adviser approval).
EECS 710: Information Security and Assurance (3 credit-hours). Critical
information assets, information security, operating systems
security, database security, network security, e-commerce
security, security risks, encryption and cryptography, viruses,
security management, security models. Prerequisites: Graduate
standing)
EECS 711: Security Management and Audit (3 credit-hours). Administration and management of security of information
systems and networks, intrusion detection systems, vulnerability
analysis, anomaly detection, computer forensics, auditing and
data management, risk management, contingency planning and
incident handling, security planning, e-business and commerce
security, privacy, traceability and cyber-evidence.
Prerequisite: EECS710
EECS 712: Network Security (3 credit-hours).
Introduction to the basic concepts, components, protocols,
and software tools to achieve secure communication in
a public network. The concept of encryption, integrity
verification, authentication, security models, and the
robustness analysis. Emphasis on the application level protocols
and vulnerabilities: firewalls, viruses, worm attack, Trojan
horses, password security, secure multicast , biometrics,
VPNs, internet protocols such as SSL, IPSec, PGP, and SNMP.
The policies for access control, user privacy, and trust
establishment and abuse in open environments such as eBay.
Prerequisite: EECS563 or EECS780
EECS 746: Database Management Systems (3 credit-hours). Introduction to Database Systems (3). Introduction to the
concept of databases and their operations. Basic concepts,
database architectures, storage structures and indexing, data
structures: hierarchical, network, and relational database
organizations. Emphasis on relational databases and retrieval
language SQL. Theory of databases, normal forms, normalization,
candidate keys, decomposition, functional dependencies,
multivalued dependencies. Introduction to the design of
a simple database structure and a data retrieval language.
Prerequisite: EECS448
EECS 761: Programming Paradigms (3 credit-hours). Advanced Programming Paradigms. An investigation of
alternative programming
paradigms and their representative
effect on programming expressiveness and style. Emphasis is
on a comparative understanding of a spectrum of programming
paradigms, with some facility in the use of at least one
typical language representative of each paradigm studied. This
course will review and investigate as appropriate imperative,
functional, object-oriented, parallel, logical, and scripting
programming paradigms, plus additional paradigms as relevant.
Prerequisites: EECS662
EECS 764: Analysis of Algorithms (3 credit-hours). Models of computations and performance measures; asymptotic
analysis of algorithms; basic design paradigms including
divide-and-conquer, dynamic programming, backtracking,
branch-and-bound, greedy method and heuristics; design and
analysis of approximation algorithms; lower bound theory;
polynomial transformation and the theory of NP-completeness;
additional topics may be selected from arithmetic complexity,
graph algorithms, string matching, and other combinatorial
problems. Prerequisite: EECS660
EECS 767: Information Retrieval (3 credit-hours). The objective of this course is to give students a hands
on introduction to information retrieval systems. Classic
textual information retrieval systems are studied, followed by
presentation of current research in the area. Topics include:
file structures, term-weighting schemes, text preprocessing,
World Wide Web search engines, multimedia retrieval systems,
artificial intelligence applications. Prerequisites: EECS 746
or graduate standing in EECS.
EECS 780: Communication Networks (3 credit-hours). Comprehensive in-depth coverage of communication networks with emphasis on the Internet and the PSTN (wired and wireless). Extensive examples of protocols and algorithms are presented at all levels, including: client/server and peer-to-peer applications; session control; transport protocols, the end-to-end arguments and end-to-end congestion control; network architecture, forwarding, routing, signalling, addressing, and traffic management; quality of service, basic queuing (basic M/M/1 and Little's law) and multimedia applications; LAN architecture, link protocols, access networks and MAC algorithms; physical media characteristics and coding; network security and information assurance; network management. Prerequisites: Basic working knowledge of computer systems, the Internet, and probability and statistics; basic programming skills. Credit may not be received for both EECS563, EECS663 and EECS780.
EECS 800: Special Topics (3 credit-hours). Advanced courses on special topics of current interest in EECS
given as the need arises.
EECS 801: Directed Graduate Readings (3 credit-hours). Graduate level directed readings on a topic in EECS, mutually
agreed-on by the student and instructor. May be repeated for
credit on another topic.
EECS 802: EECS Colloquium (0.2 credit-hours). A student is expected to attend 12 professional talks or
presentations. These can be scheduled EECS/ITTC colloquium
talks, MS thesis or PhD dissertation defenses, or professional
talks or seminars. Prerequisites: None.
EECS 810: Principles of Software Engineering (3 credit-hours).
Principles concepts in software engineering with a focus on
formalism as well as managerial issues and a project-intensive
approach; software development process models; software
development life cycle activities; project management,
requirements analysis, specification, design, implementation,
testing, maintenance; metrics and planning. Prerequisite:
Data Structures)
EECS 811: Software Project Management (3 credit-hours).
Management issues in the creation, development, and maintenance
of software. Various estimate techniques, planning,
risk analysis, project administration and configuration
management. Fundamentals of software process modeling and
definition; process improvement, frameworks for quality
software, process properties and measurements, capability
maturity evaluation, validation and verification, applications
of TQM and SQA to software. Prerequisite: Graduate standing
in EECS
EECS 812: Software Requirements Engineering (3 credit-hours).
Objectives, processes, and activities of requirements
engineering and requirements management; characteristics of
good requirements; types of requirements; managing changing
requirements; languages, notations and methodologies
for modeling and defining the requirements; formal
and semi-formal methods of presenting and validating
the requirements; requirements standards; requirements
tracability issues. Prerequisite: EECS810
EECS 814: Software Quality Assurance (3 credit-hours). Software quality engineering as an integral facet of
development, from requirements through delivery, maintenance,
and process improvement; inspections, manual and automated
static analysis techniques, fundamental concepts in software
testing, verification, validation, test case selection, testing
strategies such as black-box testing, white-box testing,
integration testing, regression testing, systems testing,
acceptance testing; design for testability, fundamental
concepts in software integration, configuration management,
models for quality assurance; documentation; industry and
government standards for quality. Prerequisite: EECS810
EECS 816: Object-Oriented Software Development (3 credit-hours). Abstract data types, classes and objects, polymorphic
functions, class associations, modeling with objects,
object-oriented analysis and design, components, frameworks,
UML and the Rational Unified Process, reusability, design
patterns, object management, CORBA. Prerequisite: EECS810
EECS 818: Software Architecture (3 credit-hours). Design methodologies, software architectural qualities;
architectural styles; architecture and design; common
architectural patterns and reuse; domain specific architectures;
tradeoff analysis, software architecture case studies.
Prerequisite: EECS810
EECS 819: Cryptography (3 credit-hours). Introduction to the mathematical background, basic
concepts, components, and protocols to enforce secrecy,
integrity, and privacy through cryptographic mechanisms. The
concept of symmetric and asymmetric encryption, integrity
verification, authentication, key establishment and update,
and authorization. Emphasis on the design of protocols
that apply and integrate various modules to achieve safety
objectives: time-stamping, digital signature, bit commitment,
fair coin-flip, zero knowledge proof, oblivious transfer, and
digital cash. The policies for key generation and management,
information storage and access control, legal issues, and
design of protocols for real applications.
EECS 881: High-Performance Networking (3 credit-hours).
Comprehensive coverage of the discipline of high-bandwidth
low-latency networks and communication, including high
bandwidth×delay products, with and emphasis on principles,
architecture, protocols, and system design. Topics include
high-performance network architecture, control, and signalling;
high-speed wired, optical, and wireless links; fast packet,
IP, and optical switching; IP lookup, classification, and
scheduling; network processors; end system design and protocol
optimization; network interfaces; end-to-end protocols,
mechanisms, and optimizations; high-bandwidth low-latency
applications; storage networks. Principles will be illustrated
with many leading-edge and emerging protocols and architectures.
Prerequisites: EECS 563 or 780.
EECS 882: Mobile Wireless Networking (3 credit-hours).
Comprehensive coverage of the disciplines of mobile and wireless
networking, with an emphasis on architecture and protocols.
Topics include cellular telephony; MAC algorithms; wireless
PANs, LANs, MANs, and WANs; wireless and mobile Internet;
mobile ad hoc networking; mobility management; sensor networks;
satellite networks; and ubiquitous computing.
Prerequisites: EECS 563 or 780.
EECS 899: Thesis (1-6 credit-hours). A research project, designed and executed under the supervision of the chair and approval by members of the graduate committee. The student will develop and perfect a number of skills including the ability to design, conduct, analyze, and report the results in writing of an original, independent scientific investigation.
