CNIT 10500 - Introduction To C Programming
Credit Hours: 3.00. This course is an introduction to computer programming using the "C" language. The emphasis is on structured programming principles, and understanding the basic concepts that apply to engineering problems. Among topics covered in this course are: problem solving using top down design, using flowcharts to explain the program logic, selection structure, repetition structure, bitwise operations, arrays, pointers, strings, passing arguments, and sequential files. 

CNIT 15501 - Introduction To Software Development Concepts
Credit Hours: 3.00.  This course introduces fundamental software development concepts common to most programming languages. Topics include problem solving and algorithm development, debugging, programming standards, variables, data types, operators, decisions, repetitive structures, modularity, arrays, user interface construction, software testing and debugging. A broad range of examples will be used throughout the course to show how each programming concept applies to real life problems. 

CNIT 17500 - Visual Programming
Credit Hours: 3.00. This course introduces event-driven application development and programming using a visual programming environment. Topics include problem solving and program design, control structures, objects and events, user interface construction, documentation, and program testing. Credit may be established in only one of: CPT 15500 or CPT 17500 or CPT 25000. PC literacy required.

CNIT 17600 - Information Technology Architectures
Credit Hours: 3.00.  A conceptual and technological survey of information technology architectures inclusive of operating systems, network operating systems, distributed systems architectures, and distributed application architectures. Interoperability between these architectural components is explored. Current technology and trends in each architectural element are reviewed. PC literacy required. 

CNIT 18000 - Introduction To Systems Development
Credit Hours: 3.00.  This course introduces information systems development. Topics include types of information systems, system development, database management systems, and problem solving. Students will read/create UML, ERD, and data flow diagrams to model information system objects, data, processes, and logic. Labs emphasize modeling and SQL/QBE querying to prepare students for later systems, programming, and database classes. Given user requirements students will design, construct, and test a personal computer information system. PC literacy required. 

CNIT 18200 - System And Organizational Security
Credit Hours: 3.00.  This class focuses on the security of the design, procurement, testing, analysis and maintenance of components that are integrated into larger systems. Protecting organizations from cybersecurity threats and managing risk to support the successful accomplishment of the organization's mission is also covered.

CNIT 19900 - Topics In Computer And Information Technology 
Credit Hours: 1.00 to 3.00.  Hours and subject matter arranged by staff. Individual study under directed leadership of professor. Primarily for students with special aptitudes. Permission of instructor required. 

CNIT 24200 - System Administration
Credit Hours: 3.00.  This course provides a comprehensive introduction to system administration. Topics include authentication and authorization, directory services, system management and system security. Emphasis is placed on enterprise level systems. 

CNIT 25501 - Object-Oriented Programming Introduction 
Credit Hours: 3.00.  This course introduces software development concepts common to modern object-oriented programming languages. Topics include: intermediate data types, decisions, repetitive structures; methods; arrays and collections; encapsulation, inheritance, and polymorphism; exception handling; data persistence; Database Management System (DBMS) connectivity; user interface construction; software testing and debugging; and working in teams. 

CNIT 27000 - Cybersecurity Fundamentals I 
Credit Hours: 3.00. This course introduces cybersecurity fundamentals and concepts. Security models that provide a basis for overarching security solutions are introduced to provide a basis for discussion. Risks and vulnerabilities are examined along with technical controls that can be used to mitigate them. The role of security policy and the incident management framework are examined. Emphasis is placed on building a strong foundation for further study in the field.

CNIT 27100 - Cybersecurity Fundamentals II 
Credit Hours: 3.00.  Course will investigate additional foundational ideas in cybersecurity and serves as a survey course in the field. The course provides extended exposure to utilizing tools to secure/harden aspects of info systems such as mandatory access control, wireless security, hardware security, cloud security and others.

CNIT 27200 - Database Fundamentals 
Credit Hours: 3.00. A study of relational database concepts. These concepts include data design, modeling, and normalization; the use of Structured Query Language (SQL) to define, manipulate, and test the database; programmatic access to a database and practical issues that database developers must handle.

CNIT 28000 - Systems Analysis And Design Methods
Credit Hours: 3.00. Comprehensive introduction to information systems development. Topics include the systems analyst, the systems development life cycle, methodologies, development technology, systems planning, project management, systems analysis, systems design, systems implementation, and systems support. Introduction to tools and techniques for systems development.

CNIT 29900 - Topics In Computer And Information Technology 
Credit Hours: 1.00 to 6.00.  Hours and subject matter to be arranged by staff. Individual study under directed leadership of professor. Primarily for students with special aptitudes. Permission of instructor required. 

CNIT 31500 - Systems Programming 
Credit Hours: 3.00. This course introduces concepts of lower level systems programming in C/C++ on a UNIX/Linus operation system platform. Command level development, algorithms, data structures, iteration and recursion, algorithms and analysis will be covered.

CNIT 32000 - Policy, Regulation, And Globalization In Information Technology
Credit Hours: 3.00.  This course provides students with opportunities to study how technology is intertwined with larger economic, social, cultural, and ethical dynamics in an era of intensified globalization. The course examines technology in a global environment. Students will explore concepts and issues related to law, policy, regulation, outsourcing, offshoring, globalization, global competitiveness, global communications, cultural differences and quality of life issues. Students will examine ethical situations that arise as a result of the impact of technology. In summary, the course is designed to help students understand what it means to identify as, and/or work with, technology in a global environment. 

CNIT 32200 - Research Methodology And Design
Credit Hours: 3.00. This course will discuss scientific research versus pseudoscience, experimental vs. quasi-experimental designs, different research controls and validity issues, and how study designs are used to answer research questions. Students will gain hands-on experience conducting observational and experimental research designs, and the process of writing a formal research paper.

CNIT 32300 - Basic Cyberforensics
This course introduces students to the fundamentals of cyberforensics and cyber-crime scene analysis. The various laws and regulations dealing with computer forensic analysis are discussed. Students are introduced to the emerging international standards for cyberforensic analysis, as well as a formal methodology for conducting computer forensic investigations.

CNIT 32500 - Object-Oriented Application Development 
Credit Hours: 3.00. This course focuses on using object-oriented programming languages in the development of modern, business applications. Topics include object-oriented design, encapsulation, object interfaces, inheritance, aggregation, abstract classes, polymorphism, data structures, and exception handling.

CNIT 34210 - Storage Area Networking 
This course introduces storage area network (SAN) technologies. Storage area networking concepts, architectures, protocols, and best practice implementation techniques are examined. Techniques for remotely booting systems over a SAN are covered. Students implement and maintain an industry standard SAN and network booting solutions.

CNIT 34220 - Network Administration 
Credit Hours: 2.00 or 3.00.  This course focuses on the tasks and issues involved in the installation and administration of distributed computing systems. Topics include the administration of network operating systems and network system interoperability. Students will implement and maintain a comprehensive network service infrastructure.

CNIT 34400 - Network Engineering Fundamentals
Credit Hours: 3.00. This course presents the foundations and intermediate levels of understanding required to effectively design, implement, and manage today's networked environments. Details of basic models; network addressing and operations; network protocol interactions; and enterprise-class hardware applications of both wired and wireless networks are provided. Students will gain experience with enterprise-class hardware through laboratory projects and assignments.

CNIT 34500 - Internetwork Design And Implementation
Credit Hours: 3.00 or 4.00.  This is an advanced course in network architecture. Students learn to design and implement local and wide area networks capable of simultaneous transport of real-time traffic and multiprotocol data over packet-switched and circuit-switched networks. An emphasis is placed on the integration of diverse communications technologies, while considering the effects of engineering decisions on overall performance, from both business and technology perspectives.

CNIT 34600 - Wireless Networks 
Credit Hours: 3.00 or 4.00.  This course introduces wireless networking. Topics include fundamental wireless communication concepts, wireless local area networks (LANs), and cellular systems. Wireless specific protocol elements are addressed in typical application environments. Data communications in multiple wireless environments are emphasized. In the laboratory section, students implement wireless solutions and integrate them into wired LAN environments.

CNIT 35500 - Software Development For Mobile Computers 
Credit Hours: 3.00. This is an advanced programming course that teaches students the skills necessary to develop applications for mobile computing devices (e.g. Smartphones and tablet computers). Combining theory and practice, this course gives students hands-on experience with the latest technologies, tools and techniques used to develop mobile software solutions for business and entertainment.

CNIT 37000 - Introduction To Cryptography 
Credit Hours: 3.00.  Cryptography is an essential component to protect information in cyber systems. This course introduces the inner workings of cryptographic primitives and how to correctly use them. Specifically, the course covers cryptographic algorithms, protocols and techniques. The algorithms illustrate the art of encryption and secure hashing. The cryptographic protocols will expose the students to the world of building trust in an untrusted environment. Cryptographic techniques used in key management and algorithm choice will be explored. 

CNIT 37100 - Cyberlaw And Ethics 
Credit Hours: 3.00.  This course focuses on Cyberlaw, a legal framework of cyber activities and cyber operations subject to a diverse array of international, constitutional, U.S. federal, and state law and regulatory policies. Students will learn fundamental concepts designed to help ensure that the cyber operations in which they participate are consistent with the laws, regulations, and values of the society they serve. 

CNIT 37200 - Database Programming 
Credit Hours: 3.00.  This course explores advanced database programming techniques for enterprise-wide databases and their implementation. It uses programmatic extensions to Structured Query Language (SQL) supported by today's enterprise-class Relational Database Management Systems (RDBMS). Topics include advanced data manipulation, storage considerations, data transformation techniques to enhance interoperability of data, stored procedure and trigger design and implementation, and query optimization.

CNIT 38000 - Advanced Analysis And Design

CNIT 38101 - Topics In Computer Information Technology III
Credit Hours: 3.00.  This course is an advanced study of system analysis and design methods and techniques used by systems analysts to develop information systems. Object-oriented tools and the Unified Modeling Language (UML) will be used for describing object structure and behavior, and use cases will be used for modeling functional processes. Topics include rapid development concepts, application architecture and system design, transition from object-oriented analysis and models to components and services, graphical user interface design, web interface design, prototyping, and commercial software package integration. Emphasis is also placed on the use of an object-oriented CASE tool. This course surveys other important skills for the systems analyst, such as fact-finding (requirements discovery), communications, project management, and cost-benefit analysis. 

CNIT 39000 - Supervised Practicum
Credit Hours: 1.00 to 3.00.  An instructor-directed practicum designed to combine University study with work experience directly related to the student's plan of study. Designed to be scheduled during a regular semester. Credit awarded upon the completion of department-approved project. Maximum of three credit hours may be applied to the CPT bachelor degree. 

CNIT 39200 - Enterprise Data Management 
Credit Hours: 3.00.  This course examines advanced design techniques and physical issues relating to enterprise-wide data management. Topics include advanced design concepts, enhanced modeling and constructs, objects and unstructured and semi-structured data in databases, data management in non-business contexts, implementation of an enterprise data architecture, and data quality and stewardship. 

CNIT 39900 - Topics In Computer And Information Technology 
Credit Hours: 1.00 to 4.00.  Hours and subject matter to be arranged by staff. Primarily for students with special aptitudes. 

CNIT 41500 - Advanced Coding Security 
Credit Hours: 3.00.  This course allows students to gain proficiency in secure coding principles. Security risks from common coding errors are examined. Techniques for integrating secure coding practices into the development process is detailed with an emphasis on ensuring that applications are designed and implemented with proper security requirements. 

CNIT 41700 - Critical Infrastructure Security
Credit Hours: 3.00.  In the socio-political context of nation state sponsored threat actors and cyber cold wars, critical infrastructure (such as water supply and power generation) is a strategic target for attackers. This course investigates the current threat landscape and vulnerabilities in critical infrastructure. Students then investigate system and network architectural solutions to the problem. Students build a model industrial system and will implement these protections in their model environment.

CNIT 42000 - Basic Cyber Forensics 
Credit Hours: 3.00.  This course introduces students to the fundamentals of cyber forensics and cyber-crime scene analysis. The various laws and regulations dealing with computer forensic analysis are discussed. Students are introduced to the emerging international standards for cyber forensic analysis, as well as a formal methodology for conducting computer forensic investigations. 

CNIT 42100 - Mobile Forensics 
Credit Hours: 3.00. This course will help students understand the issues, techniques, and vulnerabilities of small scale digital device forensics. Emphasis will be placed on the forensically sound acquisition, preservation, analysis and presentation of small scale digital devices as evidence. Specific investigations will cover devices such as Personal Digital Assistants (PDA's), Cell Phones, and Smart Phones.

CNIT 42200 - Cyber Criminology
Credit Hours: 3.00. This course examines both the traditional and contemporary forms of cybercrime, including hacking, insider threat, Internet child pornography, cyberbullying, hacktivism, and cyberterrorism. Students will learn how computers can be either the target (e.g., hacking) or the tool (e.g., child pornography) for committing cybercrimes. In addition, this course will apply a variety of sociological, psychological, and criminological theories to help explain, "Why do some people engage in cybercrimes when others do not?" Theories discussed include: social learning theory, space transition theory, routine activity theory, social cognitive theory, techniques of neutralization, and personality characteristics.

CNIT 42300 - Advanced Cyberforensics
Credit Hours: 3.00.  This course covers specialized and advanced content in digital forensics discipline. The focus of the course is on advancing and expanding the knowledge of the students regarding digital forensics investigation process particularly on emerging and contemporary technologies. Application of best practices in cyberforensics are emphasized in this course.

CNIT 42500 - Software Development For Mobile Devices II 
Credit Hours: 3.00.  This programming course teaches students the skills necessary to develop complex applications for mobile computing devices (e.g. smartphones and tablet computers). This course gives students hands-on experience developing mobile applications that use advanced features found on the latest mobile computing devices. 

CNIT 44500 - Advanced Internetwork Routing And Switching
Credit Hours: 3.00.  This course extends routing and switching knowledge with specific attention given to emerging trends. This course focuses on the concepts of traffic shaping, advanced exterior gateway routing protocols, label switching technologies, and quality of service. The necessary perspectives of integration of these topics into enterprise networks are addressed in both lecture and laboratory.

CNIT 44600 - Advanced Wireless Networks
Credit Hours: 3.00.  This course is an advanced course in wireless networking. Building on knowledge gained from the introductory wireless local area network course, this course addresses wireless network design and implementation on a large scale. Topics include mesh networking, broadband wireless access, backhauling, WiMAX and cellular systems. The laboratory portion of the course includes implementing and simulating these technologies in an outdoor setting. 

CNIT 45500 - Network Security 
Credit Hours: 3.00.  This course explores business, conceptual, and technological aspects of network security for voice and data networks. The course deals with the analysis, design, implementation, and management issues surrounding effective network security. Key concepts and technology include virus protection, firewalls, authentication, encryption, wireless security, security protocols, physical security, and network security architecture and policy development. 

CNIT 45600 - Wireless Security And Management 
Credit Hours: 3.00.  This course is an advanced course concerning security and management issues as they apply to wireless networking. Students will gain knowledge on the problems and solutions the wireless industry face when implementing large scale networks. Issues addressed include encryption weaknesses, security methodology tradeoffs, large scale network management techniques and systems, and advanced wireless network architecture. The laboratory portion of the course enforces the learning outcomes with hands-on experiences in implementing secure, manageable complex wireless networks. 

CNIT 47000 - Incident Response Management 
Credit Hours: 3.00. This course will bridge business operations to IT support of the critical systems that support day-to-day operations. Techniques to detect anomalous behaviors through the configuration and monitoring of modern Intrusion Detection systems, analyzing and decoding network flows, system logs, and reports is covered along with appropriate remediation actions. Multiple approaches, theories, standards, and suggestions for incident response handling will be examined.

CNIT 47100 - Vulnerability Analysis And Testing
This course will focus on advanced security techniques often referred to as vulnerability analysis or network penetration testing (pen testing). Students will learn the methods, techniques, and tools to test the security of computer networks, infrastructure and applications. The activities will be based in an environment that allows testing and "hacking" that does not risk possible legal, ethical, and network availability issues.

CNIT 47200 - IT Data Analytics
Credit Hours: 3.00.  Students learn decision strategies as well as Big Data and data analytics concepts using a variety of methods. Students will have "hands-on" opportunities using tools to assist in these efforts. Permission from instructor required.

CNIT 48000 - Managing Information Technology Projects 
Credit Hours: 3.00. This course introduces the application of knowledge, skills, tools, and techniques that project managers use to plan, staff, estimate, and manage information technology projects. Special emphasis is placed on learning and applying the concepts of managing scope, risk, budget, time, expectations, quality, people, communications, procurement, and externally provided services. Students will apply project management technology and techniques to business problems.

CNIT 48101 - Topics In Computer Information Technology IV
Credit Hours: 3.00.  This variable title course is used to pilot new course offerings.

CNIT 48200 - Six Sigma Data Quality For Continuous Improvement 
Credit Hours: 3.00.  A study of data quality for Six Sigma level of improvement, applying a Six Sigma DMAIC (Define, Measure, Analyze, Improve and Control) improvement methodology, utilizing information tools and techniques. The course addresses advanced topics in statistical based continuous improvement, data quality; and Big Data Analytics concepts, as pertains to systematic problems. An embedded certificate in SS is included in the body of knowledge. 

CNIT 48300 - Applied Machine Learning
Credit Hours: 3.00.  In the past decade, we have observed the expeditious evolution and tremendous applications of machine learning, such as unmanned vehicle, autonomous language translation, and smart healthcare. This course will introduce both the fundamental knowledge and design/application insights of machine learning techniques via a series of hands-on real-world examples. The overall aim is to provide the students with a good understanding of machine learning technologies, building machine learning models, and applying machine-learning technologies to address real-world problems. In this course, students will also have an opportunity to explore the cutting-edge machine learning technologies, such as deep learning, adversarial attacks, and meta learning, and develop their own machine learning-based solutions. 

CNIT 48400 - Applications In Data Science 
Credit Hours: 3.00. Students investigate practical applications of Data Science and evaluate their effectiveness in guiding decision making. Students will employ tools to assist in these efforts.

CNIT 48700 - Database Administration
Credit Hours: 3.00.  This course explores tools and techniques for managing an organization's database technology. Topics include database architecture, database technology installation, database creation and maintenance, Database Management System (DBMS) operation and troubleshooting, and database performance tuning. In the laboratory, students engage in activities performed by a typical database administrator. 

CNIT 49900 - Topics In Computer And Information Technology 
Credit Hours: 1.00 to 3.00.  Hours and subject matter to be arranged by staff. Possible individual study under directed leadership of professor. Permission of instructor required.