MSIT Course Descriptions
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 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: Graduate standing.
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
EECS714: Information Security and Cyber Laws (3 credit-hours). The objectives of this course is to present an introduction to the legal and ethical issues and challenges in the information age, to provide a survey of legal and ethical issues introduced by information security, and to discuss individual rights vs. national interests. A coverage of key cyber laws that impact information security and IT professionals and topics related to intellectual property, copyrights, digital forensics, e-surveillance, and e-discovery for legal evidence and lawsuits will be provided. A review of preventative legal management practices in the context of information security (including employee awareness training) will be presented. Prerequisite: EECS710 or instructor permission
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 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 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: IT Project Management (3 credit-hours). Management issues in the creation, development, and maintenance of IT systems; effort and cost estimation techniques; project planning and scheduling; resource allocation; risk analysis and mitigation techniques; quality assurance; project administration; configuration management; organizational issues; software process modeling; process improvement; frameworks for quality 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.