YEAR 1, SEMESTER 1
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
YEAR 1, SEMESTER 2
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.
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.
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)
YEAR 2, SEMESTER 1
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.
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.
YEAR 2, SEMESTER 2
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.
CS210 / CS3010 - Seminar
Discussion of current topics. Prerequisite: 30 Hours Completed
YEAR 3, SEMESTER 1
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
YEAR 3, SEMESTER 2
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
YEAR 4, SEMESTER 1
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.
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.
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
YEAR 4, SEMESTER 2
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.