Courses
Students must earn a total of 120 college credit hours to receive this degree. Of these credit hours, 60 credits are core courses, 42 general education credits, and 18 elective credits. Students must meet their core requirements as well as their general education requirements.
In addition, students must meet the following criteria:
-
- Students enrolled in the undergraduate program must maintain a Cumulative Grade Point Average (CGPA) of at least 2.0 out of 4.0 to qualify for the BA degree, to remain in good standing, and to graduate.
- The Maximum Time Frame (MTF) for completion of the bachelor’s program is 180 credit hours.
- An undergraduate student may transfer up to 90 credit hours earned at accredited institutions.
- No degree credit is received by an undergraduate for any failing grade (a grade less than D, or 1.00 out of 4.00 grade points).
INFORMATION TECHNOLOGY CORE REQUIREMENTS (20 Courses)
CMPS 122
Introduction to Programming I
3 Credits
An introductory course in programming, CMPS 122 exposes students to the concepts involved in using higher-level object-oriented programming language. The course will explain the programming process and give students lots of hands-on experience writing small programs during labs.
CMPS 202
Data Structures and Algorithms I
3 Credits
PREREQUISITE: CMPS 122 The objective of this course is to introduce algorithms, algorithm complexities, basic data structures, data organizations, sorting and searching algorithms. This course will also focus on the implementation details of the algorithms. Students will learn to analyze the efficiency of operations and algorithms executed on various data structures, including array, stack, queue, and linked list. The course will also cover recursion and iteration used in computer programming.
CMPS 211
Computer Networks
3 Credits
An introduction to the design and analysis of computer communication networks. Topics include application layer protocols, Internet protocols, network interfaces, local and wide area networks, wireless networks, bridging and routing, and current topics.
CMPS 222
Programming II
3 Credits
PREREQUISITE: CMPS 122 This course offers a continuation of the programming skills learned in CMPS 122. Students will learn more advanced applications of a programming language through lab work and independent assignments. Topics include Graphical User Interface, File I/O, Exception, Database Programming, Networking Basics, and Multi-Thread Programming.
CMPS 226
Introduction to Data Science
3 Credits
A first course in data science. Introduces data science as a field, describes the roles and services that various members of the community play and the life cycle of data science projects. Provides an overview of common types of data, where they come from, and the challenges that practitioners face in the modern world of “Big Data.” Provides an introduction to the interdisciplinary mixture of skills that the practice requires.
CMPS 318
Database Management Systems
3 Credits
Main objective is understanding database management systems and creating efficient database schemas according to normalization theory. This course covers E-R modelling, database design, relational databases, SQL, relational languages, query optimization, query processing and XML.
CMPS 320
Computer Forensics
3 Credits
Computer Forensics and Investigation presents principles and techniques of conducting computing investigations. Computer forensics involves obtaining and analyzing digital information for use as evidence in civil, criminal, or administrative cases. Topics include: ethics, current computer forensics tools, digital evidence controls, processing crime and incident scenes, data acquisition, e-mail investigations, and becoming an expert witness. Hands-on experience, using a forensic software package will be part of the course.
CMPS 350
Cyber Security Law
3 Credits
This course will provide a basic introduction to of all aspects of cyber-security including business, policy and procedures, communications security, network security, security management, legal issues, political issues, and technical issues. This serves as the introduction to the cyber security track in electrical and computer engineering department.
ISIT 224
Information Systems Analysis and Design
3 Credits
This course focuses on the techniques and methodologies used in Information Systems Analysis and Design to develop computer systems and applications. Students will learn and practice the four phases: planning, analysis, design, and implementation, which require students to conduct requirement analysis and build blueprints of systems according to operational and organizational technology needs. The course introduces students to the software tools and diagram representations for producing and documenting the process of system analysis and design. Students work individually and as a team to gain knowledge of change management and team collaboration.
ISIT 225
Cloud Computing
3 Credits
The course examines the most important APIs used in the Amazon and Microsoft Cloud, including the techniques for building, deploying, and maintaining machine images and applications. We will learn how to use Cloud as the infrastructure for existing and new services. We will use open source implementations of highly available clustering computational environments. We also learn how to deal with not trivial issues in the Cloud, such as load balancing, caching, distributed transactions, and identity and authorization management. In the process we will also become very familiar with Linux operating system.
ISIT 226
Management Information Systems
3 Credits
PREREQUISITE: ISIT 224 Managing information systems has become a task for all levels of managers and all function areas of the business. This course is designed to familiarize students with the concepts related to the utilization of information technology in business organizations. It will focus both on technical and managerial aspects of information technology adoption in the organization. Topics such as information technology infrastructure, electronic commerce, information systems and business strategy, ethical issues related to information systems will be covered in class.
ISIT 352
Web Development
3 Credits
This course introduces essential topics of web programming using Java based technologies. Java Servlets and JavaServer Pages will be introduced for understanding basics of web programming. After covering basic topics, Spring Web MVC framework will be introduced for more advanced tasks. JDBC based database operations will be also covered within the scope of this course. Students who successfully complete this course will have the ability of creating database driven dynamic web applications which can generate response to user requests.
ISIT 354
Software Architecture
3 Credits
This course provides students with an introduction to software architecture involving theory foundations, sub-fields, current research status, and practical methods. Students will learn the basic knowledge of software architecture to describe a system's architecture using formal language and innovative styles in developing a system and software application. The course focuses on various aspects of software architecture, such as model representation, component/interface design, architectural frameworks and patterns, and security principles. Students will learn to utilize software architecture for decision-making in choosing strategies, reusing patterns, developing a prototype, and producing documentation.
ISIT 356
Software Quality and Testing
3 Credits
This course provides an elementary introduction to software quality assurance and testing. Topics include: Why do software testing? The meaning of black-box testing and white-box testing; Software Testing throughout the Software Process; Software Testing and Extreme Programming; The Automation of Software Testing; Difficulties and Limitations of Software Testing; The Business of Software Testing; and Implementation of Automated Testing. Students gain intensive hands-on experiences as Software Tester, including planning and executing software testing projects.
ISIT 357
Content Management Software
3 Credits
This course explores the use of the three most popular open source web-based content management systems— WordPress, Joomla, and Drupal—to create dynamic and flexible websites and landing pages. Participants explore the fundamentals of planning dynamic websites, CMS database management, developing CSS-controlled site templates, and creating database-driven websites through the planning and creation of their own topic- based sites.
ISIT 360
Data Mining
3 Credits
PREREQUISITE: CMPS 226 Data Mining studies algorithms and computational paradigms that allow computers to find patterns and regularities in databases, perform prediction and forecasting, and generally improve their performance through interaction with data. It is currently regarded as the key element of a more general process called Knowledge Discovery that deals with extracting useful knowledge from raw data. The knowledge discovery process includes data selection, cleaning, coding, using different statistical and machine learning techniques, and visualization of the generated structures. The course will cover all these issues and will illustrate the whole process by examples. Special emphasis is on the Machine Learning methods as they provide the real knowledge discovery tools. Important related technologies, as data warehousing and on-line analytical processing (OLAP) will be also discussed. The students will use recent Data Mining software.
ISIT 401
Information Technology Audits & Controls
3 Credits
PREREQUISITE: ISIT 226 Management and boards continue to recognize the importance of effectively managing information technology (IT) assets ― to meet business objectives and to thoughtfully manage IT related business risks. This course examines the key principles related to auditing information technology processes and related controls and is designed to meet the increasing needs of audit, compliance, security and risk management professionals.
MATH 110
Introduction to Statistics
3 Credits
This is an introductory statistics course that presents basic statistical concepts and methods in a manner that emphasizes understanding the principles of data collection and analysis rather than theory. Much of the course will be devoted to how statistics affect the business world.
MATH 140
Discrete Mathematics
3 Credits
The aim of the course is to give students the necessary background in discrete mathematical structures. Basic algorithms on discrete structures will be taught.
INFORMATION TECHNOLOGY ELECTIVES (6 Courses)
CMPS 205
Data Structures and Algorithms II
3 Credits
PREREQUISITE: CMPS 202 The objective of this course is to analyze time and space requirements of important algorithms and structures. Various data structures such as stacks, queues, trees and graphs will be introduced and analyzed. This course will also focus on the implementation details of the algorithms.
CMPS 322
Machine Learning and Pattern Recognition
3 Credits
PREREQUISITE: CMPS 202 Machine learning is one of the fastest growing areas of computer science, with far-reaching applications. The aim of this course is to introduce machine learning, and the algorithmic paradigms it offers, in a principled way. The course provides an extensive theoretical account of the fundamental ideas underlying machine learning and the mathematical derivations that transform these principles into practical algorithms. Following a presentation of the basics of the field, the course covers a wide array of central topics that have not been addressed by previous courses. These include a discussion of the computational complexity of learning and the concepts of convexity and stability; important algorithmic paradigms including stochastic gradient descent, neural networks, and structured output learning; and emerging theoretical concepts such as the PAC-Bayes approach and compression-based bounds.
CMPS 310
Introduction to Artificial Intelligence
3 Credits
PREREQUISITE: CMPS 202 This course covers fundamental concepts and algorithms of artificial intelligence (AI) and its techniques, including search heuristics, knowledge representation, planning, reasoning, and learning to underline the design of intelligent computer systems. Students will learn to implement autonomous mechanisms that fully or partially observe involved factors for automatic decision-making. The course introduces students to various techniques, including search methods, machine learning, natural language processing, robotic mechanisms, and computer vision.
CMPS 426
Bioinformatics
3 Credits
PREREQUISITE: MATH 110 This course covers computational techniques for mining the large amount of information produced by recent advances in molecular biology, such as genome sequencing and microarrray technologies. The methods by which computers are used to manipulate and analyze sequences and structures will also be taught. The outline of the course is arranged to give fundamental concepts of bioinformatics to the students.
CMPS 433
Game Programming
3 Credits
PREREQUISITE: CMPS 205 This course will support students the emerging trends, and frameworks of gamification, why it has a great potential to apply in IT projects, and how to use it effectively. The course allows students to develop a set of practical skills in using game elements using industrial case studies. Students will understand practical ways for improving a software development business particularly by understanding ways of creating an effective IT solution and exploring the intangible value in business landscapes. Unity game engine will be used as the development environment.
CMPS 438
Exploratory Data Analytics
3 Credits
PREREQUISITE: CMPS 226 In this course students learn the essential exploratory techniques for summarizing and analyzing data. The course discusses how to install and configure software necessary for a statistical programming environment. It covers practical issues in statistical computing, which includes programming in R and how to use R for effective data analysis. The course covers the plotting systems in R and some of the basic principles of constructing data graphics.
ISIT 248
Mobile Development
3 Credits
PREREQUISITE: CMPS122 This course introduces Android operating system for mobile phones and covers advanced topics of Android programming such as web services, multithreading, advanced database applications, multimedia operations, broadcast mechanism and using map services.
ISIT 328
Data Warehouse Design
3 Credits
PREREQUISITE: CMPS 318 This course aim is teaching the data warehouse design. At the end of semester, students will learn database concepts and data warehouse concepts.
ISIT 340
Business Intelligence
3 Credits
This course covers business intelligence concepts and methodologies including the definition of intelligent knowledge and know-how process to gain insight and perspective for businesses.
ISIT 350
Advanced Web Application Design
3 Credits
PREREQUISITE: CMPS 122 This course teaches advanced web application design using Java ServerFaces web framework. Understanding managed beans, page navigation rules, expression language, data validation and conversion, AJAX support, application security, building custom components and related topics will be covered within the scope of this course.
ISIT 355
Advanced Mobile Application Development
3 Credits
PREREQUISITE: ISIT 248 OR ISIT 350 OR CMPS 222 Technology continues to evolve and provide us with increasingly powerful mobile devices. Thus, applications that can run on a browser must also be written such that they are compatible with mobile devices, the majority of which are now web-enabled. Meanwhile, there is an increasing demand for native applications that can be downloaded to and run on mobile devices. This course will address these trends, teaching you to think about the unique design and deployment issues that must be taken into consideration when developing applications for mobile devices.
ISIT 362
Social Network Analysis
3 Credits
The course presents mathematical methods and computational tools for Social Network Analysis (SNA). SNA was pioneered by sociologist, but recently became an interdisciplinary endeavor with contributions from mathematicians, computer scientists, physicists, economists etc., who brought in many new tools and techniques for network analysis. In this course we will start with basic statistical descriptions of networks, analyze network structure, roles and positions of nodes in networks, connectivity patterns and methods for community detection. In the second part of the course we will discuss processes on networks and practical methods of network visualization.
ISIT 370
Agile Project Management
3 Credits
PREREQUISITE: MGMT 200 This course covers an introduction to agile project management, fundamental principles and practices about agile project development and management.
MGMT 200
Introduction to Project Management
3 Credits
Introduction to Project Management utilizes a simulated team project to manage a project’s life cycle. Emphasis is placed on activity networks, managing resources, and creating control mechanisms that minimize risk. Project leadership is explored in the context of building effective project teams and maintaining stakeholder relationships.