Information Technology (INFOTC)

INFOTC 1000: Introduction to Information Technology

This course introduces the field of Information Technology including foundation experiences and knowledge, the history of digital technologies, emphasis areas in the program, career opportunities, and ethical/social issues. Students participate in activities that introduce students to digital media, digital systems, and software engineering. Students learn to use distributed version control systems and how to work on collaborative teams.

Credit Hours: 3


INFOTC 1001: Topics in Information Technology

Topics may vary from semester to semester. May be repeated upon consent of department.

Credit Hours: 3


INFOTC 1040: Introduction to Problem Solving and Programming

An introduction to problem solving methods and programming concepts, providing experience in designing, developing, implementing, and testing programs. Cannot be taken for credit after CMP_SC 1050.

Credit Hours: 3


INFOTC 1600: Digital Systems

This course provides a foundation of knowledge of digital systems including terminology, concepts, architecture, processes, tools, hardware, and software.

Credit Hours: 3


INFOTC 1610: Introduction to Digital Media Design

This project-based course is an introduction to the concepts and practices of audio design, graphic design, motion media design and basic video editing. Current technologies are employed to examine design fundamentals and applications of media design that apply to audio and video production and new media production.

Credit Hours: 3


INFOTC 2001: Topics in Information Technology

Topics may vary from semester to semester. May be repeated upon consent of department.

Credit Hours: 3


INFOTC 2040: Programming Languages and Paradigms

This course presents programming principles and their syntactical representation and implementation across languages including those that are compiled and interpreted. The course shows how to implement algorithms and data structures to solve problems while utilizing paradigms offered by the programming languages such as procedural, object-oriented, protocol-oriented, functional, and declarative. Language support for strong and weak typing and type safety are covered along with support for optional values. Provides experience in developing algorithms and determining their efficiency, designing application architecture, and developing applications. Building and using libraries/application programming interfaces is covered. Git and GitHub are used for code versioning and collaboration. Integrated development environments (IDEs) are used for managing, building, debugging, and testing applications.

Credit Hours: 3
Prerequisites: INFOTC 1040 or CMP_SC 1050 with C- or higher; or prior experience with programming and consent of instructor


INFOTC 2610: Digital Media Design I

This project-based course examines the fundamentals of media technology, from capture devices to the software and hardware that processes data. Through hands-on experience with capturing technology, audio recording devices, and the software and hardware components needed to manipulate the recordings, students will process big-data files to create meaningful manipulations in assembly, engineering, and colorization. Students will utilize a spectrum of camera equipment, recording devices and facilities to achieve an understanding of audio/video capture, project planning and implementation, hardware assessment, optimization practices through hardware acceleration, and video processing. This course also focuses on basic editing theory and industry trends. This is done through in-class demonstrations, online modules, and supplementary material hosted on online.

Credit Hours: 3
Prerequisites: C- or higher in INFOTC 1610 or FILMS_VS 1880 or DST_VS 1880, or instructor content through course equivalencies


INFOTC 2615: Color Processing and Design

This course is an intensive study of the techniques, software, principles, technology, data management practices, sciences, problems and theories of color processing for video in media. The course will prepare students for work in industries related to color processing and delivery, while providing further enrichment to technology related to media production, including camera and sensor science, computer hardware, and peripherals. Graded on A-F basis only.

Credit Hours: 3


INFOTC 2620: Computer Modeling and Animation I

Introduction to the field of computer modeling and animation with an emphasis on tools. Learn programming methods for developing customized modeling and animation algorithms. Graded on A-F basis only.

Credit Hours: 3


INFOTC 2630: Introduction to Game Theory and Design

Students will develop foundational skills in game design and theory, and become proficient in the tools used to develop conceptual gaming environments. The student will develop skills to discuss, develop, and demonstrate the design process in cooperation with current game theories and practices. The student will develop collaborative and cooperative design techniques mirroring that of the industry. Graded on A-F basis only.

Credit Hours: 3


INFOTC 2810: Fundamentals of Network Technology

This course includes an overview of networking and the common wireless standards. Graded on A-F basis only.

Credit Hours: 3
Prerequisites: INFOTC 1040 or CMP_SC 1050 with C- or higher


INFOTC 2830: Web Application Development I

(same as CMP_SC 2830). This course will attempt to provide a comprehensive understanding of the evolution, the technologies, and the tools of the Internet. In particular, issues pertaining to the World Wide Web and Multimedia (HTML, CGI, Web based applications) will be discussed in detail.

Credit Hours: 3
Prerequisites: INFOTC 2040 or CMP_SC 2050 with a C- or higher


INFOTC 2910: Cyber Security

This course covers numerous platform-independent security topics including threats, problem ports and services, theory and practice of defense in security, intrusion detection, data security, securing remote access, user education and support, designing a secure network and security management. Graded on A-F basis only.

Credit Hours: 3
Prerequisites: INFOTC 1040 or CMP_SC 1050 with C- or higher, and INFOTC 2810 with C- or higher


INFOTC 3001: Topics in Information Technology

Topics may vary from semester to semester. May be repeated upon consent of department. Graded on A-F basis only.

Credit Hours: 3


INFOTC 3330: Object Oriented Programming

(same as CMP_SC 3330). This course focuses on object-oriented programming concepts such as: Abstraction, Polymorphism, Encapsulation, Inheritance, Interfaces, Abstract Classes, Files, Streams, and Object Serialization. Topics such as GUI and event-driven programming, APIs, and design patterns are also tackled. Java SE 8, NetBeans 8 IDE, and JavaFX Scene Builder 2.0 are used to build Java SE applications that include user interfaces developed using JavaFX. Graded on A-F basis only.

Credit Hours: 3
Prerequisites: INFOTC 2040 or CMP_SC 2050 with C- or higher


INFOTC 3380: Database Systems and Applications

This course covers database management systems (DBMS) and the development of applications that utilize databases including relational/SQL and NoSQL types. Topics include the evolution of data storage and databases, data modeling, relational and NoSQL databases, SQL, document, graph and key-value storage and retrieval, application development using databases, database scaling, database trends, and popular database systems. Graded on A-F basis only.

Credit Hours: 3
Prerequisites: C- or higher in CMP_SC 2050 or INFOTC 2040; or experience developing applications and permission of the instructor


INFOTC 3530: UNIX Operating System

(same as CMP_SC 3530). This course is an introduction to UNIX and UNIX-like operating systems and interfaces, to include the file system, command shells, text editors, pipes and filters, input/output system, shell scripting and Regular Expressions. The course will also incorporate an aspect of programming in a UNIX environment, cloud computing, containers and an introduction to System Administration. Graded on A-F basis only.

Credit Hours: 3
Prerequisites: INFOTC 1040 with C-, or CMP_SC 1050 with C-, or Instructor Consent


INFOTC 3600: User Experience Design I

This course is a first in a series that focuses on User Experience (UX) Design for software applications. This course introduces the beginner to processes, techniques and methods of evaluation to design, model and evaluate application designs and user interfaces.

Credit Hours: 3
Prerequisites: May be restricted to Information Technology majors during early registration


INFOTC 3610: Digital Media Design II

This project-based course builds upon the fundamentals of production and media processing learned in INFOTC 2610 and introduces industry standard advanced video and audio capture technology, software, and data management systems. The course is designed to provide further hands-on experience with digital video capturing technology, non-linear editing software, Digital Audio Workstations, and broadcast technology through three large-scale collaborative media projects. These projects build upon the principles of data management and software, while introducing project management, team management, and direct-to-market media strategies. Students will utilize a spectrum of industry standard camera equipment, recording devices and facilities to achieve a fuller understanding of audio/video capture and post production.

Credit Hours: 3
Prerequisites: C- or higher in INFOTC 2610. Instructor consent with approved equivalencies


INFOTC 3620: Computer Modeling and Animation II

This course covers advanced methods for modeling and animation with an emphasis on computer science theory and virtual reality. Graded on A-F basis only.

Credit Hours: 3
Prerequisites: C- or higher in INFOTC 2620


INFOTC 3630: Introduction to Virtual Reality

The course will provide students with a good understanding of the fundamentals of virtual reality and practical hands on VR experience development skills. It will introduce students to the software, hardware, and concepts involved with the current state of the art in virtual reality. This course will focus on using the recent consumer-grade equipment to design and construct virtual environment and experience.

Credit Hours: 3
Prerequisites: INFOTC 1040 or CMP_SC 1050 with C- or higher


INFOTC 3640: Motion Graphics and Visual Effects I

This advanced media creation course is an introduction to the fundamentals of motion graphic design, 2-D animation, and visual effects creation. It is a project based course that requires understanding of NLEs, experience in media creation and design, understanding of basic audio/video compression, and understanding of basic media design and concepts. Computer programs designed for graphic design, motion graphics, 2-D animation, and visual effects are integrated throughout the course. Starting media will be provided for each project.

Credit Hours: 3
Prerequisites: C- or higher in INFOTC 1610


INFOTC 3650: Project and Team Management

This course is an intensive study of the development process, industry assessment techniques, communication practices, ethics, budget and schedule development. We also study Information Technology management approaches needed to successfully lead personnel, meet deadlines, and create large-scale, detail-oriented projects in today's IT production industry. This course explores industry from the ground up, from conceptualization of an IT business in an ever-changing environment, to management and deployment of products. This project-based collaborative course applies concepts directly to situational learning environments through the use of real-life examples from businesses in the industry. This course is divided into two major types of learning: academic exploration, and situational application. Key concepts and competencies are first explored during the academic portion of the class, and later applied through a multi-week business ownership simulation. It is important to note that this class is NOT software engineering oriented; this class does not focus on coding-team management, SCRUM, Agile methodology, coding languages, or development of applications. This top-down course looks at all industries within the scope of Information Technology, from IT support to Digital Media Design. If you are interested in these other particular topics, it is recommended that you speak with your advisor, and consider INFOTC 4320 - Software Engineering. Graded on A-F basis only.

Credit Hours: 3
Prerequisites: INFOTC 1040 with C- or higher, or INFOTC 1610 with C- or higher, or instructor consent


INFOTC 3650W: Project and Team Management - Writing Intensive

This course is an intensive study of the development process, industry assessment techniques, communication practices, ethics, budget and schedule development. We also study Information Technology management approaches needed to successfully lead personnel, meet deadlines, and create large-scale, detail-oriented projects in today's IT production industry. This course explores industry from the ground up, from conceptualization of an IT business in an ever-changing environment, to management and deployment of products. This project-based collaborative course applies concepts directly to situational learning environments through the use of real-life examples from businesses in the industry. This course is divided into two major types of learning: academic exploration, and situational application. Key concepts and competencies are first explored during the academic portion of the class, and later applied through a multi-week business ownership simulation.

Credit Hours: 3
Prerequisites: INFOTC 1040 with C- or higher, or INFOTC 1610 with C- or higher, or with instructor consent


INFOTC 3660: Audio Engineering

This course is an intensive study of the techniques and art behind the use of audio in today's media design environments. From the theater to television, from tablet and mobile device to computer, this course will focus on the four major sound design areas: sound in cinema, sound creation, sound manipulation, and environmental sound layering.

Credit Hours: 3
Prerequisites: C- or higher in INFOTC 1610 or FILMS_VS 1880 or DST_VS 1880


INFOTC 3810: Computer Network Security

This course covers principles of networking configuration and security authentication, IP security, network management security, wireless security, and system security by studying attacks on computer systems, network, and the Web as well as detection and prevention. Work is completed in Unix/Linux environments and in Microsoft Windows environment. Students will need to setup a virtual private infrastructure to perform multiple tasks; additionally unlimited AWS cloud resources will be available for them. The course emphasizes "learning by doing" and has a 90% hands-on and 10% theory. Much of this information consists of skills and abilities that employers want and expect in the real world of IT - in a small to medium size organization. Graded on A-F basis only.

Credit Hours: 3
Prerequisites: INFOTC 2810


INFOTC 3850: Computer System Administration

This course is an introduction to Computer System Administration, we introduce the basic knowledge, skills, information, and procedures required for the stable and reliable management, and administration of an organization's computer systems. The course covers the planning, design, installation, maintenance, security, management tasks, tools, responsibilities, and ethics associated with being a Computer System Administrator. Work is completed in both Linux and Windows environments. Students will need to setup a virtual private infrastructure to perform multiple tasks; unlimited AWS cloud resources will be available for students. The course emphasizes "learning by doing". Much of this information consists of skills and abilities that employers want and expect in the real world of IT - in a small to medium size organization. Graded on A-F basis only.

Credit Hours: 3
Prerequisites: INFOTC 2040 or CMP_SC 2050, junior standing


INFOTC 3910: Advanced Cyber Security

Students develop a deeper understanding of modern information and system protection technology and methods, including examining the various areas of network security including intrusion detection, reconnaissance, exploitation, and defense against cyber-attacks, as well as principles and techniques for digital forensics investigation. Graded on A-F basis only.

Credit Hours: 3
Prerequisites: INFOTC 2910 with C- or higher


INFOTC 3940: Internship in Information Technology

Information Technology-related experience in business or industry jointly supervised by faculty and IT professionals. Students should apply one semester in advance for consent of the supervising professor. Graded on an S/U basis only.

Credit Hour: 1-6
Prerequisites: Instructor Consent


INFOTC 4001: Topics in Information Technology

Topics may vary from semester to semester. May be repeated upon consent of department. Graded on A-F basis only.

Credit Hours: 3
Prerequisites: May be restricted to Information Technology majors during early registration


INFOTC 4001W: Topics in Information Technology - Writing Intensive

Topics may vary from semester to semester. May be repeated upon consent of department. Graded on A-F basis only.

Credit Hours: 3
Prerequisites: May be restricted to Information Technology majors during early registration


INFOTC 4085: Independent Projects

A student interested in doing an independent study project should first choose an area and instructor to work with. The student and instructor decide on a suitable Information Technology topic. The student writes up a detailed description of the project, including references, deadlines and deliverables. The instructor and student decide on details for completing the project during the semester for a grade.

Credit Hours: 3
Prerequisites: Consent of instructor


INFOTC 4200: Digital Production Systems

This course is a comprehensive study of the components, connectivity, system administration management practices, benchmark testing, software implementation, and design of computing systems intended for data storage, data access, and processing power in both software engineering and digital media production. Graded on A-F basis only.

Credit Hours: 3
Prerequisites: INFOTC 2910 with a C- or better


INFOTC 4320: Software Engineering

Software Engineering covers the principles, processes, and professional practices used to design, develop, test, deploy, and manage software systems in a team-based, collaborative environment. A range of software engineering methodologies are covered with an emphasis on agile software development using incremental methods of managing the development activities.

Credit Hours: 3
Prerequisites: INFOTC 2040 or CMP_SC 2050 with C- or higher, or permission of the instructor


INFOTC 4390: Database Administration

This course is designed to give a firm foundation in Database Administrators' tasks. The primary goal is to give necessary knowledge and skills to setup, maintain and troubleshoot an Oracle database. This is an instructor-led course featuring lecture and hands-on exercises. Online demonstration and written practice sessions reinforce the concepts and skills introduced. The course defined objectives are designed to support preparation for the Oracle Certified Professional examination.

Credit Hours: 3
Prerequisites: CMP_SC 4380


INFOTC 4400: C#/.NET Development

Learn how to develop and debug multi-threaded Windows desktop applications based on the object-oriented (OO), Model-View-Controller (MVC), and Model View ViewModel (MVVM) paradigms using C#, .NET, Windows Presentation Foundations (WPF), and Visual Studio. Graded on A-F basis only.

Credit Hours: 3
Prerequisites: INFOTC 2040 or CMP_SC 2050


INFOTC 4401: Python 1: Learn to Program in Python

An introduction to the Python 3 programming language, covering various topics and paradigms. Cannot be taken for credit in the IT Program if you have completed INFOTC 1040. Graded on A-F basis only.

Credit Hours: 3


INFOTC 4405: iOS App Development I

(same as CMP_SC 4405). This is a first in a series of courses on developing iOS applications using Xcode, and the Swift programming language on the macOS platform.

Credit Hours: 3
Prerequisites: INFOTC 1040 or CMP_SC 1050 with C- or higher, or consent of instructor
Recommended: Prior experience programming in any programming language. The student should understand basic language concepts such as variables, data structures, control structures, and functions


INFOTC 4410: Android App Development I

(cross-leveled with INFOTC 7410). This is the first in a series of courses on developing Android applications using Android Studio and the Java and Kotlin programming languages.

Credit Hours: 3
Prerequisites: INFOTC 1040 or CMP_SC 1050, or consent of instructor


INFOTC 4420: Android App Development II

(cross-leveled with INFOTC 7420). This is the second course in a series on developing Android applications using Android Studio and the Java and Kotlin programming languages. This course covers intermediate-level topics in application design, more complex UI implementations, and data persistence. Graded on A-F basis only.

Credit Hours: 3
Prerequisites: INFOTC 4410, or consent of instructor


INFOTC 4425: iOS App Development II

This is the second in a series of courses on developing iOS applications using Xcode and Swift programming language on the macOS platform. This course covers intermediate-level topics in application design, more complex UI implementations, and data persistence.

Credit Hours: 3
Prerequisites: INFOTC 4405 with C- or higher


INFOTC 4440: Android App Development III

This is a third in a series of courses on developing Android applications using Android Studio and the Java and Kotlin programming languages. This course covers advanced topics in application architecture, application design, data persistence, and client-server architecture.

Credit Hours: 3
Prerequisites: INFOTC 4420 or permission of the instructor


INFOTC 4445: iOS App Development III

This is the third in a series of courses on developing iOS applications using Xcode and Swift programming language on the macOS platform. This course covers advanced topics in application architecture, application design, complex UI designs, data persistence, and client-server architecture.

Credit Hours: 3
Prerequisites: INFOTC 4425


INFOTC 4500: Team-Based Mobile Device Application Development

This is a multi-disciplinary, team-based course on developing applications for mobile devices. Teams will be comprised of students who are software developers and students who are designers. Graded on A-F basis only.

Credit Hours: 3
Prerequisites: INFOTC 2040; or CMP_SC 2050; or permission of instructor with applicable experience


INFOTC 4600: User Experience Design II

This course is the second in a series that focuses on User Experience (UX) Design for software applications. This course further develops the processes, techniques and methods of evaluation to design, model, and evaluate application designs and user interfaces.

Credit Hours: 3
Prerequisites: INFOTC 1600


INFOTC 4610: Advanced Multimedia Design and Technology

Students enrolled in INFOTC 4610 are immersed in upper level study of media technology, software, and trends in the industry, with focus on advanced media design, motion media capture techniques, portfolio development, and industry standard technology and software. Students will work both independently and in small focus groups to produce industry results in narrative, non- fiction, and commercial media design projects. This course may be taken as INFOTC 4610W for WI credit. If IT majors take this course as WI, it will serve as Capstone. This is a Study Abroad course.

Credit Hours: 3
Prerequisites: IT Majors must complete INFOTC 2610; other majors may seek instructor consent


INFOTC 4610W: Advanced Multimedia Design and Technology - Writing Intensive

Students enrolled in INFOTC 4610 are immersed in upper level study of media technology, software, and trends in the industry, with focus on advanced media design, motion media capture techniques, portfolio development, and industry standard technology and software. Students will work both independently and in small focus groups to produce industry results in narrative, non- fiction, and commercial media design projects. This course may be taken as INFOTC 4610W for WI credit. If IT majors take this course as WI, it will serve as Capstone. This is a Study Abroad course.

Credit Hours: 3
Prerequisites: IT Majors must complete INFOTC 2610; other majors may seek instructor consent


INFOTC 4630: Game Development

(same as CMP_SC 4630). The course focuses on rapid game prototyping and development utilizing the Unity game engine and C#. You will learn the fundamentals of game programming and also a platform which is actually used to make published games across multiple platforms (Mac, PC, web, iOS, Android etc). Graded on A-F basis only.

Credit Hours: 3
Prerequisites: INFOTC 3630 or CMP_SC 2050 or INFOTC 2040 with C- or higher


INFOTC 4640: Motion Graphics and Visual Effects II

This course builds on fundamentals of digital motion picture effects technology learned in Digital Effects I. Computer programs designed for digital visual special effects in film and broadcast are integrated throughout the course.

Credit Hours: 3
Prerequisites: C- or higher in INFOTC 3640


INFOTC 4650: Shader Programing

The focus of this course is modern computer graphics algorithms and programming, with an emphasis on games, shader languages, (GLSL and Cg) and Graphical Processor Units (GPUs).

Credit Hours: 3
Prerequisites: CMP_SC 2050, INFOTC 2620


INFOTC 4830: Web Application Development II

(same as CMP_SC 4830; cross-leveled with CMP_SC 7830). This course will study the science and engineering of the World Wide Web. We will study the languages, protocols, services and tools that enable the web. Emphasis will be placed on basics and technologies. Graded on A-F basis only.

Credit Hours: 3
Prerequisites: CMP_SC 2830 or INFOTC 2830 with a C- or higher


INFOTC 4910: Digital Forensics

(same as CMP_SC 4910; cross-leveled with INFOTC 7910). This course introduces an overview of basic Digital Forensics procedures and techniques to enable students to perform a digital investigation of physical storage media and volume analysis, including preservation, analysis and acquisition of artifacts that resides in hard disk and random access memory, for Linux and Windows systems. Work is completed in Unix/Linux environments and in Microsoft Windows environment. Students will need to setup a virtual private infrastructure to perform multiple tasks. The course emphasizes "learning by doing" and has a 90% hands-on and 10% theory. Much of this information consists of skills and abilities that employers want and expect in the real world of IT - in a small to medium size organization. Graded on A-F basis only.

Credit Hours: 3
Prerequisites: INFOTC 3530 with a C- or better


INFOTC 4970W: Senior Capstone Design - Writing Intensive

This course is an opportunity for you to demonstrate that you have achieved the goals established by the Information Technology (IT) program. You will do this through a series of writing exercises, class activities, and a team-based project. You will demonstrate your ability to synthesize various methods and skills, apply them to new, novel, complex, and integrated project requirements in real-world IT problems. Graded on A-F basis only.

Credit Hours: 3
Prerequisites: C- or higher in INFOTC 4320, or CMP_SC 4320, or INFOTC 3650. Must have senior standing. Restricted to INFOTC majors


INFOTC 4990: Undergraduate Research in Information Technology

Research topics as defined by instructor and student.

Credit Hour: 1-6
Prerequisites: Instructor's consent


INFOTC 4995: Undergraduate Research in Information Technology - Honors

Research topics as defined by instructor and student.

Credit Hour: 1-6
Prerequisites: Instructor's consent


INFOTC 7001: Graduate Topics in Information Technology

This course explores graduate level topics in Information Technology, focusing on the implementation of digital systems, application development, software engineering, cyber security, or media technology. Graded on A-F only only.

Credit Hours: 3


INFOTC 7100: Pedagogical Practices of Teaching Engineering Online

An immersive study of pedagogical practices to teaching technology, and other core Engineering fields in an online format. The course explores and directly applies key concepts in learning objective creation, course organization, student engagement practices, rubric creation, facilitation of cooperative and collaborative work environments, teaching technologies and interactive media for learning, and direct student engagement. While involved with research and other direct challenge-based learning, the student will also be directly involved in the crafting and deployment of course materials, assessments, and student engagement activities for a currently active undergraduate course in the Information Technology Program. This affords the student both academic and practical, hands-on experience in both pedagogy development and learning materials. Students will be required to research topics, develop in-tandem learning materials, and engage with undergraduates seeking assistance with course content. This faculty led experience provides the student with the greatest immersive experience possible, while learning key concepts in higher education of engineering fields. Graded on A-F basis only.

Credit Hours: 3


INFOTC 7410: Android App Development I

(cross-leveled with INFOTC 4410). You will be introduced to the tools, language, software architectures, and user interface requirements needed to develop applications for Android mobile devices. Topics will include, but are not limited to, installing Android development tools, creating user interfaces, build Android applications using the Java language. Graded on A-F basis only.

Credit Hours: 3
Prerequisites: INFOTC 1040 or CMP_SC 1050 or Instructor Consent


INFOTC 7420: Android App Development II

(cross-leveled with INFOTC 4420). This is the second in a series of courses on developing Android applications using Android Studio and Java programming language on the Android platform. Students will be introduced to the tools, language, software architectures, and user interface requirements needed to develop applications for Android mobile devices. Graded on A-F only.

Credit Hours: 3
Prerequisites: INFOTC 7410


INFOTC 7910: Digital Forensics

(cross-leveled with INFOTC 4910). This course introduces an overview of basic Digital Forensics procedures and techniques to enable students to perform a digital investigation of physical storage media and volume analysis, including preservation, analysis and acquisition of artifacts that reside in hard disk and random access memory, for Linux and MS Windows systems. Graded on A-F basis only.

Credit Hours: 3
Prerequisites: INFOTC 3530 or CMP_SC 3530 or Instructor Consent