Course Descriptions
Introduction to Programming
CIT160
Introduction to problem-solving techniques, elementary and intermediate programming, and application of these techniques in developing structured programs in an object-oriented programming environment. A current high-level language is used to illustrate and implement phases of program development.
3 Credits: 3 Lecture
Prerequisites:
Placement by Examination; or
MTH008
Introduction to Database
CIT180
Introduction to creating and using simple relational databases. Topics include basic terminology, database tools, data security, design concepts, query functions, and importing/exporting data. A selected database application is used to illustrate the database concepts.
3 Credits: 3 Lecture
Prerequisites:
MTH006; or
MTH008 or Placement by Examination
Game Programming
CIT216
Study and application of the elements of proper design to create gaming and simulation applications using the chosen programming paradigm. Coursework includes using favored industry standard programming languages, such as C++ and C#, to write sample game and simulation applications. Study and analysis of the reasons a specific language is more suitable for gaming application.
3 Credits: 3 Lecture
Prerequisites:
CIT224 and CIT260
Game & Simulation Design Principles I
CIT224
Topics for this course include the introduction of the structure and mechanics for interactive and engaging projects. Study includes units of probability related to simulation and game design. The use of oral presentations and written documentation will verify the student's ability to communicate their design. An industry-standard game engine is introduced. Course work includes guided hands-on activities that enhance the learning experience. Fall Only.
3 Credits: 3 Lecture
Prerequisites:
CIT160 and CSC132
Fundamentals of Information Security
CIT230
Introduction to the fundamental concepts of information security. Topics include establishing and implementing an organization-wide security policy designed to protect the information assets of an organization. Course work provides the skills necessary to enforce a corporate-wide security policy and lays the foundation for continued study in information security.
3 Credits: 3 Lecture
Prerequisites:
CIT160 and EET145
Introduction to UNIX/Linux
CIT240
Introduction to the UNIX/Linux operating systems, including the installation and configuration of the operating system, and applications within the operating system.
3 Credits: 3 Lecture
Prerequisites:
CIT160
Systems Programming
CIT241
Study designed to prepare the student to integrate systems of diverse architecture so that they share information and resources efficiently. Introduction to the basic system programming concepts required to perform these tasks in multiple environments. Skills learned include computer management such as disk and memory management, file handling, system security, and customization of the user interface on various operating systems. Other skills include file formatting, transmission, translation and scripting to enable information sharing across multiple platforms. Programs are implemented in multiple operating systems' command languages. Spring Only.
3 Credits: 3 Lecture
Prerequisites:
CIT240
Discrete Structures in Computer Applications
CIT243
Introduction to discrete mathematical topics used in computer applications. Topics include, but are not limited to, discrete mathematics, predicate and propositional logic, complexity, computability, sets, graphs, recursion, and digital structures. Study demonstrates how traditional mathematical concepts are imported and used in digital computers. Coursework includes application of theories through guided computer exercises and programs. Spring Only.
3 Credits: 3 Lecture
Prerequisites:
CIT160 and MTH182; or
CIT160 and MTH190; or
CIT160 and MTH240; or
CIT160 and MTH183; or
CIT160 and MTH191
System Analysis I
CIT246
Study of the systems analysis process used to design solutions to business problems. The phases of the System Development Life Cycle (SDLC), up to and including requirements analysis, are presented. Emphasis on teamwork in addressing problem identification, data gathering, and project management. Course work includes using the SDLC to solve an actual business problem; identifying requirements through interviews, questionnaires and research; and using the rapid application development process (RAD) to demonstrate human/computer interfaces. Project management techniques are used to schedule activities and evaluate progress. The final product will be a system requirements document and presentation to the appropriate stakeholders.
3 Credits: 3 Lecture
Prerequisites:
CIT160 and CIT180 and EET145
Programming II
CIT260
Continuation of program design and development concepts. Emphasis on a structured, multi-phase program development process involving understanding a problem, defining a formal solution, and using graphic design methodologies. A selected high-level object-oriented programming language with broad platform support is used to perform the implementation phase of program development using procedural and object-oriented methodologies.
3 Credits: 3 Lecture
Prerequisites:
CIT160
Systems Administration
CIT273
Introduction to the administration of computer networks, including installing and configuring servers and clients; creating and maintaining secure network resources and accounts using standard naming conventions; developing documentation; and performing basic troubleshooting and performance analyses.
3 Credits: 3 Lecture
Prerequisites:
EET145
Secure Database Development
CIT281
Introduction to multi-user and relational database development. Entity relationships, normalization, and alternative database designs are covered. Emphasis on the documentation of the designs of multi-user and relational databases, and implementation of the secure designs within appropriate database development environments. Discussion and practice will include a review of SQL, industry best practices for design and implementation with emphasis on security.
3 Credits: 3 Lecture
Prerequisites:
CIT180
Software Engineering Concepts
CIT285
Introduction to fundamental software engineering concepts and modern approaches. Topics include DevOps practices and exposure to industry-standard tools and services with a focus on supporting collaborative software development. Emphasis on the application architecture prevalent in industry and their deployment environments. Spring Only.
3 Credits: 3 Lecture
Prerequisites:
CIT180 and CIT260 and EET145
Information Technology Internship
CIT291
Work experience intended to provide exposure to the practical and daily operations of an information technology office, support team, or equivalent. Placement within a private firm, government institution or agency, corporation, or other office is based on major and/or career interests to the extent possible. As the culmination of academic study, the internship may not take place before a student's second year, although it may take place in either semester of the second year, per agreement between the student, adviser, and supervising instructor. The student may or may not receive a salary or compensation for services (negotiable with employer/organization). The student logs the experience and submits a narrative report at the conclusion of the internship. This internship experience requires a minimum of 225 work experience hours, but may include more hours depending on the individual needs of the internship experience. In addition to work experience hours, students are also required to satisfactorily complete the internship experience through a final employer evaluation or assessment.
3 Credits: 0 Lecture, 15 Internship
Prerequisites:
CIT160 and CIT180 and EET145
Wireless & Mobile Computing
CIT310
Intensive introduction to wireless and mobile computing, focusing on network administration, deployment techniques, and security. Topics include configurations and transmissions, implementation, and maintenance of wireless and mobile computing networks in organizational settings. Spring Only.
3 Credits: 3 Lecture
Prerequisites:
EET247 and MTH180; or
EET247 and MTH181
IT Service Management
CIT321
Examination of strategic approaches to the design, delivery, management, and improvement of information technology services.
3 Credits: 3 Lecture
Prerequisites:
CIT273
Game & Simulation Design Principles II
CIT324
Second course in design and implementation of interactive and engaging experiences. Starting with a previously developed Game Design Document (GDD), students interpret and implement the described experience. Emphasis on importance of the iterative and player-centric design, as well as the value of frequent playtesting. Topics include DevOps such as testing and versioning, as well as marketing and distribution. Use of industry-standard development environment to implement the proposed design. Fall Only.
3 Credits: 3 Lecture
Prerequisites:
CIT216 and CIT246
Fundamentals of Cryptography
CIT335
Overview of the various cryptographic techniques that have been employed to secure data over time. Investigation of various encryption algorithms, from simple ciphers to modern public key encryption systems. Discussion includes various implementations, strengths, weaknesses, and appropriate applications of different cryptosystems as well as an introduction to state-of-the-art cryptography. Students must earn a grade of C or higher in MTH240 to enroll in this course. Fall Only.
3 Credits: 3 Lecture
Prerequisites:
MTH240
System Analysis II
CIT342
Steps of systems and systems management, with a concentration on the second part of the System Development Life Cycle (SDLC), specifically logical design and decision analysis. Topics include appropriate data modeling, process modeling, risk analysis, cost and benefits analysis, and object-oriented analysis and modeling using UML. Skills learned include applying the appropriate methods for converting the requirements analysis into a logical design and maintaining the integrity of a system as it evolves through the SDLC by using various systems management tools and techniques. Spring Only.
3 Credits: 3 Lecture
Prerequisites:
CIT246 and CIT281
Operating Systems Concepts I
CIT344
Introduction to the fundamental principles of operating systems providing an in-depth study of the internal operations and the technical terminology of a computer system. Topics include common features of operating systems, operating system services, process management, threads, CPU scheduling, memory management, virtual memory, process synchronization, and deadlocks. Fall Only.
3 Credits: 3 Lecture
Prerequisites:
CIT240 and CIT260
Virtualization, Storage & Cloud Computing
CIT347
Introduction to virtualization technology, its impact on business processes, and the resulting changes required in infrastructure planning and deployment. Topics include implementation of virtualization, utilization of advanced shared storage concepts, and use cases where virtualization is an ideal solution. Additional topics include cloud computing models and the deployment of cloud-based systems. Spring Only.
3 Credits: 3 Lecture
Prerequisites:
CIT273
Web Systems & Technologies
CIT351
In-depth study of the complete website development process, from concept to finish, with emphasis on full stack development while using industry standard tools, libraries, and frameworks. Topics include HTML, CSS, scripting, responsiveness, accessibility, and the study of human computer interaction.
3 Credits: 3 Lecture
Prerequisites:
CIT180 and CIT260
Server Administration
CIT355
Introduction and exploration of advanced networking operating systems, targeting the most commonly employed server operating systems. Course work includes skill development in client-server applications, to include administration, SMTP, and directory server support. Although not a certification prep course, the material covered in this course could be used to prepare for various advanced operating system industry certifications. Fall Only.
3 Credits: 3 Lecture
Prerequisites:
CIT273
Data Structures & Algorithms
CIT360
Study of data structures covers stacks, queues, trees, and graphs. Data structures are introduced as abstract concepts, and their physical implementations and operations are developed and applied. Topics include basic techniques of design and analysis of efficient algorithms for sorting, merging, and searching. Fall Only.
3 Credits: 3 Lecture
Prerequisites:
CIT260
C++ Game Development
CIT365
Introduction to the C++ programming language. Includes exploration within a relevant game engine and focuses on the implementation of common game mechanics. Spring Only.
3 Credits: 3 Lecture
Prerequisites:
CIT360
Secure Software Development & Testing
CIT368
Emphasis on awareness of common software issues and how to appropriately develop new code without those common vulnerabilities. Topics include systematically testing software to identify security issues like disclosure, secondary indicators, validation errors, buffer overflows, etc. Spring Only.
3 Credits: 3 Lecture
Prerequisites:
CIT246 and CIT260
Network Administration II: Real-time Services
CIT371
Techniques and strategies for provisioning network infrastructure to provide low latency transport of real-time application data, such as voice, video, and financial transactions. High availability and fault tolerant network architectures are examined from a practitioner perspective with a focus on redundancy of data links, routing paths, and infrastructure services such as domain name systems (DNS) and dynamic host configuration protocol (DHCP). Protocols that ensure optimal data prioritization and transport, such as quality of service, and the tools used to configure and monitor traffic flows are covered. Fall Only.
3 Credits: 3 Lecture
Prerequisites:
CIT273
Network Simulation
CIT372
Advanced examination of networking concepts. Focus is on network modeling and simulation applied to large networks. Topics include simulation concepts, performance modeling and analysis techniques, interpretation of simulation results, and simulation study design. Coursework includes exposure to several network simulation packages. Spring Only.
3 Credits: 3 Lecture
Prerequisites:
EET247 and MTH161; or
EET247 and MTH160
Programming for Mobile Devices
CIT382
Knowledge and skills needed to develop applications for variety of personal mobile devices. Study and practice includes writing applications that access offline and online data. Course work includes developing an application for a specific domain (e.g., personal, business, or entertainment), addressing the new mobile technologies in either physical or simulated modes. Spring Only.
3 Credits: 3 Lecture
Prerequisites:
CIT360
SQL Server & .NET Framework
CIT386
Theory and hands-on learning experience using the Microsoft .NET platform to set up and study SQL Server and cloud technologies. Skills learned include programming, configuring, and deploying applications; working with data and services; and working with ASP.NET, AJAX, and other client-side and server-side scripting to create and manage applications. Fall Only.
3 Credits: 3 Lecture
Prerequisites:
CIT351
Computer Simulation Applications
CIT412
A study of simulation as it relates to applications that use game engines or related programming environments to simulate a concept, behavior, or interaction. Students will recognize the role of human computer interactions (HCI) in the implementation of effective simulations. Introduction to various actual simulations on and off-campus. The course work includes use of a simulation development tool, algorithms, and structures to create simulation applications. Spring Only.
3 Credits: 3 Lecture
Prerequisites:
CIT324 and CIT360
Gaming & Simulation Capstone
CIT419
Applied learning experience in which game design and programming knowledge gained from previous courses are used to design, create, and implement a new interactive and engaging experience. Coursework includes documentation of all aspects of the game creation, from its inception state to its completed and tested state. A colloquium presentation allows the student the ability to share their project and experience with the entire college. (Writing Enriched ) Fall Only.
3 Credits: 3 Lecture
Prerequisites:
CIT351 and CIT365 and CIT412
Information Security Forensics & Incident Response
CIT430
Introduction to the basic investigation techniques used when a security breach has occurred or a system has been compromised. These techniques enable the IT security specialist to participate in the evidence collection phase of an investigation, which may include criminal investigation. Study includes techniques that enable restoration of a compromised system without interfering with the investigative process and evidence. Discussion includes common practices for reporting breaches and updating policies and procedures to prevent similar breaches.
3 Credits: 3 Lecture
Prerequisites:
CIT246 and CIT335 and IAS311
Game & Simulation Seminar
CIT444
In preparation for internships and the eventual job search, this course guides the student through a personal Strength-Weakness-Opportunity-Threat (SWOT) analysis. The results of this analysis provide the student with areas where they must perform independent professional development to prepare for working in the targeted industry. Skills such as job hunting, e-portfolio creation, and resume building are also discussed. Fall Only.
1 Credit: 1 Lecture
Corequisites:
CIT324
Multi-Platform Architecture
CIT448
Design and deployment of multi-platform systems to satisfy an organization’s operational needs. Focus on server administration and management within a mixed Unix/Windows environment. Special emphasis on using Linux to implement domain name systems (DNS), mail, and directory systems. Techniques of integrating Linux and Windows based systems. Fall Only.
3 Credits: 3 Lecture
Prerequisites:
CIT273
Advanced Topics in Networking
CIT449
Application of theory and design to integrate new and emerging technologies when building, maintaining, deploying, and securing the network infrastructure for an organization. Emphasis on the methods used to ensure the scalability, reusability, security, and operational efficiency of computer networks while utilizing the new technologies. Coursework includes the analysis of the benefits and impacts associated with deploying the new technologies. Spring Only.
3 Credits: 3 Lecture
Prerequisites:
CIT355
Advanced Topics in Programming
CIT460
Exploration of advanced topics in application software development using a number of contemporary languages on common computing platforms. Chosen topics are studied within the System Development Life Cycle (SDLC) model and their impact on the existing technologies are evaluated.
3 Credits: 3 Lecture
Prerequisites:
CIT360 and MTH240
Network Design & Management
CIT476
Introduction to the techniques of network planning, selection, and implementation. Focus on such issues as customer and system requirements, the review of current system constraints and performance, the modification and design of new networks, and the planning and implementation of system security requirements. Also covered are the various modeling techniques that can be used in the network system design process. Coursework includes developing a detailed network design and preparing specific testing, security, management and end-of-life procedures. (Writing Enriched ) Spring Only.
3 Credits: 3 Lecture
Prerequisites:
CIT372 and MIS350; or
CIT372 and CIT485
Advanced Database Management
CIT480
Continued exploration of the intricacies of database management. Theory and implementation of database systems include distributed databases, key-value databases, column databases, document databases, graph databases, parallel databases and client-server database architecture, and use of advanced query language. General database management techniques are discussed. Spring Only.
3 Credits: 3 Lecture
Prerequisites:
CIT240 and CIT281
Data Science Principles
CIT482
Introduction to the field of data science. Exploration of basic principles, tools, methodologies, and general data science practices. Emphasis on exploratory data analysis, predictive modeling, descriptive modeling, data product creation, and evaluation. Topics include appropriate and current industry standard tools used to analyze data obtained from a variety of public sources. Fall Only.
3 Credits: 3 Lecture
Prerequisites:
CIT260 and CIT281 and MTH160; or
CIT260 and CIT281 and MTH161; or
CIT260 and CIT280 and MTH160; or
CIT260 and CIT280 and MTH161
Project Management in IT
CIT485
Principles of project management specifically for information technology and information systems projects. Skill development includes identifying project needs, preparing solutions, developing an implementation proposal, completing the termination phase and postmortem with project assessment. Fall Only.
3 Credits: 3 Lecture
Prerequisites:
CIT246 and MGT115
Senior Project
CIT498
Capstone experience intended to prepare for the successful management and implementation of system development/enhancement projects. Expectations include proposing, designing, and implementing a project that requires analysis, integration, and synthesis all of the preceding CIT and related course work as well as research necessary to integrate new technologies and/or topics.
3 Credits: 3 Lecture
Prerequisites:
CIT342 and CIT386