Information Technology Course Descriptions
Undergraduate Courses. The following is a description of upper level undergraduate IT courses. Graduate courses are described further down.
IT 310: Computer Organization and Platform Technologies (3) Machine-level representation of data, Digital logic and digital systems, Computer architecture and organization, Computing infrastructure, Introduction to multiprocessing systems, Firmware, Hardware and software integration, Introduction to intersystems communications, Enterprise deployment management, Introduction to virtual machine emulation, Platform technologies. Prerequisites: Upper-level IT eligibility. Course Website
IT 320: System Administration (3) This course introduces operating systems and network administration and presents topics related to the selection, installation, configuration, and maintenance of operating systems and computer networks. Topics to be covered include: Unix and Windows operating systems installation, configuration, and maintenance, server administration and management, client and server services, user and group management and support, software systems installation and configuration, content management and deployment, security management, network administration, backup management and disaster recovery, resource management, automation management, operating systems and Web domain management, operating systems and application version control management. A laboratory component will provide hands-on experience with system and network administration. Prerequisite: Knowledge of Linux/UNIX operating systems; IT 310, and upper-level IT eligibility. Course Website
IT 340: Computer and Information Security (3) Fundamentals of computer security, Security mechanisms, Information states, Security attacks, Threat analysis models, Vulnerability analysis models, Introduction to cryptography, Authentication, Intrusion detection, Intrusion prevention (firewalls), Operating systems security, Database security, Software security, Host hardening, Incident and disaster response. Prerequisites: Upper-level IT eligibility. Course Website
IT 342: Information Security Management (3) The objective of this course is to present topics related to the administration and management of information security. Topics to be covered include: security fundamentals, operational issues, cost-benefit analysis, asset management, security risk management, security policies and enforcement, risk avoidance, risk prevention, risk transfer, security services, security forensics, contingency planning, security auditing . A laboratory component will provide hands-on experience with security management and administration. Prerequisite: IT 340 and upper-level IT eligibility. Course Website
IT 399: Directed Reading in IT (1-4) Reading under the supervision of an instructor on a topic in Information Technology. The topic, expected outcome, evaluation criteria, and the number of credit hours must be mutually agreed on by the student and the instructor. Course may not be used to fulfill major elective requirements. Consent of the department required for enrollment. Prerequisite: Consent of instructor and upper-level IT eligibility.
IT 410: Software Engineering and Management (3) This course introduces the software development life cycle and key concepts related to software engineering. Topics include software process models, software project management, software requirements engineering, formal and informal modeling, software architecture, software design, coding and implementation, software testing and quality assurance, software deployment, and software evolution. Additional topics such as software metrics and measures, application domains, software engineering standards, and software configuration management will also be presented. This is a project-driven course. Prerequisites: Knowledge of programming (comparable to EECS 268), BBA410, and MATH 365 and upper-level IT eligibility. Course Website
IT 414: Database Design (3) The objective of this course is to present key concepts related to database design and implementation. Topics to be discussed include: database architecture, relational data model, SQL, database design life cycle, conceptual data modeling, relational database normalization, query processing, transaction processing, database security, and database administration. An introduction to new database models and distributed databases is included. This is a project-driven course. Prerequisites: IT 310.
IT 416: System Integration and Architecture (3) This course introduces system integration and architecture. Key concepts to be presented include: system architecture, system requirements, organizational context, acquisition and sourcing, system and component integration, middleware platforms, design patterns, integrative coding, scripting coding, testing and quality assurance, system deployment. Prerequisites: IT 410. Course Website
IT 420: Operating Systems (3) This course introduces operating systems principles and associated key concepts. Topics to be discussed include: processes and threads, concurrency, scheduling and dispatch, memory management, processor management, device management, security and protection, file system, disk scheduling, real-time and embedded systems, fault tolerance, scripting, and an introduction to virtualization. Prerequisites: MATH 365, IT 320, and IT 342 and upper-level IT eligibility. Course Website
IT 422: Computer Networks (3) Foundations of computer networking with practical applications and network administration, with emphasis on the Internet and wireless public switched telephone network. Topics to be covered include routing and switching, routing algorithms, physical layer, data link layer, network layer, network security, network management, and application areas. Prerequisite: IT 320. Course Website
IT 424: Network Security (3) This course covers the fundamental concepts, principles, and mechanisms in network and distributed system security. The topics that will be covered include: network security primitives, distributed authentication, key management, secure communication protocols, firewalls, intrusion detection, traffic monitoring and analysis, email and Web security, etc. Prerequisites: IT 340, IT 422, and senior standing.
IT 430: Human-Computer Interaction (3) This course introduces principles of human-computer interaction. Important topics to be presented include: human factors, human-centered design and evaluation, graphical user interfaces, multimedia system integration, interactive systems development, computer- supported cooperative work, human cognitive skills, accessibility, alternative input/output media, and emerging technologies. Prerequisite: Consent of the instructor. Course Website
IT440: Cloud Computing (3) This course introduces principles of cloud computing and the business and computing technology trends that enable and necessitate its uses. Cloud computing and its engineering and delivery models, Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS), will be covered. Cloud-based and RESTful web services for developing scalable applications and offering new services will be discussed. Topics related to cloud computing security, identity, auditing, and authorization management will be presented. The course will be project based and an existing cloud computing platform will used for projects. Prerequisite: Upper-level IT eligibility and consent of the instructor. Course Website
IT 450: Social and Professional Issues (3) This course will provide an overview of the history of computing and presents key concepts related to the social and professional aspects of IT. Topics to be covered include: Pervasive themes in IT, social context of computing, intellectual property, legal issues in computing, professional and ethical issues and responsibilities, privacy and civil liberties. Prerequisite: Consent of the instructor. Course Website
IT 452: Special Topics in IT (3) This course introduces a special topic of current interest in information technology, offered as the need arises. May be repeated for additional credit. Prerequisite: Upper-level IT eligibility and consent of the instructor.
IT 490: IT Capstone I (3) IT Capstone is a senior level course designed to allow a student to review, analyze, integrate, and apply technical knowledge in a meaningful and practical manner. The student will be expected to complete an approved academic project in IT that may be in collaboration with an industrial partner. Prerequisite: Senior standing. Course Website
IT 492: IT Capstone II (3) IT Capstone II is a continuation of IT Capstone, is a senior level course designed to allow a student to review, analyze, integrate, and apply technical knowledge in a meaningful and
practical manner. The student will be expected to complete an approved academic project in IT that may be in collaboration with an industrial partner. Prerequisite: Senior standing. Course Website
Graduate Courses. 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).
IT 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)
IT 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.
IT 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
IT 714: 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
IT 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
IT 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.
IT 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.
IT 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)
IT 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
IT 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
IT 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
IT 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
IT 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.