Computer Science



ENG20 / ENG1120 - Exposition and Argumentation

This course will provide participants the opportunity to continue to develop the necessary writing skills with special emphasis on expository, descriptive, persuasive (argumentative) and narrative writing. This course will introduce advanced writing concepts and continued emphasis will be place on writing according to the rules of good essay writing. Prerequisite: GFP (English)

SPMS 85 / SPMS1185 – Introduction to Speech

This course provides the students with an opportunity to study the components of a good presentation. It gradually guides candidates to prepare and introduce effective presentations. It also aims at increasing self-confidence through controlling stage fright, enhancing participation skills and involving students in debates and discussion.

Prerequisite: GFP (English)

PSYCH50 / PSYCH1101- Introduction to Psychology

Designed to assist the individual in developing a growing understanding of basic psychological concepts, an increased awareness of one's self, a continuous interest in human behavior, and an increased effectiveness in relating to other people.

Prerequisite: GFP (English)

MATH3 / MATH1103 - Pre-Calculus

Basic principles of algebra including the number line and an introduction to equations and inequalities, polynomials, rational expressions, exponents and radicals, the quadratic formula and functions. Prerequisite: GFP – Mathematics

CS1 / CS1010 - Introduction to Computer Science

This course is devoted to an introduction of various areas of Computer Science, the faculty members, and lab equipment. Computer ethics will be discussed in several lectures. Prerequisite: GFP - IT


ENG65 / ENG1600- Introduction to Technical Communication

This course deals with writing that occurs in the workplace and allows the reader to take an action. It will equip students with the necessary range of skills to write in a range of technical documents. Students will analyze and produce texts appropriate to the communication of scientific, technological and business data.

Prerequisite: Eng20/Eng1120

ECON75 / ECON1175- Economic Development in the Gulf States

Principles  and concepts of economic growth and development; theories of economic development, economic development since1990s , factors of growth and development in the Gulf countries, employment, health, education, training, entrepreneurship and its role in the development of the region; natural resources and its role in Gulf region.

Prerequisite: None

MATH8 / MATH1208 - Calculus with Analytical Geometry – I

A study of limits, continuity, differentiation and integration of algebraicand trigonometric functions. Applications of these concepts in physicalas well as mathematical settings are considered. Prerequisite: MATH 3/MATH 1103

CS158 / CS1200 - Discrete Mathematics for Computer Science

A rigorous treatment of topics from discrete mathematics which are essential to computer science. Principal topics include: formal logic (propositional & predicate), proof techniques, mathematical induction, program correctness, sets, combinatorics, probability, relations, functions, matrices, graph theory and graph algorithms. Prerequisite: GFP (IT & Mathematics)

CS53 / CS1570- Introduction to Programming

Programming design and development using C++. Emphasis placed on problem solving methods using good programming practices and algorithm design and development. Topics included are syntax/ semantics, logical, relational and arithmetic operators, decision branching, loops, functions, file I/O, arrays, output formatting, C-strings, and an introduction to Object-Oriented Programming including the development and use of classes. Prerequisite: GFP (IT & Mathematics)


ENG60 / ENG1160- Writing and Research

Academic conventions of writing a research paper. Terminology and concepts of research: research proposal, thesis statement, bibliography, references, literature review, abstract, appendix, footnotes, acknowledgement, and table of content. The process of writing a research paper: formulation of thesis statement; writing a research proposal; follow ordering of table of contents in accordance with academic standards.

Prerequisite: Eng20 / Eng1120

PHIL35 / PHIL1335 - Business Ethics

This course is an examination of the principles of ethics and issues that guide behavior in the world of business.  The topics covered are corporate responsibility, employee rights, and the nature of the free enterprise system, environmental concern and ethical business practices. Prerequisite: None

CS284 / CS3800 - Introduction to Operating Systems

This course teaches the concepts, structure, and mechanisms of Operating Systems. Topics include process management, concurrency, synchronization, deadlock, multithreading, memory management, scheduling, and internetworking. Special emphasis is given to Unix and its modern-day derivatives.

Prerequisite: CS1/CS1010

CS 153/CS 1510 - Date Structures

A continuation of the development of structured programming concepts and their use in program development. Stacks, queues, linked list, arrays, trees, sorting and searching will be taught together with their use in implementations of a number of algorithms. Prerequisite: CS53/CS 1570.


ACC130 / ACC1130– Accounting I

This course presents a comprehensive and practical approach to modern day principles of accounting. It focuses largely on the accounting for external reporting and the generation of financial information necessary for managerial decision making. This course gives students the opportunity to master accounting concepts and provides a firm foundation for further studies. This course introduces students to the conceptual structure of financial accounting in an effort to develop their ability to read, understand and interpret the general purpose of financial statements – [ Income Statement, Position Statement, Statement of Retained Earnings, Cash Flow Statements ] reported to investors and creditors of corporate business entities. Prerequisite: None

CS304 / CS5300 - Database Management

This course introduces the advanced database concepts of normalization and functional dependencies, transaction models, concurrency and locking, timestamping, serializability, recovery techniques, and query planning and optimization. Students will participate in programming projects. Prerequisite: CS1/CS1010

CS 234/CS 2889 - Introduction to Computer Organization and Assembly

A detailed study designed to teach the building blocks of a computer system, assembly language programming and the basic computer organization concepts. Subjects include digital logic, performance issues, machine & assembly language, binary arithmetic, and the structure of an ALU. Prerequisites: CS153/CS1510

CS 263/CS 3600 - Introduction to Computer Security

This course encompasses threats and vulnerabilities, trust and security policies, and enforcement. Specific topics include access control, risk management, systems and applications life cycle, physical security, key management, transmission security, and cryptography. Prerequisite: CS53/CS1570

CS 253/CS 2500 – Algorithms

Students will solve recurrence relations, analyze algorithms for correctness and time/space complexity, apply these analysis techniques to fundamental dynamic programming, greedy, shortest-path, minimal spanning trees, and maximum flow algorithms and validate these analyses through programming.

Prerequisite: CS153/CS1510

CS210 / CS3010 - Seminar

Discussion of current topics.  Prerequisite: 30 Hours Completed


POL90 / SOC1100 – Omani Society

This course is intended to provide the students with an understanding of the Omani Society and provide an overview of the different sectors of Oman, its geography and history, institutions and policies, access to law, values of society and culture. Prerequisite: None

MATH21 / MATH1221 - Calculus with Analytical Geometry – II

A continuation of Math 8; differentiation and integration of elementary transcendental functions, integration techniques, improper integrals, conic sections, polar coordinates, introduction to sequences and series. Prerequisite: MATH 8 / MATH 1208

CS220 / CS2200 - Theory of Computer Science

This course will cover the theoretical underpinnings of computer science. In particular, this course will cover the following topics: basic computability and formal language concepts, regular languages, context free languages, recursively-enumerable languages, and classes P, NP, and NP-completeness. Prerequisite: CS158/CS1200.

CS 285/CS 5600 - Computer Networks

This course focuses on the Internet and the general principles of computer networking. It covers the TCP/IP model from the application layer to the link layer in a top-down approach. It also exposes students to multimedia networking, network security, wireless and mobile networks. It is a networking class targeted for entry-level graduate students. Prerequisite: CS1 / CS1010


MNGT325 / MNGT4325 - Entrepreneurship

This course is interdisciplinary, it is designed to help students unfold and develop their personal attributes required to become a successful entrepreneur through case studies, and creative problem solving. Students will identify, discuss and grow an idea about a business they might start. Prerequisite: ACC130/ACC1130

PHIL 212/PHIL 2001 - Computer Ethics

The course familiarizes the students with the fundamental concepts and principles of Computer Ethics. Topic covered includes the Philosophical Ethics, Professional Ethics, Property Rights of Computer Software, Accountability and Computer and Information Technology, Social implication and Social Values. Prerequisite: None

CS 228/CS 3200 - Introduction to Numerical Methods

Finite difference interpolation, numerical differentiation and integration, linear systems of equations, solution of nonlinear equations, numerical solution of ordinary differential equations, computational techniques and the programming of a large number of problems on digital computers. Prerequisites: MATH21/MATH122

CS 238/CS 2300 - File Structures and Introduction to Database Systems

Course covers major topics in file structures and database systems including techniques for disk access and organization, record and file structures, index structures, sequential file, dense/sparse and secondary indexes, B-trees, range queries, insertion/deletion, hash tables, fundamentals of database systems, the ER model, relational model, algebra and SQL. Prerequisite: CS304/CS5300


CS 272/CS 2501 - Java and Object Oriented Design

This course will cover Basic Java, Applets, Application, Classes, interfaces, Strings, Arrays, Generics, inheritance, Polymorphism, Algorithm and Object Oriented Design, Software Testing, Exception Handling, File I/O. The use of Graphical User Interfaces in program design and introduction to Software Life Cycle. 

Prerequisite: CS53/CS1570

CS 206/CS 3100 - Software Engineering – I

Development of methodologies useful in the software engineering classical life cycle. This includes: requirements, design, implementation, and testing phases. These methodologies are reinforced through utilization of a CASE tool and a group project.

Prerequisite: None

CS 236/CS 3500 - Programming Languages and Translators

Covers basic design of programming languages, compilers and interpreters. The concepts of syntax, variables, expressions, types, scope, functions, procedures, statements, I/O, exception handling and concurrency are introduced. The manner in which various programming languages handle these concepts is discussed. Prerequisite: CS220/CS2200


CS 397/CS 4096 - Capstone: Senior Design

Course will cover issues and problems relating to application and integration of business and management system skills, Group projects will require work as a member of a team, Creative Problem solving and application of business systems principles of real and simulated problems. Prerequisite: Senior Level

CS 308/CS 5102 - Object-Oriented Analysis and Design

This course will explore principles, mechanisms, and methodologies in object-oriented analysis and design. An object-oriented programming language will be used as the vehicle for the exploration. Prerequisite: CS253/CS2500


CS 73/CS 1970 - Basic Scientific Programming

Introduction to the structure of programs and programming techniques in Fortran to solve science and engineering problems. Topics include data representation, basic solutions of numerical problems and the debugging and verification of programs. Prerequisite: None

CS 74/CS 1971 - Introduction to Programming Methodology

Basic structured programming and problem solving techniques using C+ +. Development, debugging, and testing of programs, data representation. Topics to include syntax/semantics, operators, loops, decision branching, arrays, file I/O. Prerequisite: None

CS 1972 - Introduction to MATLAB Programming

Programming design and development using MATLAB for non-CS majors. Strong emphasis placed on algorithmic problem solving methods using good programming practices. Introduction to built-in functions including plotting, as well as logical/relational/arithmetic operators, decision branching, loops, functions, file I/O, datastructures, and output formatting.

Prerequisite: Math3/Math1103 & CS53/CS1570

CS 3601 - Digital Forensics

Planning/managing incidents and response related to digital forensics; identifying, collecting, and preserving digital evidence; live/dead approaches covering systems as a whole emphasizing file system forensics; analysis and interpretation of artifacts culminating in a final project consisting of a collection, analysis, and report; legal and ethical issues.

Prerequisites: CS263/CS 3600

CS 303/CS 4489 - Multimedia Systems

This course introduces the concepts and components of Multimedia information systems. Topics include: Introduction to Multimedia Data, Multimedia Date Compression, Techniques and Standards, Indexing and Retrieval, Data Storage Organization, Communication and Synchronization, Applications-Media-OnDemand Systems, Video Conferencing, Digital Libraries. Prerequisite: CS53/CS1570

CS 365/CS 4600 - Computer Communications and Networks

Network architecture model including physical protocols for data transmission and error detection/correction, data link concepts, LAN protocols, internetworking, reliable end to end service, security, and application services. Students will implement course concepts on an actual computer network.

Prerequisite: CS285/CS5600

CS 265/CS 4601 - Computer Network Concepts and Technology

This course will introduce computer network concepts and will survey the current and evolving technology for the construction, operation, and management of those networks. Both hardware and software issues will be addressed with a focus on local area networks.

Prerequisite: CS285/CS5600

CS 317/CS 4700 - Intellectual Property for Computer Scientists

A presentation of the relationship between the law of intellectual property and computer science. Topics include the application of copyright principles to computer programs, protection of computer programs through patents and trade secret law, and the effect of various agreements which are frequently encountered by the computer scientist.

Prerequisite: Senior Level

CS 302 /CS 5100 - Agile Software Development

Understand principles of agile software development and contrast them with prescriptive processes. Specifically: Eliciting, organizing, and prioritizing requirements; Design processes; Understand how a particular process promotes quality; Estimate costs and measure project progress and productivity. Prerequisite: CS206/CS3100

CS 307/CS 5101 - Software Testing and Quality Assurance

It covers unit testing, subsystem testing, system testing, object-oriented testing, testing specification, test case management, software quality factors and criteria, software quality requirement analysis and specification, software process improvement, and software total quality management. Prerequisite: CS206/CS3100

CS 325/CS 5200 - Analysis of Algorithms

The purpose of this course is to teach the techniques needed to analyze algorithms. The focus of the presentation is on the practical application of these techniques to such as sorting, backtracking, and graph algorithms. Prerequisite: CS253/CS2500

CS 328/CS 5201 - Object-Oriented Numerical Modeling – I

A study of object-oriented modeling of the scientific domain. Techniques and methodologies will be developed enabling the student to build a class library of reusable software appropriate for scientific application. Applications will be drawn from mechanics, finance, and engineering. Prerequisites: CS228 / CS3200

CS 329/CS 5202 - Object-Oriented Numerical Modeling – II

A continued study of object-oriented modeling of the scientific domain. Advanced applications include models posed as balance laws, integral equations, and stochastic simulations.

Prerequisites: CS328/CS5201

CS 354/CS 5203 - Mathematical Logic – I

A mathematical introduction to logic with some applications. Functional and relational languages, satisfaction, soundness and completeness theorems, compactness theorems. Examples from Mathematics, Philosophy, Computer Science, and/or Computer Engineering. Prerequisite: CS158/CS1200

CS 366/CS 5204 - Regression Analysis

Simple linear regression, multiple regression, regression diagnostics, multicollinearity, measures of influence and leverage, model selection techniques, polynomial models, regression with autocorrelated errors, introduction to non-linear regression. Prerequisites: STAT211/STAT3111

CS 347/CS 5400 - Introduction to Artificial Intelligence

A modern introduction to AI, covering important topics of current interest such as search algorithms, heuristics, game trees, knowledge representation, reasoning, computational intelligence, and machine learning. Students will implement course concepts covering selected AI topics.

Prerequisite: CS253/CS2500

CS 348/CS 5401 - Evolutionary Computing

Introduces evolutionary algorithms, a class of stochastic, population-based algorithms inspired by natural evolution theory (e.g., genetic algorithms), capable of solving complex problems for which other techniques fail. Students will implement course concepts, tackling science, engineering and/or business problems. Prerequisite:  CS253/CS2500

CS 5402 - Data Mining & Machine Learning

Classical and modern data mining and machine learning algorithms; data preprocessing/warehousing, mining association rules, classification/ prediction methods, clustering techniques, Bayesian networks; unsupervised/supervised/reinforcement learning, learning decision trees, artificial neural networks, support vector machines, and ensemble learning. Prerequisites: CS238/CS2300

CS 5403 - Introduction to Robotics

This course provides an introduction to robotics, covering robot hardware, fundamental kinematics, trajectories, differential motion, robotic decision making, and an overview of current topics in robotics.

Prerequisite: CS53/CS1570

CS 5404 - Introduction to Computer Vision 

This course introduces foundational theories and analysis methods in computer vision. Topics will include camera model and geometry, description of visual features, shape analysis, stereo reconstruction, motion and video processing, and visual object recognition.

Prerequisite: CS253/CS2500

CS 342/CS 5405 - Java GUI & Visualization

Fundamentals of Java Swing Foundation Classes, Java System Language Specifics, Graphical User Interfaces, Images, Audio, Animation, Networking, and Threading. Visualization of Algorithms. GUI Elements include Event Driven Programming, Interaction with Mouse and KeyBoard, Window Managers, Frames, Panels, Dialog Boxes, Borders.

Prerequisite: CS272/CS2501

CS 358/CS 5406 - Interactive Computer Graphics

Applications and functional capabilities of current computer graphics systems. Interactive graphics programming including windowing, clipping, segmentation, mathematical modeling, two and three dimensional transformations, data structures, perspective views, antialiasing and software design. Prerequisite: CS253/CS2500

CS 356/CS 5500 - The Structure of a Compiler

Review of Backus normal form language descriptors and basic parsing concepts. Polish and matrix notation as intermediate forms, and target code representation. Introduction to the basic building blocks of a compiler: syntax scanning, expression translation, symbol table manipulation, code generation, local optimization, and storage allocation.

Prerequisite: CS236/CS3500 & CS253/CS2500

CS 362/CS 5601 - Security Operations & Program Management

An overview of information security operations, access control, risk management, systems and application life cycle management, physical security, business continuity planning, telecommunications security, disaster recovery, software piracy, investigations, ethics and more. There will be extensive reporting, planning and policy writing. Prerequisite: None

CS 5700 - Bioinformatics

The course will familiarize students with the application of computational methods to biology, as viewed from both perspectives. It will introduce problems in molecular, structural, morphological, and biodiversity informatics, and will discuss principles, algorithms, and software to address them. Prerequisites: CS53/CS1570 & CS74/CS1971

CS 384/CS 5800 - Distributed Operating Systems

This is a study of modern operating systems, particularly distributed operating systems. Topics include a review of network systems and interprocess communication, causality, distributed state maintenance, failure detection, reconfiguration and recovery, load balancing, distributed file systems, distributed mutual exclusion, and stable property detection including deadlock detection. A group project in Distributed Systems programming will be required.

Prerequisite: CS284/CS 3800 & CS253/CS2500

CS 381/CS 5801 - The Structure of Operating System

The hardware and software requirements for operating systems for uniprogramming, multiprogramming, multiprocessing, time sharing, real time and virtual systems. The concepts of supervisors, interrupt handlers, input/output control systems, and memory mapping are discussed in detail. Prerequisite: CS284/CS3800

CS 387/CS 5802 - Introduction to Parallel Programming and Algorithms

Parallel and pipelined algorithms, architectures, network topologies, message passing, process scheduling and synchronization. Parallel programming on clusters. Cost, speedup and efficiency analysis.

Prerequisite: CS284/CS3800 & CS253/CS2500

CS 388/CS 5803 - Introduction to High Performance Computer Architecture

Overviews high performance architecture of computing systems and covers various architectural/hardware and software/algorithmic means that enhance performance. Uniprocessor and concurrent systems are investigated. Various computational models are studied and linked to commercial systems. Prerequisite: CS253/CS2500

CS2001 - Special Topics: Java Programming

To give an explanation in theory and practical to build Object Oriented Programming using modern object oriented programming language   such as Java. Prerequisites: CS53/CS1570

CS 200/IST 2000 - Special Problems: CCNA Discovery – I

This course  introduce the fundamental networking concepts and technologies also provides a hands-on introduction to networking and the Internet using tools and hardware commonly found in the home and small business environment.

Prerequisite: CS1/CS1010

CS 300/IST 3000 - Special Problems: CCNA Discovery – II

The goal of this course is to assist you in developing the skills necessary to provide customer support to users of small-to-medium-sized networks and across a range of applications. The course provides an introduction to routing and remote access, addressing and network services. Prerequisite: CS200/IST2000

STAT 211/STAT 3111 – Statistical Tool for Decision Making

An introduction to statistical techniques commonly used in management decision making. Topics include statistical inference of population parameters, linear regression, basics of experimental design and analysis, analysis of categorical data, and the use of statistical software. Prerequisite: MATH3/MATH1103

MATH 208/MATH 3108 - Linear Algebra I

Systems of linear equations, matrices, vector spaces, inner products, linear transformations, determinants, and eigenvalues are studied. Prerequisite: MATH3/MATH1103

MATH 22/MATH 2222 - Calculus with Analytic Geometry –III

An introduction to multivariable calculus. Vector valued functions, curves and surfaces in two and three dimensions, partial differentiation, multiple integration, line and surface integrals, the major theorems of vector calculus, and applications of these ideas are studied. Prerequisite: MATH21/MATH1221

Fin250/Fin2150 Corporate Finance

Corporate Finance is concerned with the way companies handle their own financial affairs. Measuring and controlling risk are the core themes of mastering finance. The chief chapters of this course include Risk and Portfolio Diversification Capitals Structure Planning and Dividend decisions. Prerequisites: Acc130/Acc1130

BUS110/BUS 1110 Introduction to Management and Entrepreneurship

The course provides an introduction to the basic concepts of management and entrepreneurship to provide an awareness of what functions and challenges are faced by managers and entrepreneurs in today's global environment. Applications of the concepts to the organization, operations, and resources are discussed.

Prerequisite: None

ECON121/ECON 1100 Principles of Microeconomics

An examination of how resources and products are priced and how income is distributed within various types of market structures. Prerequisites: None

ART80/ART1180- Art Appreciation

This course will provide essential knowledge in various art forms starting from Stone age and experiencing the techniques of modern art schools. The course will develop critical understanding of paintings, sculptures and other art forms. Participants will be exposed to various artists of different period and will be expected to perform a research on those artist and their unique techniques. Prerequisites: None.