Course Descriptions

Course Description: This course covers the use of the microcomputer in a professional environment with a focus on the innovative use of this technology. Students will use decision making tools to assist them in their work or personal environment (including assessing the opportunities and potential issues with the use of technology). The course focuses on technology; history of technology; components of the PC; the Internet; application software including spreadsheet, database, presentation, and Web technologies. Ethical issues are discussed.

Learning Outcomes:

  • Use the most recent version of Windows and Microsoft Office to manage files and folders, and perform basic system maintenance tasks
  • Use Microsoft Word to:
    • Create and edit documents
    • Use templates and tables to create documents
    • Create a research paper and a multi-column newsletter
  • Use  Microsoft Excel to:
    • Create worksheets and chart data
    • Use functions, create tables, and manage large workbooks
    • Analyze data using line charts and What-if Analysis tools
  • Use Microsoft Access to:
    • Design relational databases and define fields
    • Create and use forms, filters, and reports
    • Sort and query a database
  • Use Microsoft PowerPoint to:
    • Create, edit, and present presentations
    • Use visual tools to format data, objects, and pictures
    • Enhance a presentation using animation, video, tables, and charts
  • Use a combination of MS Office applications together to create Integration Projects

 

Course Description: This course is an introduction to programming in information technology using Python and it is geared towards students from non-computing fields to explore the use of programming to solve problems. Hands-on active learning is required.

Learning Outcomes:

  • Describe the basic concepts of a computer program
  • Develop Python programs for rudimentary basic problems

Course Description: This course is an introduction to the field of Information Technology including technology concepts, terminology, hardware components and software applications.  Students will be introduced to and asked to apply basic skills in the core areas of information technology such as programming, database management, networking, systems administration, and web development and the basic research, problem solving and decision making skills required to be successful in this field.  The course emphasizes the role of technical communication, project management, languages, tools, models and application architectures within the IT development process.

Learning Outcomes:

  • Describe the history of information technology and its associated disciplines
  • Identify and explain the specialty areas and basic concepts of information technology
  • Explain the information technology profession and available career paths
  • Apply introductory skills and concepts related to: productivity applications, information management, digital media, web technologies, programming, networking, and systems administration
  • Demonstrate college level communication, coordination, and collaboration skills

Course Description: This course provides an introduction and overview of software tools and techniques for creating digital media including text, images, sound, video, and interactive media. The focus is on using multimedia to communicate technical information effectively to technical and non-technical audiences. Hands-on active learning required.

Learning Outcomes:

  • Describe the multimedia tools used for sound, image and video production
  • Plan and produce a multimedia project using various software programs  
  • Apply design concepts and include documentation in the presentation of project

Course Description: This course develops fundamental knowledge and skills related to data technologies and will introduce students to basic data manipulation, reporting, and visualization using popular software tools. Hands-on active learning required. 

Learning Outcomes:

  • Process data for basic reporting
  • Define the key terms related to data technology
  • Discuss privacy and regulatory issues related to data governance, life-cycle, stewardship, and security
  • Identify and design systems based upon modern data architectures
  • Given a case study will be able to identify the best strategies and technologies to develop a satisfactory solution.

Course Description: A course covering the spectrum of computer networking in the theoretical and practical framework. Students will learn such topics as computer/network hardware, network media, topologies, the Open System Interconnect (OSI model) or other model, protocols, security, and network architectures. Hands-on active learning required.

Learning Outcomes:

  • Explain the operation of various computing subsystems
  • Apply appropriate problem solving skills in supporting and troubleshooting computer hardware
  • Explain the current model used for systems integration (e.g., Open System Interconnect (OSI model) and its importance and packet creation/delivery.
  • Explain and apply network protocols.
  • Identify the characteristics of various networking media.
  • Implement a variety of network configurations.
  • Explain what a router does, how it functions, and how it differs from hubs and switches.
  • Use the protocols and underlining structures to create a logical network.

Course Description: This course will provide the knowledge and hands-on skills necessary to manage a Local Area Network and its resources. Topics covered include directory services, server management, file and print services, and user/client administration in a heterogeneous operating system environment. Students will setup and manage a fully functioning computer network of systems. Hands-on active learning required.

Learning Outcomes:

  • Use multiple computer system platforms, and understand the advantages of each.
  • Install and administer network services.
  • Protect and secure users' information on computer systems.
  • Use the command line interface for system administration.
  • Demonstrate strategies for planning/designing systems.
  • Install and manage disks and file systems.
  • Enable above learning outcomes in Windows and Linux environments

Course Description: The course introduces students to object-oriented computer programming and problem solving. Students will learn about the basic elements of a computer program such as data types, basic control structures, graphical user interface, event-driven programming, and program debugging. Hands-on learning active learning required.

Learning Outcomes:

  • Demonstrate the basic processes involved in writing, compiling and running a computer program.
  • Develop accurate algorithms to implement a programming solution.
  • Acquire necessary syntax rules to communicate with the computer through the program.
  • Explain and apply the principles of structured design to solve problems.
  • Identify the appropriate use of operators including arithmetic, relational, logical operators, assignment, etc.
  • Describe various data types as well as data structures used in variables and objects.
  • Explain and use sequence, decision, and iteration control structures.
  • Discuss the rationale behind and the basics of the current programming paradigm (OOP paradigm, for example).
  • Explain and use methods.
  • Apply the documentation process throughout the program life cycle.
  • Demonstrate and implement arrays and array lists.  
  • Implement the fundamental concepts of the object-oriented paradigm: Inheritance, Encapsulation, Polymorphism

Course Description: This course focuses on the impact brought upon our society by computers and its related technologies. Issues related to privacy, ethics, law, encryption, copyright, computer crimes, professional ethics and responsibilities will be critically examined. 

Learning Outcomes:

  • Discuss how computing and information systems give rise to social issues and ethical dilemmas
  • Recognize ethical issues that may arise from their Information Technology work
  • Identify issues they may face as a member of a complex technological society
  • Discuss the benefits offered by computing technology in many different areas and the risks and problems associated these technologies
  • Describe social, legal, philosophical, political, constitutional and economical issues related to computers and the historical background of these issues
  • Discuss the arguments on all sides of a controversial issue, and argue convincingly for their selected position
  • Describe the current social and legal developments related to Information Technology.

Course Description: Concerned with the design of interfaces that facilitate the use of computers and other personal electronic devices such as handheld devices. Theory and practice of usability is emphasized. 

Learning Outcomes:

  • Apply a development life cycle to a problem
  • Design and Develop a Software Prototype
  • Identify needs, analyze tasks, and develop profiles of users
  • Develop and evaluate effective user interaction designs
  • Practice user-centered design development and deployment
  • Evaluate usability of an application
  • Communicate effectively- information architecture, navigation, interaction, graphically and with media

Course Description: An introduction to the various technical and administrative aspects of information security and assurance. This course provides the foundation for understanding the key issues associated with protecting information assets, determining the levels of protection and response to security incidents, and designing a consistent, reasonable information security system, with appropriate intrusion detection and reporting features. 

Learning Outcomes:

  • Identify and prioritize information assets.
  • Identify and prioritize threats to information assets.
  • Define an information security strategy and architecture.
  • Plan for and respond to intruders in an information system
  • Identify types of ethical issues regarding the use of information technology in our daily lives
  • Know/understand the security- and privacy-related Federal/State/Local government-wide and organization-specific laws, regulations, policies, guidelines, and standards, and how to apply them
  • Present a disaster recovery plan for recovery of information assets after an incident

Course Description: This course provides the knowledge and hands-on skills to design and implement network infrastructure components. Topics include: network models; current Internet Protocol addressing; Dynamic Host Configuration Protocol; Domain Name Service; Network Address Translations; Virtual Local Area Networks; trunking; routing protocols; and network hardware. Students will set up, manage and troubleshoot multiple topologies. Hands-on active learning required.

Learning Outcomes:

  • Create various types of network topologies using network simulation software.
  • Design and implement configurations for multiple network devices.
  • Configure and implement a Domain Name Service (DNS) strategy.
  • Configure and troubleshoot Dynamic Host Configuration Protocol (DHCP) strategies.
  • Use command line interface to configure network devices.
  • Recall basic terminology related to IPSec networks.
  • Analyze business needs to develop solutions which conform to business goals and constraints.

Course Description: The course covers modern Web standards, well-formed and valid documents, Semantic XHTML/HTML, User-Centered Design of Static Web Sites, Styling and layout of Web documents with CSS, common tools for Web Site development. Emphasis is on coding syntactically correct Web documents using an engineering design perspective focused on functionality over visual design. Additionally, the course covers a variety of basic XML technologies for data representation and transformation. Hands-on active learning required.

Learning Outcomes:

  • Publish locally created web pages to a web server for hosting.
  • Create a semantically correct standards-compliant web page.
  • Use a variety of current Web technologies: HTML5, CSS3, XML, SVG.
  • Apply responsive web design for addressing different devices.
  • Evaluate websites for accessibility and visual appeal.

Course Description: This is the second course on Object-Oriented computer programming and problem solving. Students learn and practice Object Oriented concepts such as inheritance and polymorphism. The course will cover advanced topics such as threads, data structures, files, database and network application programming. Hands-on active learning required.

Learning Outcomes:

  • Apply concepts of the object-oriented paradigm: Inheritance , Encapsulation, Polymorphism
  • Model real world concepts into class structures and implement them as objects.
  • Demonstrate communication within a system.  
  • Create visual components and handle events using current technology.
  • Implement dynamic Web page components using applets.
  • Demonstrate client/server programming using Java
  • Demonstrate data handling using various data storage formats (e.g., text files, XML files)
  • Recognize the reusability of objects in software development.

Course Description: As an introductory course, this course aims to prepare students for the game development track by exploring the interdisciplinary nature of games and the fundamentals of game design. Topics may cover the history of games and play in human society; genres of games; technical and experiential features of games; characteristics of game players; social impacts of games; creating game concepts (game design documents); creating game worlds/settings; developing character or narrative; rapid prototype; fine tuning player experience (similar to the Human Computer Interaction courses); and game project management. Students will work in groups or individually. The end result would be using a rapid prototyping software/tool to prototype their ideal/dream game, which the game engine lab courses that follow will allow them to develop such a game. Hands-on active learning is required.

Learning Outcomes:

  • Explain that games are not simply software applications but focus on player experience
  • Build a solid knowledge on why gameplay and fun is the core of any games more than anything else
  • Conduct game design practices as craftsmanship that involves imagining a game, defining how it works, describing the elements that make up that game
  • Examine business aspects of the gaming industry that impact design and development, including demographics, economic models, budgets, publishing, and marketing
  • Practice using a rapid prototype software/tool to visualize and demonstrate game ideas

Course Description: This course covers the technologies that are used to process complex data sets both structured and unstructured so that they can be analyzed computationally to reveal patterns, trends, and associations through a contemporary programming language. Hands-on active learning required.

Learning Outcomes:

  • Identify the different data manipulation programming technologies and their use
  • Prepare data using different manipulation utilities
  • Use different programming libraries to analyze varieties of datasets
  • Implement a data analysis project using data visualization technology.
  • Apply data analytics techniques

Course Description: Database development using popular contemporary non-relational database technology such as key-value, wide column, graph, and document. Hands-on active learning required. 

Learning Outcomes:

  • Identify and describe the characteristics of contemporary databases
  • Design a contemporary database
  • Code queries that operate on the data
  • Use management tools to administrate and secure a database
  • Discuss when and where to use a contemporary database over a traditional implementation
  • Develop a database application

Course Description: This is an introductory course to the technology used for database development. Topics include the key database concepts, writing queries to retrieve, insert, update, and delete data from databases, and additional database features. Enterprise database management system will be used. Hands-on active learning required.

Learning Outcomes:

  • Describe the characteristics of databases and the features of database management systems.
  • Identify the various data types available and best practices for their usage
  • Code queries that retrieve data from one or more tables
  • Code queries using advanced features (functions, aggregate operations, and subqueries)
  • Code insert, update, and delete queries

Course Description: A broad study of the software development life cycle (SDLC), system paradigms, and platform technologies from the initial stages of systems requirement analysis to the implementation of the system. Different techniques and methodologies in different development stages will be studied. Hands-on active learning required.

Learning Outcomes:

  • Explain the components of a full stack architecture.
  • Compare the difference between analysis and design of information systems.
  • Describe design patterns and apply those to object-oriented system design.
  • Identify system relationships and integrations.
  • Design a system using the various accepted software documentation and development methodologies.
  • Analyze concepts related to information management and information security.

Course Description: Techniques for successfully implementing and supporting network services on an enterprise scale and heterogeneous systems environment will be covered in this course. Hands-on active learning required.

Learning Outcomes:

  • Design, implement and maintain a directory-based server infrastructure in a heterogeneous systems environment
  • Monitor server resource utilization for system reliability and availability
  • Install and administer network services (DNS/DHCP/Terminal Services/Clustering/Web/Email)
  • Obtain the ability to manage and troubleshoot a network running multiple services.
  • Understand the requirements of an enterprise network and how to go about managing them.

Course Description: This course focuses on cloud computing; the managing, integrating, and securing technologies and data found in the corporate datacenter. Specifically addressed are technologies and concepts such as intelligent storage arrays, storage area networks, network attached storage, business continuity, and server virtualization. Hands-on active learning required. 

Learning Outcomes:

  • Describe technologies involved with data storage onto computing media.
  • Analyze a corporate storage environment.
  • Design proper storage strategies for the datacenter.
  • Implement data storage solutions that utilize necessary security and access philosophies.
  • Utilize tools to manage storage area networks and intelligent storage arrays.
  • Implement server virtualization for use in varying sized networks.
  • Manage the movement of virtual servers across physical servers and storage.
  • Describe the various cloud implementation philosophies across physical servers and storage.
  • Analyze best cloud solution (private/public/hybrid) for systems and applications.

Course Description: This course provides students with the ability to create scripts to automate networking and security tasks. Students will survey scripting languages for data processing and administration task automation to automate network, systems, and security tasks. Hands-on active learning is required.

Learning Outcomes:

  • Compare and survey scripting languages
  • Be proficient in one scripting language to write scripts that automate network/system tasks
  • Declare variables and use control structures
  • Debug and handle errors
  • Use regular expressions
  • Query and manipulate databases using scripts

Course Description: This course deals with advanced programming techniques and design issues relating to enterprise-wide development. Topics include advanced object-oriented programming and techniques, database processing and database interfaces, and application testing and deployment using current enterprise application development tools and development and design methodologies. The course will cover both on presentation-tier development and backend development. Hands-on active learning required. 

Learning Outcomes:

  • Create software application for cloud environments leveraging object-oriented principles
  • Develop programs that work with collections, generics, and files.
  • Create multi-threaded applications.
  • Create and demonstrate the use of modern web services.
  • Develop a web application that works with data.
  • Identify application security risks and vulnerabilities.
  • Implement modern version control and CI/CD integrations.

Course Description: Students will learn how to write a client-side web application using current technologies. Topics could include modern JavaScript programming, manipulating XHTML documents via the DOM, XML DOM programming, separation of code from page content and style information, creating rich interactive user interfaces and applications with AJAX, validation of form data using RegEx, using external data in XML, JSON, and other data formats in mashups, common JavaScript libraries. Hands-on Active learning is required. 

Learning Outcomes:

  • Upon completion of this course, students will
  • Write a client-side web application using current the current technologies. Which includes how to put JavaScript code blocks in the body and head of an XHTML document and how to write a user-defined JS function and invoke it.
  • Dynamically write XHTML content via code with innerHTML and the DOM.
  • Use conditional branching logic (if ..else).
  • Use some of the basic capabilities of the built-in (intrinsic) date and time objects.
  • Use common string and Math functions.
  • Link dynamic content to a CSS style sheet.
  • Create a XHTML form for user input.
  • Understand how to use JavasScript Regular Expressions.
  • Use JS RegEx to do form validation.
  • Create a JavaScript application with a modern Dynamic GUI.
  • Understand how to use a Finite State Machine model for application design.
  • Use the JavaScript Timing functions.
  • Create an application engine with JavaScript that promotes code reuse by using external XML data.
  • Create an external JavaScript Code library.
  • Use prevalent industry JS Code libraries for GUI and Application development.
  • Create basic CGI applications

Course Description: This course covers development of dynamic web site using a current web application framework. It includes the following topics: input validation, master pages, site navigation, database back-end, membership and roles, web services, and website deployment. Hands-on active learning is required.

Learning Outcomes:

  • Explain the server-side frameworks for developing web applications.
  • Implement page rendering and server controls.
  • Implement modern version control and CI/CD integrations.
  • Implement data binding and login controls.
  • Deploy web applications.
  • Implement page objects.

Course Description: This course provides an in-depth coverage of developing applications for several of the prevalent mobile platforms using modern software engineering approaches with the Java programming language (or other current programming environments). The course has a heavy focus on project development with group work. Hands-on active learning required.

Learning Outcomes:

  • Execute group/team based development of software applications for industry prevalent mobile devices.
  • Implement common software architectural design patterns, interfaces, and abstract data structures for development of software applications for mobile devices.
  • Organize separate business logic and data logic code layers in software development projects.
  • Leverage a version control system (VCS) for group projects and administration.
  • Demonstrate unit tests using CI/CD pipelines.
  • Demonstrate the use of third party and current industry tools to accelerate application development for mobile devices.
  • Integrate UX best practices on a resolution-limited device.
  • Review and critique code created by peers.

Course Description: This course will provide a functional introduction to programming for Web games and similar interactive media. The result will be competency in popular web programming languages (e.g., JavaScript, HTML) and game programming frameworks. This will be demonstrated by the creation of the mechanics for their Web game projects. Topics may include: Web programming syntax, popular Web programming libraries for games, game loop, sprites, interactive GUI programming, and creating the game environment.


Learning Outcomes:

  • Explain important programming concepts and JavaScript syntax for web game development
  • Apply modern JS libraries for game development
  • Create interactive GUI for games
  • Practice using JavaScript to create game mechanics

Course Description: The course covers database design and administration. Topics include, but are not limited to, logical and physical database design in enterprise environment, enterprise database server administration, stored procedures, triggers, back up, security, transaction management, concurrency control, etc. Enterprise database management system will be used. Hands-on active learning required. 

Learning Outcomes:

  • Implement stored procedures
  • Implement triggers   
  • Design and create views
  • Perform administrative tasks such as denormalization, reading log files, backing up databases, scheduling and creating user accounts
  • Set up security for the database system
  • Describe the concepts of transaction management, concurrency control and recovery
  • Demonstrate advanced query capabilities

Course Description: This course covers the array of technologies and techniques to secure a computer network and perform network/systems forensics when security is compromised or data is lost. Anticipation of network weaknesses then design the network infrastructure and policies to preempt potential attacks upon the network will be presented.  Hands-on active learning required.

Learning Outcomes:

  • Protect and secure organizations' computer network.
  • Understand and be able to apply defense in depth network security techniques.
  • Explain and implement firewall, IDS, and VPN solutions.
  • Apply appropriate problem solving skills in network and system administration.
  • Understand data hiding, corruption and computer forensics
  • Understand corporate and enforcement agency investigations
  • Apply computer forensics workstations and software
  • Be able to identify needs for computer forensics tools
  • Integrate computer forensics hardware and software tools
  • Prepare an incident response plan

Course Description: This course introduces the learner to the concepts and techniques of computer forensics. Topics include detecting incident occurrence, data hiding through alternate data streams and steganography, incident preparation, incident response tools, scanners and sniffers, and developing a forensics methodology. Hands-on active learning required.

Learning Outcomes:

  • Understand data hiding, corruption and computer forensics
  • Understand corporate and enforcement agency investigations
  • Apply computer forensics workstations and software
  • Be able to identify needs for computer forensics tools
  • Integrate computer forensics hardware and software tools
  • Prepare an incident response plan

Course Description: This course teaches the concepts, applications, configuration, and implementation of enterprise network monitor and IPS technologies.  Built on the prerequisite courses, this course is intended to teach the students the breadth and depth of the topics of SNMP, network management, deep packet inspection, log file analysis, anomaly detection, host and network based IPS, distributed IPS, and Honeynets/Honeypots.

Learning Outcomes:

  • Monitor traffic, conduct deep packet inspection, and detect network anomaly
  • Collect and analyze security log files
  • Detect, identify, resolve and document network intrusions
  • Deploy and configure host and network based IDS/IPS systems
  • Understand the concepts of Honeynets and Honeypots
  • Be familiar with the SIEM (Security Information and Event Management) products and technologies

Course Description: The course will provide students with hands-on experience in different Information Technology topics. Such topics could include, but not limited to, Security, Network Administration and Integration, Mobile Development, Game Development, Web Development, Programming Languages and Databases Management systems. The department will select the topics based on proposals from faculty.

Learning Outcomes:

  • Analyze problems related to the application of Information Technology
  • Evaluate Information Technology solutions to the problems covered
  • Perform appropriate Information Technology tasks relevant to the topics covered
  • Develop components of Information Technology solutions using different technologies

Course Description: This course will cover the major aspects of programming and creating games within a popular game engine (e.g., Unity) that is widely used in the gaming industry. Topic may include world/level design, scripting (e.g., C#), basic interaction between code and game assets (character, buildings, objects, weapons, camera, etc.), movement and manipulation of game assets, events such as object collisions, triggers, and timed events, common gameplay mechanics, creating a game interface (GUI), non-player characters and AI, animation, and game sequences. The course is a project-based course. Students will work in groups or individually to develop their dream game. Students will have choices of the game platform (e.g., mobile or PC standalone game), genres of the game (e.g., puzzle or adventure), and dimension of the game (e.g., 2D or 3D).

Learning Outcomes:

  • Explain and practice using the interface, features, mechanisms, and scripting of Unity. 
  • Develop elements of a game, apply the skills needed to formulate novel game concepts, and scope game development milestones, and implement a complete game built on top of Unity. 
  • Develop and demo their game that involves team presentation and peer and instructor critique. 
  • Manage a semester-long game development project and provide end-of-project overviews and hands-on demonstrations of a digital, playable game for their semester project.

Course Description: This course will continue to reinforce students’ hands-on experiences of game engines by covering the major aspects of programming and creating games within a popular game engine (e.g., Unreal) that is widely used in the gaming industry. Topics may include world/level design, scripting (e.g., C++), basic interaction between code and game assets (character, buildings, objects, weapons, camera, etc.), movement and manipulation of game assets, events such as object collisions, triggers, and timed events, common gameplay mechanics, creating a game interface (GUI), non-player characters and AI, animation, and game sequences. The course is a project-based course. Students will work in groups or individually to develop their dream game, preferably a 3D game - Prerequisite Definition: To take this course you must: Have taken the following Course IT3080C min grade "C-".

Learning Outcomes:

  • Practice using the interface, features, mechanisms, and scripting of Unreal. 
  • Understand the elements of a 3D game such as formulating novel game concepts, game scope, and milestones. 
  • Collaborate on the development of a semester-long game development project.

Course Description: This course provides in-depth coverage of the data warehousing and data mining. Data warehouse topics covered include OLAP cubes and tabular models, how to extract, transform, and load data to a warehouse, multidimensional query expressions, and reporting. Data mining topics covered include mining algorithms, interpreting mining results, and data mining query extensions. Hands-on active learning required.

Learning Outcomes:

  • Design and build various data models
  • Query a complex data storage system using advance query methods
  • Extract, transform and load data using current software tools
  • Create, build and deploy various mining models
  • Use various mining models to identify an unknown value in a field

Course Description: General management techniques and specific issues and tools for project management in information technology. 

Learning Outcomes:

  • Discuss the theory and practice behind the practice of management in a professional environment.
  • Discuss the types of areas in which information technology plays a significant role.
  • Discuss findings from research on a specific area of concentration (networking or software development)and illustrate the application of theories and practice of management
  • Research and discuss professional attitudes and practices in the current IT world and as participants in class.
  • Demonstrate an ability to communicate on several levels:
  • 1) Rhetorically, as presenters within the atmosphere of a seminar in which there is an intensive exchange of information and ideas; 2) Interpersonally, as colleagues who are analyzing and assessing information and ideas presented by others, 3) Interpersonally, as learners interacting with professional practitioners of information technology, and 4) In writing, as learners communicating their research-based analysis and evaluation of information and ideas.

Course Description: This course is for students in their junior year in the School of Information Technology (SoIT) and is required in their last year before taking senior design. Students will review projects from previous years including final reports, project presentations, and the IT Expo presentation. The course introduces the expectations of the senior design experience at the SoIT and prepares students to select their projects and their team. The course culminates with senior design teams and project selection.

Learning Outcomes:

  • Describe the requirements and expectations of the senior design experience
  • Explore projects from prior years including their report, presentations, and IT Expo posters
  • Select project topic and team

Course Description: This course introduces the learner to the concepts and techniques of computer forensics. Topics include detecting incident occurrence, data hiding through alternate data streams and steganography, incident preparation, incident response tools, scanners and sniffers, and developing a forensics methodology. Hands-on active learning required.

Learning Outcomes:

  • Understand data hiding, corruption and computer forensics
  • Understand corporate and enforcement agency investigations
  • Apply computer forensics workstations and software
  • Be able to identify needs for computer forensics tools
  • Integrate computer forensics hardware and software tools
  • Prepare an incident response plan

Course Description: This course addresses technical advances in the area of computer networking and systems that are not covered by other courses in the IT curriculum. Topics may change from one year to the other based on these current trends in the field. Hands-on active learning required. 

Learning Outcomes:

  • Varies with each offering

Course Description: This course provides in-depth coverage of the development of large-scale, high-volume enterprise Web sites using distributed N-tier architectures and modern software engineering approaches. Various java programming language technologies are covered. The course has a heavy focus on project development with group work. Hands-on active learning required.

Learning Outcomes:

  • Create an enterprise Microservice application using software design patterns and N-Tier architecture.
  • Consume and produce data using service architecture.
  • Utilize agile frameworks to facilitate team-based enterprise application development.
  • Demonstrate the use of third party and current industry tools to accelerate enterprise application development.
  • Leverage a version control system (VCS) for group projects and administration.
  • Demonstrate unit tests using CI/CD pipelines.
  • Integrate UX best practices for the web.
  • Practice code reviews.

Course Description: This course develops fundamental knowledge and skills related to data technologies and will introduce students to basic data manipulation, reporting, and visualization using popular software tools. Hands-on active learning required. 

Learning Outcomes:

 

  • Identify use cases for the different data technologies
  • Discuss categories and tools of the various data-related operations
  • Discuss the various data technologies algorithms and their usage
  • Use data technologies tools to create and manage data flows
  • Implement a data analysis system using multiple data technologies

 

Course Description: This course addresses technical advances in the area of data governance, compliance, security, lifecycle, administration, and advanced analytics methodologies. Hands-on active learning required.

Learning Outcomes:

  • Identify the types of data and data sources that fall under data governance
  • Diagram the most common life cycle of data, from raw to production
  • Discuss multiple-cluster infrastructure implementations and administration such as cloud, on-premises, and hybrid
  • Use a data lifecycle and a data modeling tool
  • Implement data access security and monitoring 

Course Description: This course introduces the fundamental technologies and methods at the core of modern applied machine learning. The course covers various technical elements, foundations, and essential technology of applied machine learning. Hands-on active learning is required.

Learning Outcomes:

  • Describe the machine learning fundamental methodologies.
  • Understand the data processing methods and data implementation for machine learning models.
  • Apply different machine learning technologies to solve real-world problems.
  • Analyze the performance of machine learning models.

Course Description: This course provides students ethical hacking tools to develop skills and techniques to identify host and network vulnerabilities. Students will understand the scope of penetration tests and the responsibilities of performing these tests by following a strict code of ethics. Through hands-on lab exercises, students will learn to use a set of modern day software tools to perform various penetration testing tasks on simple computer hosts to enterprise level networks. Students, therefore, will be able to implement appropriate defense mechanisms to mitigate and remediate the identified issues.

Learning Outcomes:

  • Plan, organize, and perform penetration testing on a simple network
  • Understand the ethical implications of penetration testing and the necessary organization defined scope of engagement
  • Understand the potential negative technical implications of penetration testing on existing network and systems infrastructure
  • Understand the impact of, and defense against, social engineering attacks
  • Understand families of attacks and flaws that lead to vulnerabilities
  • Identify and properly utilize the modern day penetration testing tools such as Nmap, Nessus, Metasploit, the Social Engineer Toolkit (SET)
  • Perform ethical hacking to identify host and network vulnerabilities

Course Description: This course addresses technical advances in the area of Cybersecurity that are not covered by other courses in the IT curriculum. Topics may change from year-to-year based on current trends in the field. Hands-on active learning required.

Learning Outcomes:

  • Varies with each offering.

Course Description: This course provides insights into advanced technologies in deep learning to create a learning system for complex problem such as computer vision, natural language processing, with application in such sectors as healthcare. Students will implement various deep learning models to process big data. Hands-on active learning is required. 

Learning Outcomes:

  • Distinguish the various problem domains and learning tasks.
  • Implement deep learning models using the advanced deep learning technologies to solve complex problems.
  • Evaluate the performance of different deep learning models.
  • Analyze and evaluate the deep learning models performance.

Course Description: This course will examine networking principles and technologies that are used to develop games intended for more than one player. Topics will include networking fundamentals for games, server-client architecture for games, cloud gaming technology, cross-platform game development, security issues in such games, and potential solutions to address the security issues. Students will work in groups or individually to create a 2D or 3D network game for two or more players using Unity.

Learning Outcomes:

  • Explain fundamental differences between creating single player and multiplayer games
  • Describe the design and development process of a multiplayer game
  • Create a multiplayer game using Unity
  • Describe potential security issues in multiplayer games and identify potential solutions

Course Description: This capstone course is part 1 of the senior level course designed to allow students to review, analyze and integrate the work completed towards the bachelor of science in Information Technology degree. The student will complete an approved academic project, paper, and presentation that demonstrates mastery of the BSIT degree requirements.

Learning Outcomes:

  • Analyze user requirements to design, develop, and deploy effective Information Technology solutions.
  • Demonstrate working effectively in a team to produce desired outcomes.
  • Demonstrate knowledge of best practices in Information Technology project planning.
  • Demonstrate appropriate mitigation of ethical issues surrounding Information Technology solutions.
  • Analyze current information technology research and apply to solution.
  • Demonstrate formal oral and written communication skills.

Course Description: This capstone course is part 2 of the senior level course designed to allow students to review, analyze and integrate the work completed towards the bachelor of science in Information Technology degree. The student will complete an approved academic project, paper, and presentation that demonstrates mastery of the BSIT degree requirements. 

Learning Outcomes:

  • Analyze user requirements to design, develop, and deploy effective Information Technology solutions.
  • Demonstrate working effectively in a team to produce desired outcomes.
  • Demonstrate knowledge of best practices in Information Technology project planning.
  • Demonstrate appropriate mitigation of ethical issues surrounding Information Technology solutions.
  • Demonstrate risk management strategies in finalizing the solution.
  • Demonstrate formal oral and written communication skills.
  • Demonstrate best practices in testing information technology solutions.

Course Description: Directed/independent project in information technology under direction of faculty member. 

Learning Outcomes:

  • The student learning outcomes will be designed by the student and the instructor.  Students will be able to successfully demonstrate an understanding of and apply technologies associated with a concentration area (project) selected by the student and professor.

Course Description: The IT graduate Seminar is designed to provide opportunities for professional development of graduate students, raise their awareness of various other issues that they may face in their professional careers, and provide opportunities to survey research seminars of their interest.

Learning Outcomes:

  • Describe latest technologies in the field.
  • Identify grand challenges in current IT field.
  • Gain knowledge of diverse research sources available to IT graduate students.
  • Effective use of a range of tools and techniques to improve communications and relations within the team.
  • Increased understanding and awareness of how to solve problems within a team.

Course Description: This course focuses on scientific approaches to studying information technologies and writing thesis and other research reports.

Learning Outcomes:

  • Explain the theory and practice of IT research as practiced by professionals in the field.
  • Develop a thesis and evaluate its feasibility.
  • Develop a mastery of standard scholarly writing, such as theses and papers.
  • Evaluate IT articles to assess the quality of the research.

Course Description: This course introduces students to the field of cybersecurity by discussing the evolution of information security into cybersecurity, cybersecurity theory, and the relationship of cybersecurity to nations, businesses, society, and people. Students will be exposed to multiple cybersecurity technologies, processes, and procedures, learn how to analyze the threats, vulnerabilities and risks present in these environments, and develop appropriate strategies to mitigate potential cybersecurity problems.

Learning Outcomes:

  • Explain the nature of cybersecurity in an IT context.
  • Compare and apply several models for security risk assessment.
  • Develop an IT security plan for the target environment.

Course Description: This course is designed to provide students with the advanced concepts needed to establish network security strategies to ensure adequate protection for the organization's environment and yet provide accessibility for its community.

Learning Outcomes:

  • Use various computer forensic software tools and techniques as well as follow proper legal procedures for obtaining, analyzing and reporting digital forensic evidence for enterprises.
  • Choose various techniques for preventing unauthorized attacks to enterprise assets, and apply measures for minimizing the damage caused by intruders.
  • Apply critical thinking skills to risk analysis of enterprise computer systems.

Course Description: This course will examine perspectives and techniques to decrease the security risk of the software. When threats and vulnerabilities are addressed early in the development cycle, security can be built in.  The scope of this course may be varied by the faculty.

Learning Outcomes:

  • Describe secure software concepts, methodologies and implementation of the software engineering lifecycle.
  • Evaluate software-induced security risk through proactive design and exploit-driven testing.
  • Evaluate enterprise level software security.

Course Description: Social Networking has become a popular method for communicating and sharing information in online groups via the Internet and other technologies. The purpose of this course is to introduce students to a variety of social networking development tools, including blogs, wikis, Twitter, social bookmarking, and cloud storage. Students will be provided information on each of the social networking tool, learn how to use them, and then work individually and collaboratively to formulate ideas for implementing social networking tools in order to facilitate working and the use of technology. The scope of this course may be varied by the faculty.

Learning Outcomes:

  • Design and use of social network technologies.
  • Conceptualize, design and implement social networking application.
  • Collaborate with peers to apply these social networking technologies to a variety of workspace and personal contexts.

Course Description: This class covers the technologies, devices, operating systems, and tools of mobile applications, as well as the mobile industry. Students will use tools to create apps for different mobile devices including smartphones and tablets. The scope of this course may be varied by the faculty.

Learning Outcomes:

  • Summarize the technical challenges posed by current mobile devices, and be able to evaluate and select appropriate solutions.
  • Select and evaluate suitable software tools and APIs for the development of a particular mobile application and understand their strengths, scope and limitations.
  • Use an appropriate application development to design, write and testinteractive programs for mobile devices.

Course Description: This course teaches students the concepts and strategies needed to create usable interfaces optimized for mobile applications. In this course, students examine the foundation of creating logical, intuitive, and clear interfaces. The course examines interaction principles, experiential, and gestural design patterns relating from usability, visualization, and functionality constructs associated with human factors that drive touch screen interfaces. The scope of this course may be varied by the faculty.

Learning Outcomes:

  • Apply methods and technologies to evaluate the usability of mobile applications.
  • Analyze, design, implement and evaluate mobile application usability.

Course Description: This course introduces the planning, designing, and managing sustainable and resilient infrastructure systems and their interactions. It encompasses both built IT infrastructure and IT services that rely on integrated built and natural systems to provide corporate fundamental needs.  The scope of this course may be varied by the faculty.

Learning Outcomes:

  • Develop planning and management of sustainable IT systems.
  • Devise sustainability modeling of interdependent IT infrastructural systems.

Course Description: This course introduces storage technologies in an increasingly complex IT environment. It builds a strong understanding of advanced concepts in storage technologies. The course focuses on architectures, features and benefits of intelligent storage systems; networked storage technologies; long-term archiving solutions, the increasingly critical area of information security and the emerging field of storage virtualization technologies.

Learning Outcomes:

  • Evaluate various storage classifications and technologies.
  • Analyze storage architectures, processes, components and how they relate to virtualization.
  • Justify the implementation of a range of storage solutions to enable enterprise operation continuity.
  • Analyze storage security design, implementation, monitoring and management.

Course Description: Analyze and practice system administration processes for enterprise-level information systems. It includes advanced concepts in enterprise computing infrastructure analysis, deployment, management, and troubleshooting. Topics include, but not limited, enterprise computing resource requirements analysis and design, application and server deployment, virtualization, security configurations, and performance analysis.  The scope of this course may be varied by the faculty.

Learning Outcomes:

  • Demonstrate setup, configuration, and maintenance of large scale Linux/UNIX /Windows servers.
  • Apply system security, shell scripts, and server backups.
  • Construct security policies and communication strategies with users in system administration.

Course Description: This course introduces students to the use of games to influence learning and simulation.  Students will investigate and analyze different case studies. Students will use game technologies to apply learning theories to develop games for educational and simulation purposes.

Learning Outcomes:

  • Analyze, design, and develop games or simulations in a team environment.
  • Synthesize learning theories as applied to games.
  • Incorporate learning theories in the development of games

Course Description: This is an advanced course that explores different technologies and platforms for the development of games. Students will compare different technologies and will select technologies to implement a full life cycle of game development. Students will collaboratively in groups using advanced team collaboration tools.

Learning Outcomes:

  • Explore and implement game development life cycle
  • Compare game technologies and platforms
  • Work collaboratively in groups through the life cycle
  • Use gaming technology to develop a game

Course Description: This advanced course covers the concepts underlying multi-user, networked games, from its definition, to distributed systems, to networking fundamentals, quality of experience and game design needs. Topics include real-time 3D graphics programming, network programming for multiplayer architecture, data analysis, security and other related issues of networked games development.

Learning Outcomes:

  • Compare different architectures for multiplayer games
  • Design and development of a multiplayer mobile, social or online game
  • Incorporate security principles in the development of multiplayer games

Course Description: This course is concerned with the design, evaluation, and implementation of interactive computing systems for human use and with the study of major phenomena surrounding them. The course considers the inherently multi- and interdisciplinary nature of HCI and situates various HCI issues in the organizational and societal contexts.

Learning Outcomes:

  • Identify important human factors that affect human-computer interactions.
  • Apply advanced HCI methods and techniques for human-centered information systems development.

Course Description: This course introduces machine learning and data mining techniques. The course focuses on using applied methods and software tools to discover hidden patterns or identify anomalies in the data generated in modern IT networks.

Learning Outcomes:

  • Survey machine learning and data mining algorithms and techniques
  • Use applied methods to discover hidden patterns of IT data
  • Understand data generated from various network sources
  • Construct modern computing framework, such as Apache Spark or Hadoop, to mine IT data
  • Apply a scripting language, such as R or Python and their libraries, to mine and present data
  • Visualize IT data and create report

Course Description: In today's enterprise networks the challenge of a cybersecurity analyst is not lack of data for analysis, but too many data from too many network sources. Visualizing and analyzing vast amounts of data from cyber space is a critical skill for protecting data network. This course explores different types of network data from text-based log files to complex and proprietary binaries. Students will have hands-on practice using scripting languages and software tools to visualize and process network data and identify threats and malicious activities on networks. This course intends to convert cybersecurity challenges into data science challenges that can be solved using modern data science techniques such as modern data visualization and machine learning programming libraries. 

Learning Outcomes:

  • Survey network data types.
  • Write scripts to dissect network packets.
  • Automate processes to identify network anomalies and treats using machine learning algorithms.
  • Apply data science techniques to cybersecurity datasets.
  • Conduct a complete cybersecurity data processing and prediction project.

Course Description: This course will evaluate the accumulated data, evidence, and research in support of different information technology strategies, tools and techniques. It will provide a foundational overview of evidence-based practice (EBP) as well as research-supported strategies for implementing EBP in real world settings. The course will improve the learner’s understanding and use of EBP, to include the ability to ask relevant questions, find and interpret the evidence, and apply this evidence to the IT practice. The critical thinking abilities, knowledge and decision-making skills developed in this course are particularly valuable for information technology leaders, and emergent leaders

Learning Outcomes:

  • Define evidence-based practice and discuss its philosophy and fundamental principles
  • Discuss the importance of evidence-based practice in improving the IT organization’s outcomes
  • Apply evidence-based practice process to address organizational opportunities and problems related to information technology
  • Gauge the quality of available evidence in the domain of information technology, and use this evidence to inform an effective course of action
  • Recognize the organizational, social, and ethical implications associated with different information technology strategies

Course Description: This course surveys the past and current theories, as well as the scope of issues and foundational topics relevant to human-centered practice of Information Technology: cognitive psychology, human factors, human-centered design methods, techniques, and evaluation.

Learning Outcomes:

  • Explain the rationales behind human-centered usability guidelines and heuristics.
  • Evaluate past and current research in Human-Centered Computing.
  • Apply current HCI theories to information technology.
  • Appraise the principles, practices, and impact of human factors/human-computer interaction research on the practice of information technology.

Course Description: This course will cover the current trends in the practice of secure information technology (IT). The learners will be introduced to real life scenarios demonstrating security implications for different IT decisions.  The course will cover the evolution of IT solutions, the trustworthiness in an IT solution, and evaluating an IT solution with key system characteristics such as security, safety, reliability, resilience and privacy.

Learning Outcomes:

  • Discuss the evolution of secure information technology practice
  • Apply the core elements of trustworthiness of an information technology system
  • Identify metrics and key performance indicators for a secure information technology solution
  • Evaluate security implications in the information technology solution lifecycle

Course Description: This course surveys a broad range of research methods employed in Human-Centered Computing. The course will cover a variety of human-centered design techniques (such as contextual design, scenario-based design, participatory design, etc.) for use in developing and evaluating socio-technical systems. This course is intended for students in the Information Technology graduate programs; especially Ph.D. students who are conducing empirical design research.

Learning Outcomes:

  • Develop skills in the use and application of a variety of design methods, specifically applicable to user-centered design.
  • Given a problem setting, critique the quality of different types of user information collection methodologies to address problems in information technology practice.
  • Apply appropriate design methods in the solution of a given information technology practice problem.
  • Compare the strengths and weaknesses of different human-centered techniques for a given design problem. 

Course Description: This is a graduate level course on the visualization and advanced analysis of social networks using computational tools. The course provides some basic foundational knowledge of the key theoretical concepts of social network analysis but is heavily on the methodological (e.g., how do we actually carry out research and test hypotheses on social networks) processes. The course begins with a definition of a social network and a review of key concepts from the underlying mathematical field of graph theory. The course proceeds to frame the field in terms of various research designs, data collection, and data management. After exploring research methods, the course moves on to multivariate techniques used in network analysis through dyadic concepts in network analysis and statistical techniques tailored to the special challenges of network data, such as non-independence of observations. Finally, The course covers types of data including affiliation matrices, large networks (Big Data), ego networks, and longitudinal data.

Learning Outcomes:

  • Test network hypotheses using advanced analytic methods
  • Apply fundamental computational techniques to social network analysis
  • Analyze social network data
  • Write research report to explain the results of the analysis at a level ready for academic publication
  • Design and implement a social network analysis research project 

Course Description: Individual projects are under the supervision of program faculty for partial fulfillment of the Master of Science degree.

Learning Outcomes:

  • In the project, students will demonstrate application of acquired skills and synthesis of knowledge.

Course Description: This course allows PhD students to take a co-op internship in a related area in industry. This course will provide students with an opportunity to explore career interests while applying knowledge and skills learned in academia in a work setting. (By permission only).

Learning Outcomes:

  • Apply knowledge and skills learned in academia in a work setting
  • Relate academic knowledge to real world IT problems

Course Description: This course allows PhD students to gain teaching experience in a related area. This course will provide students with an opportunity to improve their pedagogy strategies and build a teaching philosophy. (By permission only).

Learning Outcomes:

  • Apply knowledge and skills learned in teaching undergraduate courses
  • Practice teaching philosophy and pedagogy

Course Description: This course is to facilitate the development of incoming doctoral students’ dissertation research ideas and to build community among students and IT faculty’s research areas. Topic of the seminar will vary by the instructor’s expertise. 

Learning Outcomes:

  • Recognize research areas for the faculty
  • Conduct research on a specific topic with the instructor’s advice

Course Description: Individual research under the supervision of IT faculty directs towards the completion of the MS thesis.

Learning Outcomes:

  • Identify the thesis topic and complete the exploratory research to demonstrate the feasibility of the topic.
  • Write a thesis describing the results of the research
  • Defend the thesis to the thesis committee.

Course Description: Individual research under the supervision of IT faculty directs towards the completion of the Ph.D. dissertation. (By permission only).

Learning Outcomes:

  • Identify the dissertation topic and complete the exploratory research to demonstrate the feasibility of the topic.
  • Write a dissertation describing the results of the research
  • Defend the dissertation to the dissertation committee.