ITM Development (ITMD)

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.

Lecture: 3 Lab: 0 Credits: 3
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.

Prerequisite(s): ITMD 361
Lecture: 3 Lab: 0 Credits: 3
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.

Prerequisite(s): ITM 312 and ITM 311
Lecture: 3 Lab: 0 Credits: 3
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.

Prerequisite(s): ITM 312
Lecture: 3 Lab: 0 Credits: 3
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.

Prerequisite(s): ITMD 411
Lecture: 3 Lab: 0 Credits: 3
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.

Prerequisite(s): ITMD 411
Lecture: 3 Lab: 0 Credits: 3
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 ITMD 419/519 credit may be applied to a degree.

Credit: Variable
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.

Lecture: 3 Lab: 0 Credits: 3
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.

Prerequisite(s): ITMD 421
Lecture: 3 Lab: 0 Credits: 3
Satisfies: Communications (C)
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.

Prerequisite(s): ITM 311
Lecture: 3 Lab: 0 Credits: 3
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.

Prerequisite(s): ITM 312
Lecture: 3 Lab: 0 Credits: 3
ITMD 455
Open-Source Intelligent Device Applications

Intelligent device application development is covered with various technologies on mobile and robotic platforms. Utilizing contemporary toolkits, the student considers design and development on emulated and real "smart" devices including smart phones, personal digital assistants, sensors, actuators, and robots. Numerous exercises reinforce concepts gained throughout the course. A term project will integrate course topics into a comprehensive intelligent device application.

Prerequisite(s): ITM 311
Lecture: 3 Lab: 0 Credits: 3
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.

Lecture: 3 Lab: 0 Credits: 3
Satisfies: Communications (C)
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.

Prerequisite(s): ITMD 361
Lecture: 3 Lab: 0 Credits: 3
Satisfies: Communications (C)
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.

Prerequisite(s): ITMD 361
Lecture: 3 Lab: 0 Credits: 3
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.

Prerequisite(s): ITMD 463
Lecture: 3 Lab: 0 Credits: 3
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.

Prerequisite(s): ITMD 361
Lecture: 3 Lab: 0 Credits: 3
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.

Prerequisite(s): ITMD 411 and ITMD 361
Lecture: 3 Lab: 0 Credits: 3
ITMD 467
Web Systems Integration

In this project-based course, student teams will build an enterprise-grade website and web infrastructure integrating server-side applications, databases, and client-side rich internet applications as a solution to a defined business problem.

Prerequisite(s): ITMD 465 and ITMD 462
Lecture: 3 Lab: 0 Credits: 3
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 ITMD 469/569 credit may be applied to a degree.

Credit: Variable
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 clientinterfaces. 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.

Lecture: 3 Lab: 0 Credits: 3
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.

Prerequisite(s): ITMD 510 with min. grade of C
Lecture: 3 Lab: 0 Credits: 3
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.

Prerequisite(s): ITM 312 with min. grade of C
Lecture: 3 Lab: 0 Credits: 3
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.

Prerequisite(s): ITMD 510 with min. grade of C
Lecture: 3 Lab: 0 Credits: 3
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.

Prerequisite(s): ITMD 510 with min. grade of C
Lecture: 3 Lab: 0 Credits: 3
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
ITMD 521
Client/Server Technologies and Applications

This course covers both concepts and practical applications of distributed data paradigms. This provides a comparison between SQL and MapReduce. The course focuses on how to treat and prepare unstructured data to be used in the MapReduce framework in a parallel fashion. Students will be tasked with learning and demonstrating the MapReduce framework through implementing the Hadoop framework and associated Java technology.

Prerequisite(s): ITMD 510 with min. grade of C
Lecture: 3 Lab: 0 Credits: 3
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 object-oriented data modeling techniques with specific attention to the use of database management systems in response to defined business problems.

Lecture: 3 Lab: 0 Credits: 3
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.

Lecture: 3 Lab: 0 Credits: 3
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.

Prerequisite(s): ITMD 523 with min. grade of C
Lecture: 3 Lab: 0 Credits: 3
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.

Lecture: 3 Lab: 0 Credits: 3
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.

Prerequisite(s): ITMD 527 with min. grade of C
Lecture: 3 Lab: 0 Credits: 3
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.

Prerequisite(s): ITMD 510 with min. grade of C or ITMD 512 with min. grade of C or ITMD 515 with min. grade of C
Lecture: 3 Lab: 0 Credits: 3
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.

Lecture: 3 Lab: 0 Credits: 3
ITMD 535
Human-Computer Interaction Design

Advanced study in human-computer interaction with a particular focus on the design of application and web interfaces.

Prerequisite(s): ITMD 534 with min. grade of C
Lecture: 3 Lab: 0 Credits: 3
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.

Prerequisite(s): ITMD 510 with min. grade of C
Lecture: 3 Lab: 0 Credits: 3
ITMD 545
Web Real-Time Communications

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.

Prerequisite(s): ITMD 510 and ITMO 556 and ITMO 540
Lecture: 3 Lab: 0 Credits: 3
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.

Lecture: 3 Lab: 0 Credits: 3
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.

Lecture: 3 Lab: 0 Credits: 3
ITMD 555
Open-Source Intelligent Device Applications

Intelligent device application development is covered with various technologies on mobile and robotic platforms. Utilizing contemporary toolkits, the student considers design and development on emulated and real "smart" devices including smart phones, personal digital assistants, sensors, actuators, and robots. Numerous exercises reinforce concepts gained throughout the course. A term project will integrate course topics into a comprehensive intelligent device application.

Lecture: 3 Lab: 0 Credits: 3
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.

Prerequisite(s): ITMD 553 or ITMD 554 or ITMD 555
Lecture: 2 Lab: 2 Credits: 3
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.

Lecture: 3 Lab: 0 Credits: 3
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.

Prerequisite(s): ITMD 510
Lecture: 3 Lab: 0 Credits: 3
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.

Prerequisite(s): ITMD 563
Lecture: 2 Lab: 2 Credits: 3
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.

Lecture: 3 Lab: 0 Credits: 3
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.

Prerequisite(s): ITMD 510
Lecture: 3 Lab: 0 Credits: 3
ITMD 567
Web Systems Integration

In this project-based course, student teams will build an enterprise-grade website and web infrastructure integrating server-side applications, databases, and client-side rich internet applications as a solution to a defined business problem.

Prerequisite(s): ITMD 565 and ITMD 562
Lecture: 3 Lab: 0 Credits: 3
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 ITMD 569 credit may be applied to a degree.

Credit: Variable