Close Menu

Course Descriptions

Undergraduate

ITM 100 - Introduction to Information Technology as a Profession

This course introduces students to the steps necessary to analyze a problem in information technology and identify and define the computing requirements appropriate to its solution, with a focus on how to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs. Students learn to analyze the local and global impact of computing on individuals, organizations, and society. This course leads students to recognize the need for continuing professional development and imparts an understanding of professional, ethical, legal, security and social issues, and responsibilities in information technology. Students write and present, building their ability to communicate effectively with a range of audiences, and work in teams learning to function effectively together to accomplish a common goal. (2-0-2) (C)
Prerequisite: None
Corequisite: None

ITM 300 - Communication in the Workplace

Review, analyze and practice verbal and written communication formats found in the workplace. Emphasis on developing skills in technical writing and oral presentations using electronic and traditional media. Credit not granted for both ITM 300 and COM 421. INTM 301 may be substituted for this course. (0-0-3) (C)
Prerequisite: None
Corequisite: None

ITM 301 - Introduction to Contemporary Operating Systems and Hardware I

Students study the basics of computer architecture and learn to use a contemporary operating system. Hardware requirements, hardware components, software compatibility, and system installation topics are covered along with post-installation, storage, security and system diagnosis, and repair. Topics also include discussion of current and future technology industry trends. (2-2-3)
Prerequisite: None
Corequisite: None

ITM 311 - Introduction to Software Development

A broad introduction to object-oriented programming and the related knowledge necessary to program in a contemporary programming language. This would include coverage of an Application Development Kit, a standard integrated Development environment, and the use of GUI components. (2-2-3) Technologies addressed in this course include Java.
Prerequisite: None
Corequisite: None

ITM 312 - Introduction to Systems Software Programming

Introduces basic concepts of systems programming. Students learn to apply basic programming concepts toward solving problems, create source files and implement header files, work with and effectively use basic data types, abstract data types, control structures, code modularization and arrays. Students will be introduced to object paradigm including, classes, inheritance, and polymorphism applications. (2-2-3) Technologies addressed in this course include C++.
Prerequisite: None
Corequisite: None

ITM 497 - Independent Study

Special projects. (Credit: Variable)
Prerequisite: None
Corequisite: None

ITMD 361 - Fundamentals of Web Development

This course will cover the creation of Web pages and sites using HTML, CSS, Javascript, jQuery and graphical applications, as well as the client and server architecture of the Internet and related web technologies. The creation and deployment of modern, standards-compliant web pages are addressed. Students create and deploy a Web site with multiple pages and cross-linked structures. (2-2-3) Technologies addressed in this course include HTML 4 and 5, CSS 2 and 3, Javascript, and jQuery.
Prerequisite: None

ITMD 362 - Human-Computer Interaction and Web Design

Students in this course will learn the importance of human computer interaction  design and the effectiveness of user-centered design. The course will cover a survey of methods frequently used by the HCI profession, such as usability testing and prototyping, as well as general design principles and how to use design guidelines. A particular emphasis will be placed on usability for Web site engineering, and students will apply knowledge from the field in the design and construction of user-centered Web sites. (2-2-3) 
Prerequisite: [(ITMD 361)]

ITMD 411 - Intermediate Software Development

This course covers a broad spectrum of object-oriented programming concepts and application programming interfaces. The student considers the details of object-orientated development in topics of multi-threading, data structure collections, stream I/O and client interfaces. Software engineering topics of packaging and deployment are covered as well. Hands-on exercises reinforce concepts taught throughout the course. (2-2-3) Technologies addressed in this course include Java.
Prerequisite: [(ITM 311)]
Corequisite: None

ITMD 412 - Advanced Structured and Systems Programming

Structured programming continues with advanced concepts including strings, arrays, pointers, data structures, file manipulation, and dynamic memory management. Students create more complex applications that work with user input, manipulate user supplied text or text obtained from a file, apply standard library routines for working with literal text, use pointers to store complex structures within arrays, and read and write data from files, the console, and the terminal. The object-oriented programming (OOP) paradigm is covered in depth including the philosophy of OOP, classes and objects, inheritance, template classes, and making use of class libraries. (2-2-3) Technologies addressed in this course include C++.
Prerequisite: [(ITM 312)]
Corequisite: None

ITMD 413 - Open Source Programming

Contemporary open-source programming languages and frameworks are presented. The student considers design and development topics in system, graphical user interface, network, and web programming. Dynamic scripting languages are covered using object-oriented, concurrent, and functional programming paradigms. Concepts gained throughout the course are reinforced with numerous exercises which will culminate in an open-source programming project. (2-2-3) Technologies addressed in this course will vary from term to term; examples include Python and Ruby.
Prerequisite: [(ITMD 411)]
Corequisite: None

ITMD 415 - Advanced Software Development

This course considers Web container application development for enterprise systems. The primary focus is on database connectivity (JDBC) integration with Web application programming using an enterprise-level application framework. A Web application term project considers the design and implementation of a database instance that serves as the information tier in a contemporary 3-tier enterprise solution. (2-2-3) Technologies addressed in this course include Enterprise Java.
Prerequisite: [(ITMD 411)]
Corequisite: None

ITMD 419 - Topics in Software Development

This course will cover a particular topic in software development, varying from semester to semester, in which there is particular student or staff interest. This course may be taken more than once but only 9 hours of ITM 419/519 or ITMD 419/519 credit may be applied to a degree. (Credit: Variable)
Prerequisite: None
Corequisite: None

ITMD 421 - Data Modeling and Applications

Basic data modeling concepts are introduced. Hands-on database design, implementation, and administration of single-user and shared multi-user database applications using a contemporary relational database management system. (2-2-3) Technologies addressed in this course include SQL and relational database management systems such as the Oracle DBMS.
Prerequisite: None
Corequisite: None

ITMD 422 - Advanced Database Management

Advanced topics in database management and programming including client server application development are introduced. Expands knowledge of data modeling concepts and introduces object-oriented data modeling techniques. Students will learn the use of Structured Query Language in a variety of application and operating system environments. (3-0-3) (C) Technologies addressed in this course include SQL and relational database management systems such as Oracle, MySQL, and SQL Server.
Prerequisite: [(ITMD 421)]
Corequisite: None

ITMD 453 - Enterprise Intelligent Device Applications

Intelligent device application development is covered with proprietary enterprise and open-source technologies on media device, mobile and robotic platforms. Utilizing contemporary toolkits, the student considers design and development on simulated and real “smart” devices including smart phones, tablets, sensors, actuators, drones, and robots. Numerous exercises reinforce concepts gained throughout the course. A term project will integrate course topics into a comprehensive intelligent device application. (2-2-3) Technologies addressed in this course include application development for Microsoft Windows-based devices.
Prerequisite: [(ITM 311)]
Corequisite: None

ITMD 454 - Mass-Market Intelligent Device Applications

Intelligent device application development is covered with leading mass-market and open-source technologies on media device, mobile and robotic platforms. Utilizing contemporary toolkits, the student considers design and development on simulated and real “smart” devices including smart phones, tablets, sensors, actuators, drones, and robots. Numerous exercises reinforce concepts gained throughout the course. A term project will integrate course topics into a comprehensive intelligent device application. (2-2-3) Technologies addressed in this course include application development for iOS devices.
Prerequisite: [(ITM 311)]
Corequisite: None

ITMD 455 - Open Source Intelligent Device Applications

Intelligent device application development is covered with mainstream open-source technologies on media device, mobile and robotic platforms. Utilizing contemporary toolkits, the student considers design and development on simulated and real “smart” devices including smart phones, tablets, sensors, actuators, drones, and robots. Numerous exercises reinforce concepts gained throughout the course. A term project will integrate course topics into a comprehensive intelligent device application. (2-2-3) Technologies addressed in this course include application development for Android devices.
Prerequisite: [(ITM 311)]
Corequisite: None

ITMD 460 - Fundamentals of Multimedia

Students are introduced to computer-based multimedia theory, concepts, and applications. Topics include desktop publishing, hypermedia, presentation graphics, graphic images, animation, sound, video, multimedia on the World Wide Web and integrated multimedia authoring techniques. (2-2-3) (C)
Prerequisite: None
Corequisite: None

ITMD 462 - Web Site Application Development

Programming the Common Gateway Interface (CGI) for Web pages is introduced with emphasis on creation of interfaces to handle HTML form data. CGI programming is taught in multiple languages. Security of Web sites is covered with an emphasis on controlled access sites. Setup, administration and customization of content management systems including blog and portal sites is introduced. Students design and create a Web site including basic CGI programs with Web interfaces and process data flows from online forms with basic database structures. (2-2-3) (C) Technologies addressed in this course include PHP and contemporary Content Management Systems (CMS).
Prerequisite: [(ITMD 361)]
Corequisite: None

ITMD 463 - Intermediate Web Application Development

In-depth examination of the concepts involved in the development of Internet applications. Students will learn the differences and similarities between Internet applications and traditional client/server applications. A discussion of the technologies involved in creating these Internet applications is included, and students will learn to use these technologies to create robust server-side applications (2-2-3) Technologies addressed in this course include C# and the Microsoft .Net fromework.
Prerequisite: [(ITMD 411)] 
Corequisite: None

ITMD 464 - Advanced Web Application Development

Strategies for management of electronic commerce allow students to learn to re-engineer established business processes to increase enterprise competitive advantage, provide better customer service, reduce operating costs, and achieve a better return on investment. Students will learn to evaluate, use, and deploy state-of-the-art tools and techniques needed to develop a reliable e-commerce offering on the Web. The course will cover state-of-the-art programming and development tools. This class will provide students with hands-on exposure needed to design and build a fully functional e-commerce Web site. (2-2-3) Technologies addressed in this course include C# and the Microsoft .Net fromework.
Prerequisite: [(ITMD 463)]
Corequisite: None

ITMD 465 - Rich Internet Applications

Students learn to create interactive rich internet applications using web development frameworks, applications, and techniques that primarily operate on the client-side. These applications often exhibit the same characteristics as desktop applications and are typically delivered through a standards-based web browser via a browser plug-in or independently via sandboxes or virtual machines. Current software frameworks used to download, update, verify, and execute these applications are addressed as well as writing applications for deployment in these frameworks. (2-2-3) Technologies addressed in this course typically include client side application development using HTML5, CSS3, and Javascript.
Prerequisite: [(ITMD 361)]
Corequisite: None

ITMD 466 - Service-Oriented Architecture

This course covers IT enterprise systems employing web services technologies in SOA and ESB architectural patterns. The student considers SOA which defines and provisions IT infrastructure and allows for a loosely-coupled data exchange over disparate applications participating in business processes. The simplification of integration and flexible reuse of business components within SOA is greatly furthered by ESB. Lab exercises using contemporary tool-kits are utilized to reinforce platform-agnostic course topics. (2-2-3) Technologies addressed in this course include XML, SOAP, and Java.
Prerequisite: [(ITMD 361 and ITMD 411)]
Corequisite: None

ITMD 469 - Topics in Application Development

This course will cover a particular topic in application development, varying from semester to semester, in which there is particular student or staff interest. This course may be taken more than once but only 9 hours of ITM 469/569 or ITMD 469/569 credit may be applied to a degree. (Credit: Variable)
Prerequisite: None
Corequisite: None

ITMM 470 - Fundamentals of Management for Technology Professionals

This course explores fundamentals of management for professionals in high-technology fields. It addresses the challenges of the following: managing technical professionals and technology assets; human resource management; budgeting and managerial accounting; management of services, infrastructure, outsourcing, and vendor relationships; technology governance and strategy; and resource planning. (3-0-3) (C)
Prerequisite: None
Corequisite: None

ITMM 471 - Project Management for Information Technology and Management

Basic principles of project management are taught with a particular focus on project planning for information technology hardware, software and networking project implementation. Management of application development and major Web development projects will also be addressed. (3-0-3) (C)
Prerequisite: None
Corequisite: None

ITMM 481 - IT Entrepreneurship

This course prepares students to become leaders in information technology and to build ITM companies. Students design and develop a prototype ITM product and prepare a business plan and venture proposal presentation. (3-0-3)
Prerequisite: None
Corequisite: None

ITMM 482 - Business Innovation

This course is designed to teach innovative thinking through theory, methods, and practice of innovation. The course incorporates Einstein's thinking, and Edison's method to establish the innovation process that can be applied in current business environment. Current economic conditions and global sourcing requires that innovation becomes a leading tool for developing a competitive edge. Innovation has been considered a competency of educated, design engineering, and a selected few employees that has become insufficient today. Corporations and organizations need innovation to develop customer-specific solutions in almost real time. (3-0-3)
Prerequisite: None
Corequisite: None

ITMM 485 - Legal and Ethical Issues in Information Technology

Current legal issues in information technology are addressed including elements of contracting, payment systems and digital signatures, privacy concerns, intellectual property, business torts, and criminal liability including hacking, computer trespass and fraud. Examination of ethical issues including privacy, system abuse, and ethical practices in information technology equip students to make sound ethical choices and resolve legal and moral issues that arise in information technology. (3-0-3) (C)
Prerequisite: None
Corequisite: None

ITMO 417 - Shell Scripting for System Administrators

Focuses on preparation of shell scripts to enhance and streamline system administration tasks in all contemporary server operating systems. Scripting will be taught in both native and portable environments. The course will address shell programming, regular expressions, common and system-specific shell utilities and built-in commands, user defined and shell variables, flow control structures, shell functions, and the creation and execution of shell scripts. Homework and hands-on exercises will provide practical experience in contemporary server environments. (2-2-3) Technologies addressed in this course include BASH, PERL, and PowerShell.
Prerequisite: [(ITMO 456) OR (ITMO 556)]
Corequisite: None

ITMO 433 - Enterprise Server System Administration

Students learn to set up and maintain and administer X86-based servers and associated networks using a contemporary industry-standard proprietary operating system. Topics include hardware requirements; software compatibility; system installation, configuration and options and post-installation topics; administrative and technical practices required for system security; process management; performance monitoring and tuning; storage management; back-up and restoration of data; and disaster recovery and prevention. Also addressed is configuration and administration of common network and server services such as DNS, DHCP, remote access, email, basic virtualization, web and web services, and more. (2-2-3) Technologies addressed in this course include current versions of Microsoft Windows Server.
Prerequisite: [(ITMO 440) OR (ITMO 540)]
Corequisite: None

ITMO 440 - Introduction to Data Networking and the Internet

This course covers current and evolving data network technologies, protocols, network components, and the networks that use them, focusing on the Internet and related LANs. The state of worldwide networking and its evolution will be discussed. This course covers the Internet architecture, organization, and protocols including Ethernet, 802.11, routing, the TCP/UDP/IP suite, DNS, SNMP, DHCP, and more. Students will be presented with Internet-specific networking tools for searching, testing, debugging, and configuring networks and network-connected host computers. There will be opportunities for network configuration and hands-on use of tools. (2-2-3)
Prerequisite: None
Corequisite: None

ITMO 441 - Network Administration and Operations

Students learn the details, use, and configuration of network applications. Currently protocols and application technologies considered include SNMP, SMTP, IMAP, POP, MIME, BOOTP, DHCP, SAMBA, NFS, AFS, X, HTTP, DNS, NetBIOS, and CIFS/SMB. Windows workgroups and domains: file and printer sharing, remote access, and Windows networking are addressed. A research paper in the above topic areas is required. (2-2-3)
Prerequisite: [(ITMO 440) OR (ITMO 540)]
Corequisite: None

ITMO 444 - Cloud Computing Technologies

Computing applications hosted on dynamically-scaled virtual resources available as services are considered. Collaborative and non-collaborative "cloud-resident" applications are analyzed with respect to cost, device/location independence, scalability, reliability, security, and sustainability. Commercial and local cloud architectures are examined. A group-based integration of course topics will result in a project employing various cloud computing technologies. (2-2-3)
Prerequisite: [(ITMD 411) and (ITMO 456)]
Corequisite: None

ITMO 450 - Enterprise End-User System Administration

Students learn to set up, configure, and maintain end-user desktop and portable computers and devices in an enterprise environment using a contemporary proprietary operating system, including the actual installation of the operating system in a networked client-server environment. User account management, security, printing, disk configuration, and backup procedures are addressed, with particular attention to coverage of networked applications. System installation, configuration and administration issues as well as network file systems, network access and compatibility with other operating systems are also addressed. Administration of central server resources associated with management and provisioning of end-user systems in workgroups, domains or forests is also addressed. (2-2-3) Technologies addressed in this course include current versions of Microsoft Windows Server and Microsoft Windows desktop and device operating systems.
Prerequisite: [(ITM 301)]
Corequisite: None

ITMO 453 - Open-Source Server System Administration

Students learn to set up, configure, and administer an industry-standard open source server operating system, including integration with client systems using a variety of operating systems in a mixed environment. Topics include hardware requirements; software compatibility; administrative and technical practices required for system security; process management; performance monitoring and tuning; storage management; back-up and restoration of data; and disaster recovery and prevention. Also addressed are configuration and administration of common network and server services such as DNS, DHCP, firewall, proxy, remote access, file and printer sharing, email, web and web services, and more. as well as support issues for open source software. (2-2-3) Technologies addressed in this course include current versions of Linux and/or UNIX operating systems.
Prerequisite: [(ITMO 456) OR (ITMO 556)]
Corequisite: None

ITMO 454 - Operating System Virtualization

This course will cover technologies allowing multiple instances of operating systems to be run on a single physical system. Concepts addressed will include hypervisors, virtual machines, paravirtualization and virtual appliances. Both server and desktop virtualization will be examined in detail, with brief coverage of storage virtualization and application virtualization. Business benefits, business cases and security implications of virtualization will be discussed. Extensive hands-on assignments and a group project will allow students to gain first-hand experience of this technology. (2-2-3)
Prerequisite: [(ITM 301) OR (ITMO 456)]
Corequisite: None

ITMO 456 - Introduction to Open Source Operating Systems

Students learn to set up and configure an industry-standard, open-source operating system including system installation and basic system administration. Also addressed are applications and graphical user interfaces as well as support issues for open-source software. (2-2-3) em>Technologies addressed in this course include current versions of the Linux operating system.
Prerequisite: None
Corequisite: None

ITMS 428 - Database Security

Students will engage in an in-depth examination of topics in data security including security considerations in applications and systems development, encryption methods, cryptography law and security architecture and models. (3-0-3)
Prerequisite: [(ITMD 421)]
Corequisite: None

ITMS 443 - Vulnerability Analysis and Control

This course addresses hands-on ethical hacking, penetration testing, and detection of malicious probes and their prevention. It provides students with in-depth theoretical and practical knowledge of the vulnerabilities of networks of computers including the networks themselves, operating systems, and important applications. Integrated with the lectures are laboratories focusing on the use of open source and freeware tools; students will learn in a closed environment to probe, penetrate, and hack other networks. It is recommended, but not required, that students also take ITMS 448 prior to or in parallel with this course. (2-2-3)
Prerequisite: None
Corequisite: [(ITMO 440)]

ITMS 448 - Cyber Security Technologies

Prepares students for a role as a network security analyst and administrator. Topics include viruses, worms, and other attack mechanisms, vulnerabilities, and countermeasures; network security protocols, encryption, identity and authentication, scanning, firewalls, security tools, and organizations addressing security. A component of this course is a self-contained team project that, if the student wishes, can be extended into a fully operational security system in a subsequent course. (2-2-3) (C)
Prerequisite: [(ITMO 440)]
Corequisite: None

ITMS 458 - Operating System Security

This course will address theoretical concepts of operating system security, security architectures of current operating systems, and details of security implementation using best practices to configure operating systems to industry security standards. Server configuration, system-level firewalls, file system security, logging, anti-virus and anti-spyware measures and other operating system security strategies will be examined. (2-2-3)
Prerequisite: [(ITMO 456)]
Corequisite: None

ITMS 478 - Cyber Security Management

In-depth examination of topics in the management of information technology security including access control systems and methodology, business continuity and disaster recovery planning, legal issues in information system security, ethics, computer operations security, physical security and security architecture & models using current standards and models (3-0-3) (C)
Prerequisite: None
Corequisite: None

ITMS 479 - Topics in Information Security

This course will cover a particular topic in Information Security, varying from semester to semester, in which there is particular student or staff interest. This course may be taken more than once but only 9 hours of ITM 479/579 or ITMS 479/579 credit may be applied to a degree. (Credit: Variable)
Prerequisite: None
Corequisite: None

ITMS 484 - Governance, Risk, and Compliance

This course is an in-depth examination of topics in information technology/information security governance, risk and compliance, including Information Assurance policies, standards and compliance, as well as the examination of security risk analysis and the performance of systems certification and accreditation. Regular homework assignments and completion of a research paper are required for this course. (Credit: 3-0-3)
Prerequisite: [(ITMS 478)]
Corequisite: None

ITMT 430 - System Integration

In this capstone course, students will identify, gather, analyze, and write requirements based on user needs and will then design, construct, integrate, and implement an information system as a solution to a business problem. Students will document integration requirements using business process models and will learn and apply key systems integration architecture, methodologies, and technologies using industry best practices. User needs and user centered design will be applied in the selection, creation, evaluation, and administration of the resulting system. The system design process will take into account professional, ethical, legal, security, and social issues and responsibilities and stress the local and global impact of computing on individuals, organizations, and society. Discussion will also cover the need to engage in continuing professional development. (Credit: 3-0-3)
Prerequisite: [(ITMD 361 and ITMD 362 and ITMD 411 and ITMD 421 and ITMM 471 and ITMO 440 and ITMO 456)]
Corequisite: None

ITMT 491 - Undergraduate Research

Undergraduate research. Written consent of instructor is required. (Credit: Variable)
Prerequisite: None
Corequisite: None

ITMT 492 - Embedded Systems and Reconfigurable Logic Design

This course covers reconfigurable intelligent devices programmed with modern high level languages focusing on design and integration to modern environments. The course will also cover the topic and deployment of wireless sensor networks and the use of rapid prototyping for commercial application. Students will discover hardware, software and firmware design trade-offs as well as best practices in current embedded systems development. A final project will integrate course topics into a system using an embeddable single-board microcontroller. (3-0-3)
Prerequisite: [(ITM 311 with min. grade of D) OR (ITM 312 with min. grade of D)]
Corequisite: None

ITMT 495 - Topics in Information Technology

This course will cover a particular topic varying from semester to semester in which there is particular student or staff interest. (Credit: Variable)
Prerequisite: None
Corequisite: None

TECH 210 - English Studies -- Cultural Enrichment

This course is designed to introduce international students to Chicago and American culture while providing opportunities to improve English communication and conversational skills. The course will consist of classroom lectures, discussions, and cultural excursions to events and famous sites in Chicago. English language strategies learned in class will be reinforced by field trips, discussions, structured listening and speaking activities, and readings involving current topics. The course will provide students with real-world opportunities to practice English and enjoy cultural outings. (2-0-2)
Prerequisite: None
Corequisite: None

TECH 310 - Language Lab

This course is designed to introduce international students to the sound system of North American English (NAE). Students will develop skills to improve pronunciation, fluency, and grammar through a combination of instructor-led activities and computer-based software. (0-2-2)
Prerequisite: None
Corequisite: None

TECH 465 - Introduction to Social Commerce

Provides an introduction and basic knowledge of social commerce to help students develop a practical understanding of the design, construction, market readiness and synergistic integration of a business mobile application. The course will provide a practitioner focus that will benefit students in a start-up or company/corporate setting. (3-0-3)
Prerequisite: None
Corequisite: None

TECH 497 - Special Projects

Independent study and projects in applied technology that are multi/cross-disciplinary not tied to a specific department. (Credit: Variable)
Prerequisite: None
Corequisite: None

 

Graduate

While many courses here list the prerequisite as “None”, it should be noted that all program prerequisites must be met.

ITMD 510 - Object Oriented Application Development

This course covers a broad spectrum of object-oriented programming concepts and application programming interfaces. The student considers the details of object-oriented development in topics of multi-threading, data structure collections, stream I/O and client interfaces. Software engineering topics of packaging and deployment are covered as well. Strong emphasis is placed on the creation of applications providing solutions for defined business problems. Hands-on exercises reinforce concepts taught throughout the course. (2-2-3)   Technologies addressed in this course include Java.
Prerequisite: None

ITMD 511 - Application Development Methodologies

Students learn concepts in a systematic approach to the analysis, design, implementation and maintenance of software. Includes studies of the various models of the software life-cycle, Software Development project management, system requirements analysis, and methodologies for practical application of these models to Software Development, including the use of CASE (Computer Aided Software Engineering) tools. Students apply these principles in projects to improve the quality of their development process and final products. (2-2-3)
Prerequisite: [(ITMD 411) OR (ITMD 412) OR (ITMD 510) OR (ITMD 512)]
Corequisite: None

ITMD 512 - Structured and Systems Programming

Structured programming with advanced concepts including strings, arrays, pointers, data structures, file manipulation, and dynamic memory management. Students create complex applications that work with user input, manipulate user supplied text or text obtained from a file, apply standard library routines for working with literal text, use pointers to store complex structures within arrays, and read and write data from files, the console, and the terminal. The object-oriented programming (OOP) paradigm is covered in depth including the philosophy of OOP, classes and objects, inheritance, template classes, and making use of class libraries. Strong emphasis is placed on the creation of applications providing solutions for defined business problems or specific operating system issues. (2-2-3)   Technologies addressed in this course include C++.
Prerequisite: None
Corequisite: None

ITMD 513 - Open Source Programming

Contemporary open-source programming languages and frameworks are presented. The student considers design and development topics in system, graphical user interface, network and web programming. Dynamic scripting languages are covered using object-oriented, concurrent and functional programming paradigms. Concepts gained throughout the course are reinforced with numerous exercises which will culminate in an open-source programming project. (2-2-3)  Technologies addressed in this course will vary from term to term; examples include Python and Ruby.
Prerequisite: [(ITM 411) OR (ITMD 510)]
Corequisite: None

ITMD 515 - Advanced Software Programming

This course considers Web container application development for enterprise systems. The primary focus is on database connectivity (JDBC) integration with Web application programming using an enterprise-level application framework. A Web application term project considers the design and implementation of a database instance that serves as the information tier in a contemporary 3-tier enterprise solution. (2-2-3)    Technologies addressed in this course include Enterprise Java.
Prerequisite: [(ITM 411) OR (ITMD 510)]
Corequisite: None

ITMD 519 - Topics in Software Development

This course will cover a particular topic in software development varying from semester to semester in which there is particular student or staff interest. The course may be taken more than once but only 9 hours of ITMD 419/519 credit may be applied to a degree. (Credit: Variable)
Prerequisite: None
Corequisite: None

ITMD 521 - Client Server Technologies & Applications

This course covers both concepts and practical applications of client server systems, a common form of distributed system in which software is split between server tasks and client tasks. Both central and distributed server models will be studies, with particular focus on middleware, systems planning, and data access. The course includes hands-on development of client-server applications in database systems. (2-2-3)
Prerequisite: None
Corequisite: None

ITMD 523 - Advanced Topics in Data Management

Advanced topics in database management and programming including client server application development are introduced. Students will learn the use of Structured Query Language in a variety of application and operating system environments. Expands knowledge of data modeling concepts and introduces objectoriented data modeling techniques with specific attention to the use of database management systems in response to defined business problems. (3-0-3) Technologies addressed in this course include SQL and relational database management systems such as Oracle, MySQL, and SQL Server.
Prerequisite: None
Corequisite: None

ITMD 525 - Topics in Data Science and Management

This course will cover a particular topic in databases, data science, data management, or data analytics, varying from semester to semester, in which there is particular student or staff interest. Prerequisite: consent of instructor. This course may be taken more than once but only 6 hours of ITMD 525 credit may be applied to a degree. (Credit: Variable)
Prerequisite: None
Corequisite:None

ITMD 526 - Data Warehousing

This class will introduce the student to concepts needed for successfully designing, building and implementing a data warehouse. The class will provide the technological and managerial knowledge base for data modeling approaches such as the star schema and database de-normalization issues. Topics such as loading the warehouse, performance considerations, and other concepts unique to the data warehouse environment will be discussed demonstrated in detail. (3-0-3)
Prerequisite: None
Corequisite: None

ITMD 527 - Data Analytics

This is a hands-on course that focuses on the creation, maintenance, and analysis of large informatics databases. Concepts such as data modeling, probability, linear regression, and statistical data analysis are covered in depth. In addition, this course will use large simulated equities, healthcare, insurance, and banking database systems. The student is expected to have a working understanding of relational database concepts as well as SQL. (3-0-3)
Prerequisite: [(ITMD 422) OR (ITMD 523)]
Corequisite: None

ITMD 529 - Advanced Data Analytics

Informatics is the application of information technology to solve problems in other fields. Informaticists use technology and information to build intelligent systems used to bridge the gaps between information, technology, and the people who use it. The study of informatics is about blending applied mathematics with technology while understanding the broader consequences of computing on society and the problem being solved. It is important for any student to develop a broad perspective of technology and the people it serves. This course builds upon the student's knowledge of mathematical concepts of predictive modeling of samples and populations with an emphasis on applying technology to solve real world problems. (3-0-3)
Prerequisite: [(ITMD 527)]
Corequisite: None

ITMD 532 - UML-Based Software Development

Study of software development using the Unified Modeling Language (UML). Covers architecture-driven and component based techniques for modeling object-oriented applications. Particular emphasis is placed on the hands on application of tools and components used for object oriented systems modeling. (3-0-3)
Prerequisite: [(ITM 510) OR (ITMD 512)]
Corequisite: None

ITMD 534 - Human and Computer Interaction

Introduction to human-computer interaction, a discipline concerned with the design, evaluation and implementation of interactive computing systems for human use. Emphasis is given to the structure of communication between people and computers, capabilities of people to use computers, concerns that arise in designing and building interfaces, design trade-offs, and the process of specification, design, and implementation of user interfaces. Particular emphasis is placed on practical design and usability of computer system user interfaces. (3-0-3)
Prerequisite: None
Corequisite: None

ITMD 535 - Human/Computer Interaction Design

Advanced study in human-computer interaction, with a particular focus on the design of application and web interfaces. (3-0-3)
Prerequisite: [(ITMD 362) OR (ITMD 534)]
Corequisite: None

ITMD 536 - Software Testing and Maintenance

This course covers the basic concepts of software testing and maintenance. The Testing Maturity Model provides a framework for developing a more mature test process. Testing techniques, test metrics and test plan management concepts are described within this framework (3-0-3)
Prerequisite: [(ITMM 471) OR (ITMM 571)]
Corequisite: None

ITMD 545 - WebRTC

This course covers a set of protocols, architectures and APIs designed to enable browser-to-browser real-time communication of voice, video and data. Students will learn to apply basic technologies including WebSockets, HTTP, HTML5, Web Sockets, NAT, STUN, TURN and ICE to ensure two-way real-time communication is established using the WebRTC API’s and architectures. Students will use JavaScript and development environments to create basic data, and media applications based on the WebRTC technologies and will record the impact of their applications on the performance and behavior of the networks that carry them. (3-0-3) 
Prerequisite: [(ITMD 411) OR (ITMD 510) AND (ITMO 440) OR (ITMO 540) AND (ITMO 456) OR (ITMO 556)]
Corequisite: None

ITMD 553 - Enterprise Intelligent Device Applications

Intelligent device application development is covered with proprietary enterprise and open-source technologies on media device, mobile and robotic platforms. Utilizing contemporary toolkits, the student considers design and development on simulated and real “smart” devices including smart phones, tablets, sensors, actuators, drones, and robots. Numerous exercises reinforce concepts gained throughout the course. A term project will integrate course topics into a comprehensive intelligent device application. (2-2-3) Technologies addressed in this course include application development for Microsoft Windows-based devices.
Prerequisite: None
Corequisite: None

ITMD 554 - Mass-Market Intelligent Device Applications

Intelligent device application development is covered with leading mass-market and open-source technologies on media device, mobile and robotic platforms. Utilizing contemporary toolkits, the student considers design and development on simulated and real “smart” devices including smart phones, tablets, sensors, actuators, drones, and robots. Numerous exercises reinforce concepts gained throughout the course. A term project will integrate course topics into a comprehensive intelligent device application.&(2-2-3) Technologies addressed in this course include application development for iOS devices.
Prerequisite: None
Corequisite: None

ITMD 555 - Open Source Intelligent Device Applications

Intelligent device application development is covered with mainstream open-source technologies on media device, mobile and robotic platforms. Utilizing contemporary toolkits, the student considers design and development on simulated and real “smart” devices including smart phones, tablets, sensors, actuators, drones, and robots. Numerous exercises reinforce concepts gained throughout the course. A term project will integrate course topics into a comprehensive intelligent device application. (2-2-3) Technologies addressed in this course include application development for Android devices.
Prerequisite: None
Corequisite: None

ITMD 556 - Intelligent Device Projects

Students create projects that exercise and expand their understanding of intelligent device application development. Instructional materials and lectures are provided as needed to support projects. Scope and deliverables will be determined through joint decision of the instructor and students. Students will describe requirements, create test plans as needed, demonstrate the application when applicable, create a written description of the work, and may deliver a formal presentation to an audience appropriate to the scope and scale of the work completed. This course may be taken more than once but only 6 hours of ITMD 556 credit may be applied to a degree. (2-2-3)
Prerequisite: [(ITMD 453) OR (ITMD 553) OR (ITMD 454) OR (ITMD 554) OR (ITMD 455) OR (ITMD 555)]
Corequisite: None

ITMD 562 - Web Site Application Development

Programming the Common Gateway Interface (CGI) for Web pages is introduced with emphasis on creation of interfaces to handle HTML form data. CGI programming is taught in multiple languages. Security of Web sites is covered with an emphasis on controlled access sites. Setup, administration and customization of content management systems including blog and portal sites is introduced. Students design and create a Web site including basic CGI programs with Web interfaces and process data flows from online forms with basic database structures. (2-2-3)
Prerequisite: None
Corequisite: None

ITMD 563 - Intermediate Web Application Development

In-depth examination of the concepts involved in the development of Internet applications. Students will learn the differences and similarities between Internet applications and traditional client/server applications. A discussion of the technologies involved in creating these Internet applications is included, and students will learn to use these technologies to create robust server-side applications. (2-2-3)  Technologies addressed in this course include C# and the Microsoft .Net fromework.
Prerequisite: [(ITM 411) OR (ITMD 510)]
Corequisite: None

ITMD 564 - Advanced Web Application Development

Strategies for management of electronic commerce allow students to learn to re-engineering established business processes to increase enterprise competitive advantage, provide better customer service, reduce operating costs, and achieve a better return on investment. Students will learn to evaluate, use, and deploy state-of-the-art tools and techniques needed to develop a reliable e-commerce offering on the Web. The course will cover state-of-the-art programming and development tools. This class will provide students with hands-on exposure needed to design and build a fully functional e-commerce Web site. (2-2-3)  Technologies addressed in this course include C# and the Microsoft .Net fromework.
Prerequisite: [(ITMD 463) OR (ITMD 563)]
Corequisite: None

ITMD 565 - Rich Internet Applications

Students learn to create interactive rich Internet applications using Web development frameworks, applications, and techniques that primarily operate on the client-side. These applications often exhibit the same characteristics as desktop applications and are typically delivered through a standards-based Web browser, via a browser plug-in, or independently via sandboxes or virtual machines. Current software frameworks used to download, update, verify and execute these applications are addressed as well as writing applications for deployment in these frameworks. (2-2-3)
Prerequisite: None
Corequisite: None

ITMD 566 - Service-Oriented Architectures

This course covers IT enterprise systems employing web services technologies in SOA and ESB architectural patterns. The student considers SOA which defines and provisions IT infrastructure and allows for a loosely-coupled data exchange over disparate applications participating in business processes. The simplification of integration and flexible reuse of business components within SOA is greatly furthered by ESB. Lab exercises using contemporary toolkits are utilized to reinforce platform-agnostic course topics. (2-2-3)
Prerequisite: [(ITMD 411) OR (ITMD 510)]
Corequisite: None

ITMD 567 - Web Systems Integration

In this project-based course, student teams will build an enterprise-grade website and web infrastructure integrating serverside applications, databases, and client-side Rich Internet applications as a solution to a defined business problem. (2-2-3)
Prerequisite: [(ITMD 462) OR (ITMD 562) and (ITMD 465) OR (ITMD 565)]
Corequisite: None

ITMD 569 - Topics in Application Development

This course will cover a particular topic in application development, varying from semester to semester, in which there is a particular student or staff interest. This course may be taken more than once but only 9 hours of ITM 469/569 or ITMD 569 credit may be applied to a degree. (Credit: Variable)
Prerequisite: None
Corequisite: None

ITMM 570 - Fundamentals of Management for Technology Professionals

This course explores fundamentals of management for professionals in high-technology fields. It addresses the challenges of the following: managing technical professionals and technology assets; human resource management; budgeting and managerial accounting; management of services, infrastructure, outsourcing, and vendor relationships; technology governance and strategy; and resource planning. (3-0-3)
Prerequisite: None
Corequisite: None

ITMM 571 - Project Management for Information Technology Management

Project Management for Information Technology Management Basic principles of project management are taught. Includes software development concepts of requirements analysis, object modeling and design and software testing. Management of application development and major Web development projects will also be addressed. (3-0-3)
Prerequisite: None
Corequisite: None

ITMM 572 - Process Engineering for Information Technology Managers

This course will provide students with the knowledge and skills to define, model, measure and improve business processes. The course will focus on re-engineering processes through the application of technology to achieve significant and measurable improvement. The course will explore the latest industry standards and students will use state-of-the-art software tools for hands-on experiential learning. (3-0-3)
Prerequisite: [(ITMM 471) OR (ITMM 571)]
Corequisite: None

ITMM 573 - Building and Leading Effective Teams

This course will prepare students to be effective IT managers. Students will be introduced to the general challenges of management as well as the challenges unique to leading teams of technology professionals. The course will explore the skills necessary to excel as a leader including dealing with conflict, developing leadership skills, recruiting and developing employees, and leading remote and virtual teams. Students will explore case studies and execute team exercises to enrich their learning experience. (3-0-3)
Prerequisite: [(ITMM 471) OR (ITMM 571)]
Corequisite: None

ITMM 574 - Information Technology Management Frameworks

This course will examine the application of industry standard frameworks to the management of information technology infrastructure, development and operations. Frameworks including the Information Technology Infrastructure Library (ITIL), Control Objectives for Information and related Technology (COBIT), and others will be covered. Students will learn to use these frameworks to tailor a set of concepts and policies to necessary manage IT in a specific enterprise. (3-0-3)
Prerequisite: None
Corequisite: None

ITMM 575 - Networking and Telecommunications Management

This course address the design, implementation, and management of computer networks and enterprise telecommunications systems. Design issues in wide area networks and telecommunications with emphasis on Internet connectivity are also addressed. Tools for supporting the distribution and sharing of system resources and information are discussed, along with tools to support network design and management. (3-0-3)
Prerequisite: [(ITMO 541)]
Corequisite: None

ITMM 576 - Data Center Management

This course is an in-depth examination of best practices in the management of enterprise data centers. Topics include data center consolidation; data center maintenance; server and network management methods and tools; budget and finance; service-level agreements; managing data center personnel and staff; and disaster recovery (3-0-3)
Prerequisite: None
Corequisite: None

ITMM 577 - Case Studies in Management of Information Technology

This course examines approaches and models for the management of information technology at an enterprise level through the use of case studies in the field. (3-0-3)
Prerequisite: None
Corequisite: None

ITMM 581 - IT Entrepreneurship

This course prepares students to become leaders in information technology and to build ITM companies. Students design an develop a prototype ITM product and prepare a business plan and venture proposal presentation. (3-0-3)
Prerequisite: None
Corequisite: None

ITMM 582 - Business Innovation

This course is designed to teach innovative thinking through theory, methods, and practice of innovation. The course incorporates Einstein's thinking, and Edison's method to establish the innovation process that can be applied in current business environment. Current economic conditions and global sourcing requires that innovation becomes a leading tool for developing a competitive edge. Innovation has been considered a competency of educated, design engineering, and a selected few employees that has become insufficient today. Corporations and organizations need innovation to develop customer-specific solutions in almost real time. (3-0-3)
Prerequisite: None
Corequisite: None

ITMM 584 - Information Technology at C-Level

The issues, competencies, challenges and rewards of managing information technology in major enterprises at the Chief Information Officer/Chief Technology Officer level are examined in depth. The course will equip students with a fundamental awareness of what the enterprise and the profession expects from the highest levels of IT management. Readings, case studies and guided discussions will be supplemented by a series of guest lectures from-and discussions with-Chicago-area IT professional currently employed in these roles. (3-0-3)
Prerequisite: None
Corequisite: None

ITMM 585 - Legal and Ethical Issues in Information Technology

Current legal issues in information technology are addressed including elements of contracting, payment systems and digital signatures, privacy concerns, intellectual property, business torts and criminal liability including hacking, computer trespass and fraud. Examination of ethical issues including privacy, system abuse, and ethical practices in information technology equip students to make sound ethical choices and resolve legal and moral issues that arise in information technology. (3-0-3)
Prerequisite: None
Corequisite: None

ITMM 586 - Information Technology Auditing

Industry standard practices and standards in the auditing of information technology in an organization are addressed, with a particular emphasis on examination of IT governance, assets, controls, and control techniques. Specific areas covered will include the audit process, IT governance, systems and infrastructure life cycle management, IT service delivery and support, protection of information assets, and business continuity and disaster recovery. Students will examine case studies and complete hands-on exercises. (3-0-3)
Prerequisite: None
Corequisite: None

ITMO 517 - Shell Scripting for System Administrators

Focuses on preparation of shell scripts to enhance and streamline system administration tasks in all contemporary server operating systems. Scripting will be taught in both native and portable environments. The course will address shell programming, regular expressions, common and system-specific shell utilities and built-in commands, user defined and shell variables, flow control structures, shell functions, and the creation and execution of shell scripts. Homework and hands-on exercises will provide practical experience in contemporary server environments. (3-0-3) Technologies addressed in this course include BASH, PERL, and PowerShell.
Prerequisites: [(ITMO 456) OR (ITMO 556)]
Corequisite: None

ITMO 533 - Enterprise Server System Administration

Students learn to set up and maintain and administer X86-based servers and associated networks using a contemporary industry-standard proprietary operating system. Topics include hardware requirements; software compatibility; system installation, configuration and options and post-installation topics; administrative and technical practices required for system security; process management; performance monitoring and tuning; storage management; back-up and restoration of data; and disaster recovery and prevention. Also addressed is configuration and administration of common network and server services such as DNS, DHCP, remote access, email, basic virtualization, web and web services, and more. (2-2-3) Technologies addressed in this course include current versions of Microsoft Windows Server.
Prerequisites: [(ITMO 440) OR (ITMO 540)]
Corequisite: None

ITMO 540 - Introduction to Data Networks and the Internet

This course covers current and evolving data network technologies, protocols, network components, and the networks that use them, focusing on the Internet and related LANs. The state of worldwide networking and its evolution will be discussed. This course covers the Internet architecture, organization, and protocols including Ethernet, 802.11, routing, the TCP/UDP/IP suite, DNS, SNMP, DHCP, and more. Students will be presented with Internet-specific networking tools for searching, testing, debugging, and configuring networks and network-connected host computers. There will be opportunities for network configuration and hands-on use of tools. (2-2-3)
Prerequisite: None
Corequisite: None

ITMO 541 - Network Administration and Operations

Students learn the details, use, and configuration of network applications. Currently protocols and application technologies considered include SNMP, SMTP, IMAP, POP, MIME, BOOTP, DHCP, SAMBA, NFS, AFS, X, HTTP, DNS, NetBIOS, and CIFS/SMB. Windows workgroups and domains: file and printer sharing, remote access, and Windows networking are addressed. A research paper in the above topic areas is required. (2-2-3)
Prerequisite: [(ITM 440) OR (ITM 540)]
Corequisite: None

ITMO 542 - Wireless Technologies and Applications

This course will provide students with the knowledge of wireless communication technologies. The course will focus on the 3G and 4G wireless networks such as UMTS, LTE, and WiMAX. Students will have the opportunity to study the different wireless networks architectures and major network elements including devices, base stations, base station controller, and core networks. Major topics of the course include air interfaces, protocols, session management, QoS, security, mobility, and handoff. (3-0-3)
Prerequisite: None
Corequisite: None

ITMO 544 - Cloud Computing Technologies

Computing applications hosted on dynamically-scaled, virtual resources available as services are considered. Collaborative and non-collaborative "cloud-resident" applications are analyzed with respect to cost, device/location independence, scalability, reliability, security, and sustainability. Commercial and local cloud architectures are examined. A group-based integration of course topics will result in a project employing various cloud computing technologies. (2-2-3)
Prerequisite: [(ITMD 411) OR (ITMO 510) and (ITMO 456) OR (ITMO 556)]
Corequisite: None

ITMO 545 - Telecommunications Technology

This course introduces technologies underlying telecommunications and real-time communications systems and services. Topics will include: wire-line and fiber systems including those associated with the public switched telephone networks and cable service providers; wireless systems including cellular, WiFi and WiMAX. Methods and architectures for delivery of signaling, voice and video are introduced; analog telephone systems, digital telephone systems on circuit switched networks both wire-line and cellular; digital telecommunications on packet switched networks. Codecs and transformation of voice and video into digital formats are introduced. Physical and data-link layer protocols are studied with emphasis on how they carry voice and video. Channelization and multiple-access methods are introduced. Switching methods studied include circuit switching, virtual circuit switching and packet switching. (3-0-3)
Prerequisite: None
Corequisite: None

ITMO 546 - Telecommunications Over Data Networks

This course covers a suite of application protocols known as Voice over IP (VoIP). It describes important protocols within that suite including RTP, SDP, MGCP and SIP and the architecture of various VoIP installations including on-net to on-net to PSATN and inter-domain scenarios. the functions of the Network Elements that play significant roles in this architecture will be defined. Examples of network elements that are currently available as products will be examined. (3-0-3)
Prerequisite: None
Corequisite: None

ITMO 547 - Telecommunications Over Data Networks: Projects and Advanced Methods

Mentored projects focused on real-time media applications, systems and services. HTTP-based and SIP-based systems are studied; reference is made to RTCWeb, W3C and IETF specifications and initiatives. Topics may include web-based real-time media applications; web-conferencing and distributed class-room applications; communications systems using SIP and Web technologies; standards-based systems supporting emergency calls over IP backbone networks; metrics for performance characteristics of real-time systems; security of streaming media; interoperability/conformance testing of real-time applications and services. Students present/demonstrate projects in a public meeting. Students should have previous or concurrent experience with one or more of the following: SIP, HTTP, HTML, and scripting or coding languages. (2-2-3)
Prerequisite: [(ITM 546)]
Corequisite: None

ITMO 550 - Enterprise End-User System Administration

Students learn to set up, configure, and maintain end-user desktop and portable computers and devices in an enterprise environment using a contemporary proprietary operating system, including the actual installation of the operating system in a networked client-server environment. User account management, security, printing, disk configuration, and backup procedures are addressed, with particular attention to coverage of networked applications. System installation, configuration and administration issues as well as network file systems, network access and compatibility with other operating systems are also addressed. Administration of central server resources associated with management and provisioning of end-user systems in workgroups, domains or forests is also addressed. (2-2-3) Technologies addressed in this course include current versions of Microsoft Windows Server and Microsoft Windows desktop and device operating systems.
Prerequisite: None
Corequisite: None

ITMO 553 - Open Source Server System Administration

Students learn to set up, configure, and administer an industry standard open source server operating system, including integration with client systems using a variety of operating systems in a mixed environment. Topics include hardware requirements; software compatibility; administrative and technical practices required for system security; process management; performance monitoring and tuning; storage management; back-up and restoration of data; and disaster recovery and prevention. Also addressed are configuration and administration of common network and server services such as DNS, DHCP, firewall, proxy, remote access, file and printer sharing, email, web and web services, and more. as well as support issues for open source software. (2-2-3) Technologies addressed in this course include current versions of Linux and/or UNIX operating systems.
Prerequisite: [(ITMO 456) OR (ITMO 556) and (ITMO 440) OR (ITMO 540)]
Corequisite: None

ITMO 554 - Operating Systems Virtualization

This course will cover technologies allowing multiple instances of operating systems to be run on a single physical system. Concepts addressed will include hypervisors, virtual machines, paravirtualization and virtual appliances. Both server and desktop virtualization will be examined in detail, with brief coverage of storage virtualization and application virtualization. Business benefits, business cases and security implications of virtualization will be discussed. Extensive hands-on assignments and a group project will allow students to gain first-hand experience of this technology. (2-2-3)
Prerequisite: None
Corequisite: None

ITMO 556 - Introduction to Open Source Software

This course will cover the fundamental concepts and philosophy behind free and open source software (FOSS). The course will discuss open source and free software licensing; open source business strategies and impact; FOSS utilization in the enterprise; and development methodologies. Students will learn to set up and configure an industry-standard open source operating system, including system installation, and basic system administration; system architecture; package management; command?line commands; devices, filesystems, and the filesystem hierarchy standard. Also addressed are applications, shells, scripting and data management; user interfaces and desktops; administrative tasks; essential system services; networking fundamentals; and security, as well as support issues for open source software. Multiple distributions are covered with emphasis on the two leading major distribution forks. (2-2-3)
Prerequisite: None
Corequisite: None

ITMO 557 - Storage Technologies

Modern enterprise data storage technologies and architectures are examined in depth. Topics include storage devices, file systems, storage networks, virtual storage, RAID, NAS, SAN, and other current enterprise-level storage models. Storage management, replication, deduplication, storage tiers, backups as well as fundamentals of business continuity, application workload, system integration, and storage/system administration are addressed. Specific knowledge and skills required to configure networked storage to include archive, backup, and restoration technologies are covered. (3-0-3)
Prerequisite: None
Corequisite: None

ITMS 518 - Coding Security

This course examines security architecture elements within modern object-oriented programming languages that create the framework for secure programming. Analysis of components and services with their inherent strength and weaknesses give rise to common coding security challenges. An exploration of identity management, encryption services and common hacking techniques will enable the student's ability to develop secure code. Homework assignments and projects will reinforce theories taught. (3-0-3)
Prerequisite: [(ITM 411) OR (ITMD 510)]
Corequisite: None

ITMS 528 - Database Security

Students will engage in an in-depth examination of topics in data security including security considerations in applications & systems development, encryption methods, cryptography law, and security architecture & models. (3-0-3)
Prerequisite: None
Corequisite: None

ITMS 538 - Cyber Forensics

This course will address methods to properly conduct a computer and/or network forensics investigation including digital evidence collection and evaluation and legal issues involved in network forensics. Technical issues in acquiring court-admissible chains of evidence using various forensic tools that reconstruct criminally liable actions at the physical and logical levels are also addressed. Technical topics covered include detailed analysis of hard disks, files systems (including FAT, NTFS and EXT), and removable storage media; mechanisms for hiding and detecting hidden information; and the hands-on use of powerful forensic analysis tools. (2-2-3)
Prerequisite: None
Corequisite: None

ITMS 539 - Steganography

Digital steganography is the science of hiding covert information in otherwise innocent carrier files so that the observer is unaware that hidden information exists. This course studies both digital steganography and digital steganalysis (the science of discovering the existence of and extracting the covert information). In addition to understanding the science and the pathologies of specific carriers and hiding algorithms, students will have hands-on experience with tools to both hide and extract information. Carrier files such as image, audio, and video files will be investigated. (2-2-3)
Prerequisite: [(ITMS 538) OR (ITMS 548)]
Corequisite: None

ITMS 543 - Vulnerability Analysis and Control

This course addresses hands-on ethical hacking, penetration testing, and detection of malicious probes and their prevention. It provides students with in-depth theoretical and practical knowledge of the vulnerabilities of networks of computers including the networks themselves, operating systems and important applications. Integrated with the lectures are laboratories focusing on the use of open source and freeware tools; students will learn in a closed environment to probe, penetrate and hack other networks (2-2-3)
Prerequisite: None
Corequisite: None

ITMS 548 - Cyber Security Technologies

Prepares students for a role as a network security administrator and analyst. Topics include viruses, worms, other attack mechanisms, vulnerabilities and countermeasures, network security protocols, encryption, identity and authentication, scanning, firewalls, security tools, and organizations addressing security. A component of this course is a self-contained team project that, if the student wishes, can he extended into a full operational security system in a follow-course. (2-2-3)
Prerequisite: [(ITM 440) OR (ITM 540)]
Corequisite: None

ITMS 549 - Cyber Security Technologies: Projects & Advanced Methods

Prepares students for a role as a network security analyst and developer and gives the student experience in developing a production security system. Topics may include computer and network forensics, advances in cryptography and security protocols and systems; operating system security, analysis of recent security attacks, vulnerability and intrusion detection, incident analysis and design and development of secure networks. This course includes a significant real world team project that results in an fully operational security system. Students should have previous experience with object-oriented and/or scripting languages. (2-2-3)
Prerequisite: [(ITMS 448) OR (ITMS 539) OR (ITMS 548)]
Corequisite: None

ITMS 555 - Mobile Device Forensics

This course will address methods for recovering digital data or evidence and conducting forensic analysis of mobile devices such as smart phones and tablets. Various devices will be compared including iPhone, Android, and Blackberry. A brief review of Linux and related forensic tools. ANAND technology and mobile file systems will be discussed. Students will learn how to unlock and root mobile devices and recover data from actual mobile devices. (2-2-3)
Prerequisite: [(ITMS 538)]
Corequisite: None

ITMS 557 - Introduction to Cyber Warfare

Cyber warfare is defined as “warfare waged in cyberspace,” which can include defending information and computer networks, deterring information attacks, as well as denying an adversary’s ability to do the same. It can include offensive information operations mounted against an adversary, or even dominating information on the battlefield. Students participating in this discussion-based course will explore the current state of cyber security from national and international perspectives, and consider cyber-based operations through the lens of a government pursuing strategic goals. How might their actions impact industry ability to conduct business operations? What does the current threat environment look like? The course will include extensive discussions and student presentations. (3-0-3)
Prerequisite: None
Corequisite: None

ITMS 558 - Operating Systems Security

This course will address theoretical concepts of operating system security, security architectures of current operating systems, and details of security implementation using best practices to configure operating systems to industry security standards. Server configuration, system-level firewalls, file system security, logging, anti-virus and anti-spyware measures and other operating system security strategies will be examined. (2-2-3)
Prerequisite: [(ITMO 456) OR (ITMO 556)]
Corequisite: None

ITMS 578 - Cyber Security Management

In-depth examination of topics in the management of information technology security including access control systems & methodology, business continuity & disaster recovery planning, legal issues in information system security, ethics, computer operations security, physical security and security architecture & models using current standards and models. (3-0-3)
Prerequisite: None
Corequisite: None

ITMS 579 - Topics in Information Security

This course will cover a particular topic in Information Security, varying from semester to semester, in which there is particular student or staff interest. This course may be taken more than once but only 9 hours of ITM 479/579 or ITMS 479/ITMS 579 credit may be applied to a degree. (Credit: Variable)
Prerequisite: None
Corequisite: None

ITMS 584 - Governance, Risk, and Compliance

This course is an in-depth examination of topics in information technology/information security governance, risk and compliance, including Information Assurance policies, standards and compliance, as well as the examination of security risk analysis and the performance of systems certification and accreditation. Regular homework assignments and completion of a research paper are required for this course. (Credit: Variable)
Prerequisite: [(ITMS 478) OR (ITMS 578)]
Corequisite: None

ITMS 588 - Incident Response, Disaster Recovery, and Business Continuity

Students learn to design and manage key business information security functions including incident response plans and incident response teams disaster recovery plans; and business continuity plans. Reporting, response planning and budgeting are all addressed. Students working in reams will prepare an incident response, disaster recovery, or business continuity plan for a real-world organizations such as a business or a government body or agency. (3-0-3)
Prerequisite: None
Corequisite: None

ITMT 514 - Enterprise Application Architecture

This course examines current enterprise application architectures from the perspective of senior technology planners and managers. Topics such as models and patterns of enterprise application architecture, application virtualization, cloud application architectures, integration of custom application infrastructure with major vendor products, and full systems integration issues will be addressed. (3-0-3)
Prerequisite: [(ITM 411) OR (ITMD 510)]
Corequisite: None

ITMT 531 - Object-Oriented System Analysis, Modeling and Design

This course will cover object oriented approaches to system analysis, data modeling and design that combine both process and data views of systems. Emphasis is given to practical problems and the techniques needed to create solutions in systems design. (3-0-3)
Prerequisite: None
Corequisite: None

ITMT 533 - Operating System Design Implementation

This course introduces students to the fundamental principles of operating systems design, and gives them hands-on experience with real operating systems installation, design and implementation. The students apply what they learned about operation systems design to practical implementation, by modifying and extending the MINIX Operating System, MS Windows, and LINUX are briefly discussed as case studies. (3-0-3)
Prerequisite: None
Corequisite: None

ITMT 535 - Data Center Architecture

The course deals with building integrated data center information infrastructures, including facility, hardware, software, and network components as solutions to particular enterprise information management needs and requirements. Students will learn critical elements of modern data center design including physical plant construction; network infrastructure; data storage technologies; power provisioning and conditioning; environmental controls and HVAC; system and physical security; modular component use; and planning for growth. (3-0-3)
Prerequisite: None
Corequisite: None

ITMT 537 - Instructional Technologies

In this course students will create, assess, and deploy current technologies used for K-College instruction and corporate training environments. Topics covered include developing training materials, courses, individualized instruction, websites, multimedia projects, and on-line instruction in educational settings. focus will be given to modern programming environments and models for developing instructional materials. (3-0-3)
Prerequisite: None
Corequisite: None

ITMT 593 - Embedded Systems

This course introduces embedded systems concepts and technology, illustrates the trade-offs which occur as part of embedded systems design, as well as providing practical applications of embedded systems technology. Particular emphasis is given to embedded systems hardware, software and development tools. The course labs include hands-on development of several stand-alone embedded applications using development tools such as compilers, simulators and evaluation boards. Prerequisite: ITM 301 or equivalent computer architecture course; C/C++ programming experience. (2-2-3)
Prerequisite: None
Corequisite: None

ITMT 594 - Special Projects in Information Technology

Special projects. (Credit: Variable)
Prerequisite: None
Corequisite: None

ITMT 595 - Topics in Information Technology

This course will cover a particular topic, varying from semester to semester, in which there is particular student or staff interest. (Credit: Variable)
Prerequisite: None
Corequisite: None

ITMT 596 - Graduate Honors Studies in Information Technology

Graduate honors project, thesis or whitepaper. Prerequisites: Graduate honors status and consent of the instructor. (Credit: Variable)
Prerequisite: None
Corequisite: None

ITMT 597 - Special Problems in Information Technology

Independent study and project. (Credit: Variable)
Prerequisite: None
Corequisite: None

TECH 565 - Introduction to Social Commerce

Introduction and basic knowledge of social commerce to help the student develop a practical understanding of the design, construction, market readiness and synergistic integration of a business mobile application. The course will provide a practitioner focus that will benefit the student in a start-up or company/corporate setting. (3-0-3)
Prerequisite: None
Corequisite: None

TECH 580 - Topics in the Management of Technology

This course will cover a particular topic, varying from semester to semester, in which there is particular student or staff interest. This course may be taken more than once but only 9 hours of TECH 580 credit may be applied to a degree. (Credit: Variable)
Prerequisite: None
Corequisite: None

TECH 581 - Consulting for Technical Professionals

This course explores the application of technology and technical management skills to working with business, industry, or various professions in solving specific problems for an organization as an internal or external consultant. Students learn how to involve clients in all phases of problem identification and solution with the goal that, at the end of a consulting assignment, the clients are able to sustain the necessary changes in their organization. Particular attention is paid to managing expectations among change agents, managers, executives, technical professionals, and other members of the organization. The course will cover the most critical, high-level, functional frameworks used by top consulting firms today as well as the tools commonly used by consulting professionals. (3-0-3)
Prerequisite: None
Corequisite: None