COMP2101 Introduction to Computer Science
4 Credit Hours Prerequisite: (FPCS0101, FPEL0560) or (FPCS0102, FPEL0560) or (FPCS0101, FPEL0600) or
(FPCS0102, FPEL0600) or (FPCS0101, FPEL0601) or (FPCS0102, FPEL0601) or
(FPCS0101, FPEL0602) or (FPCS0102, FPEL0602)
This course introduces some fundamental topics in computer science. This includes numbering systems, data representation, problem solving and algorithm design. Furthermore, the course includes the study and practice of basic programing concepts such as data types, variables, arrays, selection, repetition, data files and functions.
COMP2102 Problem Solving and Programming
3 Credit Hours Prerequisite: COMP2101
This course is emphasizing problem solving techniques and computer programming. The course topics include problem solving, problem decomposition and modularity, composite data types, pointers and dynamic memory allocation to object-oriented programming.
COMP2105 Introduction to Problem Solving with Visual Basic
3 Credit Hours Prerequisite: COMP2101
This course provides the necessary intermediate-level programming skills and knowledge for developing windows–based applications using Visual Basic programming environment. Students will learn how-to write event-driven programs, create stand-alone applications, and build effective user interfaces.
COMP2202 Fundamentals of Object Oriented Programming
3 Credit Hours Prerequisite: COMP2101
This course introduces the concepts of object-oriented programming (OOP) and object-oriented design (OOD). The course addresses the following topics: Abstract data types (ADTs), classes, objects, inheritance, polymorphism, exceptions, and memory allocation. On completion of this course students should be familiar with OOP principles and be able to implement them using an object oriented programming language.
COMP2206 Introduction to Java
3 Credit Hours Prerequisite: COMP2202
This course aims at introducing the students to the wonderful world of Java programming. The basic structures of the language will be introduced first, then more advanced features related to GUI design, exception handling, File processing, and 2D Graphics, will be discussed. On completion of this course, students should be able to design and develop general-purpose Java applications.
COMP3203 Introduction to Data Structures & Algorithms
3 Credit Hours Prerequisite: COMP2202 and MATH3340 and LANC2058
This course introduces the basic data structures, and algorithms for processing data. It emphasizes how to specify, use, and implement Abstract Data Types (ADT). The course also covers algorithm complexity analysis techniques. Topics covered include ADTs (e.g. lists, stacks, queues, trees, hash tables), and basic sorting, and searching algorithms.
COMP3204 Advanced Java Programming
3 Credit Hours Prerequisite: COMP2202 and LANC2058
This course exposes the student to advanced features of Java language such as: advanced Graphical User Interface (GUI) components, 2D/3D graphics, multimedia programming, multithreading, network programming, Java database connectivity, Java structures and collections, servlets and Java beans.
COMP3205 Database Systems
3 Credit Hours Prerequisite: COMP3203 and LANC2058
This course introduces fundamental concepts of database systems, namely structural and functional architectures, data modeling, entity-relationship model, relational model, normalization, database query languages (relational algebra, relational calculus, SQL), physical data storage (file structures and organizations, and indexing), and an introduction to the functionality of database management systems such as transaction management.
COMP3302 Introduction to Multimedia
3 Credit Hours Prerequisite: COMP2202
This course aims at introducing the history, theory, and development of multimedia systems. It provides an introduction to multimedia authoring tools and integrated interface design. It also describes the digital representation of multimedia elements and multimedia compression techniques and standards.
COMP3401 Introduction to Software Engineering
4 Credit Hours Prerequisite: COMP3203
This is an introductory course to the field of software engineering. It presents the basic principles and concepts of software engineering giving a firm foundation for further course work in the field and computers in general. It gives broad coverage of the most important terminology and concepts in software engineering. Upon completing this course, students will be able to do basic modeling and design, particularly using UML. They will also have a basic understanding of requirements, software architecture, and testing.
COMP3501 Computer Organization and Assembly Language
3 Credit Hours Prerequisite: COMP2101 and ECCE3206 and LANC2058
The objective of the course is to introduce the students to the fundamentals of computer organization and assembly language programming. The course topics include data representations, instruction set architectures, assembly language programming, memory hierarchy, cache memory, virtual memory, input/output and storage systems, and introduction to parallel architectures. Students will practice assembly language programming of a selected architecture.
COMP3502 Computer Networks
3 Credit Hours Prerequisite: COMP3203
The course aims to expose students to general aspects of computer networks such as networks hardware, networks performance evaluation, and communication protocols including: physical and data link layer, medium access control, routing, TCP/UDP, and the implementation of networking applications.
COMP3600 Intelligent Systems
3 Credit Hours Prerequisite: COMP3203 and LANC2058
This course introduces students to basic principles, techniques and algorithms for implementing intelligent systems. It covers the key ideas and principles that drive the practice and advancement of Artificial Intelligence, namely, agents and environment, search, knowledge representation, reasoning and learning.
COMP3601 Bioinformatics Algorithms
3 Credit Hours Prerequisite: BIOL2101 and COMP2101
This course introduces key bioinformatics concepts and their related computational techniques. A hands-on approach is adopted to discuss the underlying algorithms currently used to analyze biological data. Major topics covered include, Gene and Protein Alignments, Sequence Assembly, Gene Prediction, Structure prediction, Molecular Evolution and Gene Expressions. This course is recommended for students from both Biology and Computer Science majors.
COMP3602 Data Analysis and Visualization with Python
3 Credit Hours Prerequisite: COMP2101
The course introduces students to manipulating, processing, cleaning, and crunching data in Python. Students will be exposed to Python libraries needed to effectively solve a broad set of data analysis problems such as NumPy, Pandas, and Matplotlib. It includes practical case studies that show students how to solve a broad set of data analysis problems effectively. This course is ideal for data analysts new to Python and for Python programmers new to data science and scientific computing.
COMP3603 Programming Fundamentals for Machine Learning
3 Credit Hours Prerequisite: COMP2101
This course covers the fundamental programming elements necessary for machine learning. It presents topics on data structures and algorithms, computational thinking, programming and problem solving, efficiency and complexity of algorithms. It aims to acquire skills in algorithmic and programming by solving mathematical problems related to machine learning.
COMP3700 Introduction to Web Computing
3 Credit Hours Prerequisite: COMP2202 and LANC2058
This course introduces the Internet, WWW, protocols and architectures of Web applications, Web browsers, Web servers, tools to develop applications running on the client side (e.g. XHTML, CSS, HTML5, JavaScript, Dynamic HTML), tools to develop applications running on the server side (e.g. PHP) and understanding the functionalities and roles these tools have in developing Web applications.
COMP4100 Ethics and Skills for Computing Professionals
2 Credit Hours Prerequisite: COMP3401
This course has two parts. The first part provides theoretical backgrounds about the social, ethical, legal, technical and professional issues encountered in the information age including the historical and social context, intellectual property, computer crimes, risks and liabilities, and professional responsibilities. The second part of this course provides students with the technical communication skills and research methodologies. It aims to help students learning how to read, analyze, write and present technical documents related computer science.
COMP4202 Database Development
3 Credit Hours Prerequisite: COMP3205
The main objective of this course is to introduce the environment of database developing tools/packages such as Oracle, and use it towards implementing real life database applications. Emphasis is centered on providing students with skills needed to design, develop and maintain database applications using Structured Query Language (SQL), programming languages that hosts SQL such as PL/SQL, and tools such as SQL Plus or SQL Developer, Forms and Reports.
COMP4204 Advanced Data Structures & Algorithms
3 Credit Hours Prerequisite: COMP3203
This course provides a study of advanced data structures and algorithms for solving a number of fundamental computing problems. It includes coverage of advanced methods and techniques for designing algorithms using appropriate data structures and analyzing their efficiency.
COMP4205 Competitive Programming
3 Credit Hours Prerequisite: COMP3203
This course introduces the students to the concepts and techniques used in the competitive programming environments. The course aims to strengthen the students’ abilities to analyze problems effectively, design and implement solutions with the available computing resources, and employ data-structures and algorithms learned from previous courses to produce efficiently powerful solutions for real-life problems. In particular, the course emphasizes, using a hands-on approach, the understanding of basic mathematics, data-structures, dynamic programming, graphs algorithms, search algorithms, string manipulation algorithms, and computational geometry.
COMP4206 Mobile Application Programming
3 Credit Hours Prerequisite: COMP3203
As mobile devices are becoming more ubiquitous, developers are now devoting significant effort to build applications for these smartphone and tablet devices. This course examines the principles of mobile application design and development. Topics will include introduction to mobile computing, existing approaches and available technologies, mobile application development architectures (MVC), user interface design and building, input methods, data handling, messaging, network techniques, location-based services, content providers and security issues in mobile applications.
COMP4212 Introduction to Information Retrieval
3 Credit Hours Prerequisite: COMP3203
This course addresses aspects of the automatic collection, retrieval, matching, ranking, and presentation of machine-readable information resources ("Information Retrieval" or IR). Students study the techniques most commonly associated with full text retrieval and search engine design by examining retrieval models, text analysis, and text and multimedia languages and properties. In addition, students review indexing and searching techniques, user interface designs, relevance feedback, evaluation, and developing techniques, such as information visualization.
COMP4300 Computer Graphics I
3 Credit Hours Prerequisite: COMP3203 and MATH2202
Computer Graphics1 introduces the basic principles and techniques of Computer Graphics. The primary goal is to introduce many important data structures and algorithms that are useful for creating pictures on a computer. Emphasis is on the development of practical skills in using graphics libraries and tools. The objective is to provide students with sufficient background to write substantial computer graphics applications. Areas covered include graphics displays, transformations (viewing and projection)
COMP4402 Software Testing
3 Credit Hours Prerequisite: COMP3401
This course will address topics in software testing. It addresses issues related to whether the system is correct (with respect to some specification), and the question whether the right system was built, also a depth study of strategies and techniques used in software testing. Topics included are introduction to software testing, role of testing in SDLC, software testing standards and metrics, testing levels, testing types, test management, testing tools and testing object oriented software.
COMP4404 Software Project Management
3 Credit Hours Prerequisite: COMP3401
This course covers basics of software project managements including: project planning, program management and project evaluation, Selection of an appropriate project approach, Software effort estimation, Activity planning, Risk management, Resource allocation, Monitoring and control, contracts, Managing people and organizing teams, Software quality, Agile Method.
COMP4445 Summer Training
0 Credit Hours Prerequisite: COMP4100 + Completion of 80 credits
The student is expected to undertake a department approved practical training on an IT-related topic in a government or private institution in Oman. The training will take place during the normal summer teaching period. A training supervisor from the institution should be assigned. The student is expected to submit a report and the supervisor is expected to submit a statement of student performance.
COMP4471 Computational Methods I
3 Credit Hours Prerequisite: MATH2108 and MATH2202 and COMP2101
This is the first course to expose the students to numerical techniques and their implementation on a computer for solving mathematical problems. The aspects of analysis of the techniques and errors due to computations are emphasized. The topics covered include errors and approximation, roots of equations, linear systems of algebraic equations, curve fitting, numerical differentiation and integration, Runge-Kutta methods.
COMP4501 Fundamentals of Operating Systems
3 Credit Hours Prerequisite: COMP3203 and COMP3501
Study of the fundamental operating systems concepts including, classification of operating systems, operating systems structures, processes, process synchronization, deadlock, CPU scheduling, memory management, I/O systems, and OS security. The course includes a practical project for implementing a prototype for a major component of an operating system. A modern operating system will be used for a case study.
COMP4505 Parallel Computing
3 Credit Hours Prerequisite: COMP3203
This course introduces parallel computing models and architectures. It also teaches how to design and analyze the complexity of parallel algorithms and how to develop parallel programs and evaluate their performance.
COMP4506 Systems and Networks Programming
3 Credit Hours Prerequisite: COMP3502 and COMP4501
This course aims to provide understanding and practice in writing system programs and shell scripts, manipulating system calls, programming tools, system processes and threads, system I/O, system permissions, files, directories and inter-process communication and multithreading.
COMP4507 Internetworking with TCP/IP
3 Credit Hours Prerequisite: COMP3502
This course gives an in-depth coverage of the Internet architecture, internet protocols, routing, and router design. It discusses various Internet technologies, including IPv6, IP Mobility, Multiprotocol Label Switching (MPLS), Virtual Private Networks (VPNs) and Network Address Translation (NAT). It also covers new technologies such as Internet of Things (IoT).
COMP4509 Introduction to Computer Security
3 Credit Hours Prerequisite: COMP3502, COMP4501
This course provides an introduction to security and privacy issues in various aspects of computing, including programs, operating systems, networks, databases, and Internet applications. It examines causes of security and privacy breaches, and gives methods to help prevent them.
COMP4515 Mobile Networks
3 Credit Hours Prerequisite: COMP3502
The course introduces wireless and mobile networks. Topics include wireless communication fundamentals, medium access control protocols and standards, cellular networks, wireless Internet, 4G systems, pervasive networking, Ad-Hoc networks, sensor networks.
COMP4603 Machine Learning
3 Credit Hours Prerequisite: (MATH2202 or MATH2203) & (COMP3203 or COMP3603)
This course provides a broad introduction to machine learning. Machine learning is the science of getting computers to act without being explicitly programmed. Students will not only learn about the theoretical underpinnings of learning, but also will gain the practical knowledge needed to apply these techniques to solve new problems. Topics include: supervised learning, unsupervised learning, learning theory, reinforcement learning and adaptive control. The course will also discuss recent applications of machine learning, such as robotic control, data mining, autonomous navigation, bioinformatics, speech recognition, and text and web data processing.
COMP4604 Digital Image Processing
3 Credit Hours Prerequisite: COMP3600
This course provides a foundation for understanding and implementing most commonly used image processing algorithms. It covers different aspects of the discipline such as digital image fundamentals, transformation, enhancement, restoration, segmentation, and interpretation. To ensure fast and reliable implementation of the underlying algorithms, a software tool that provides a rich image processing library is used as a development tool.
COMP4605 Computer Vision
3 Credit Hours Prerequisite: COMP3600
This course focuses on designing and implementing computer programs for automating image and video understanding tasks. The course introduces students to image analysis and understanding tools that allow them to solve several practical problems such as inspection, detection, tracking and recognition. In order to experiment the effectiveness of implemented solutions, the students will be introduced to a specialized development environment (such as MATLAB and OpenCV).
COMP4606 Applied Data Science
3 Credit Hours Prerequisite: COMP4603
This course provides a foundation in the area of data science based on data curation and statistical analysis. Students will learn concepts, techniques and tools they need to deal with various facets of data science practice, including data collection and integration, exploratory data analysis, predictive modeling, descriptive modeling, data product creation, evaluation, and effective communication.
COMP4609 Deep Learning Fundamentals
3 Credit Hours Prerequisite: COMP4603
This course is an introduction to Deep Learning, a branch of machine learning particularly suitable for machine translation, speech recognition, visual object identification, object detection and many other domains such as drug discovery, and genetics. Deep learning methods build representations from raw data through the use of multiple layered neural networks. In this course we cover topics from basic neural networks, convolutional and recurrent network structures, deep unsupervised and reinforcement learning, and applications to various Artificial Intelligence tasks.
COMP4701 Web Application Development
3 Credit Hours Prerequisite: COMP3205 and COMP3700
This course introduces Web application concepts, architectures and models. It discusses the main building blocks (structure, navigation, and presentation), and Web application architectures such as .Net framework and J2EE Framework. It discusses the main Web architectural design patterns such as Multilayer and Model-View-Controller (MVC). It emphasizes on generating dynamic Web contents using advanced server-side programming techniques and tools, database connectivity and Web security. It provides an overview about advanced Web application techniques such as AJAX and Web Services.
COMP5101 Comparative Programming Languages
3 Credit Hours Prerequisite: COMP3203 and COMP3501
The main goal is to provide the students with the tools necessary for the critical evaluation of current programming languages. The course describes major programming language constructs, discuss their design and implementation issues, for a variety of programming languages.
COMP5204 Computer Science Special Topics I
3 Credit Hours Prerequisite:
This undergraduate course is intended to expose students to topics of current interest in computer science which are not covered in other courses. The topics covered will be approved by the Department board and will depend on the specialty of the available faculty.
COMP5400 Software Architecture and Design
3 Credit Hours Prerequisite: COMP3401
The course presents an introduction to the fundamentals of Software Architecture and design concepts. Topics covered include: Relationship between software requirements and Architecture, Design patterns, Architecture Design Space, Techniques and tools for describing Software Architecture, Major software architectural styles, such as (Layered, MVC, Distributed)-architecture. Students participate in group projects on software architecture and design.
COMP5402 Requirements Engineering
3 Credit Hours Prerequisite: COMP3401
The course focuses on the theory and practice of requirement engineering (RE). It presents a set of models, processes, techniques, best practices, and tools to define and validate functional and non-functional requirements of large-scale software systems. It focuses on both object-oriented and goal-oriented requirement engineering.
COMP5405 Software Patterns
3 Credit Hours Prerequisite: COMP3401
The course introduces the Software Patterns, and explores the wide variety of patterns that may be applied to the production and maintenance of software. Topics covered include: Design Patterns, Refactoring Patterns, Analysis Patterns, Architectural Patterns and Anti-patterns. Students participate in-group projects on Software Patterns.
COMP5490 Project in Web and Software Development
3 Credit Hours Prerequisite: COMP4100 + three courses from the Web Development
and Software Engineering Specialization Requirements
This course provides the students in the Web and Software Development specialization with an opportunity to demonstrate what they have learned during their study. It provides students with a platform to create an application/research work that employs and integrates knowledge, skills and experiences gained during the learning process. In addition, it provides students with opportunities to enhance some skills such as working in teams, collecting requirements, developing solutions and building software for real world applications. Students are also exposed to writing scientific reports and making oral presentations.
COMP5505 Distributed Systems and Cloud Computing
3 Credit Hours Prerequisite: COMP4506
This course introduces students to key principles and techniques underlying the development of distributed computing systems. Topics include inter-process communication, remote invocation, distributed naming, distributed file systems, security, distributed clocks, process coordination, concurrency control, replication and fault-tolerance. Examples of systems discussed include cloud computing, grid computing, storage systems, peer-to-peer networks and Web services.
COMP5507 Cryptography and Network Security
3 Credit Hours Prerequisite: COMP3203 and COMP3502
This course focuses on the essentials of Network Security. Topics include Security Models and requirements, Symmetric Key and message confidentiality, Public Key Cryptography and Message Authentication, Key Managements, Electronic Mail Security such as PGP protocol, IP Security, Web and e-commerce Security, Firewalls, and Malicious Software.
COMP5508 Interconnection Networks for Multiprocessor and Multicore Systems
3 Credit Hours Prerequisite: COMP3502
This course will explore the architecture and design of interconnection networks including topology, routing, flow control and router micro-architecture. This course will focus on interconnection network architectures used in multiprocessor systems and multicore designs with emphasis on recent research innovations in these areas.
COMP5509 Penetration Testing and Ethical Hacking
3 Credit Hours Prerequisite: COMP4509
Introduction to the principles and techniques associated with the cyber security practice known as penetration testing and ethical hacking. The course covers planning, reconnaissance, scanning, exploitation, post-exploitation, and result reporting. The student discovers how system vulnerabilities can be exploited and learns to avoid such problems. Topics included are network and system attacks, operating systems foot-printing, port scanning, embedded operating systems attacks, Web server hacking, wireless networks vulnerabilities, firewalls and intrusion detection systems.
COMP5511 Computer Forensics
3 Credit Hours Prerequisite: COMP4509
This course discusses the techniques and practices for gathering and analyzing evidences used to solve crimes involving computers. It includes topics related to Data Acquisition, Processing Crime and Incident Scenes, Current Computer Forensics Tools, Windows, Macintosh and Linux Boot Processes and File Systems, Recovering Graphics Files, Email Investigations, Cell Phone and Mobile Device Forensics, Report Writing for High Tech Investigations.
COMP5521 Finite Automata and Formal Languages
3 Credit Hours Prerequisite: MATH3340
This course introduces finite automata, formal languages regular expressions and context free grammars. The parsing problem is discussed using push down automata. Turing machines and the halting problem are covered.
COMP5522 Compiler Construction
3 Credit Hours Prerequisite: COMP5521 and COMP3501
This is a course for Computer Science majors who would like to learn more about the compilation process. Design of a Lexical Analyzer, symbol and type table generation, storage allocation and code generation are covered. The student is required to write a small compiler.
COMP5557 High Performance Computing
3 Credit Hours Prerequisite: COMP3502 and COMP4501
This course exposes the student to the theory and practice of high performance computing with a focus on current systems, architectures, programming models, languages and software tools. Topics include contemporary architectures, interconnection topologies, shared memory and message-passing systems, multi-threaded kernels, methods for data and workload partitioning and performance profiling.
COMP5590 Project in Cybersecurity and Computing Infrastructure
3 Credit Hours Prerequisite: COMP4100 + three courses from the Cybersecurity and
Computing Infrastructure Specialization Requirements
This course provides the students in the Cybersecurity and Computing Infrastructure specialization with an opportunity to demonstrate what they have learned during their study. It provides students with a platform to create an application/research work that employs and integrates knowledge, skills and experiences gained during the learning process. In addition, it provides students with opportunities to enhance some skills such as working in teams, collecting requirements, developing solutions and building software for real world applications. Students are also exposed to writing scientific reports and making oral presentations.
COMP5591 Internship in Computer Science I
3 Credit Hours Prerequisite: COMP4100
Part one of a two-semester industrial internship. Internship courses offer students the opportunity to gain working experience in an organization, as well as to explore future employment opportunities. Acceptance into this internship is via a competitive selection process. The number of available seats is determined by the hosting companies. Internal regulations apply.
COMP5592 Internship in Computer Science II
3 Credit Hours Prerequisite: COMP5591
Part two of a two-semester industrial internship. Internship courses offer students the opportunity to gain working experience in an organization, as well as to explore future employment opportunities. Students must have successfully passed part one of the internship. Internal regulations apply.
COMP5602 Pattern Recognition and Analysis
3 Credit Hours Prerequisite: COMP4605 and MATH2202
Pattern recognition techniques are used to design automatic algorithms to recognize and categorize real-world objects into meaningful classes. This course covers several techniques and statistical pattern recognition algorithms. Topics including Bayesian Decision, Linear Discrimination Functions, Nonparametric Techniques, and Clustering Algorithms etc. will be presented.
COMP5605 Mobile Robotics
3 Credit Hours Prerequisite: COMP3600 and MATH2108
This course provides the basic concepts and algorithms required to develop mobile robots that move in effective, safe, and predictable ways in complex environments. The course covers the basics of mobile robots control, kinematic theory, navigation, localization and perception. The course will consolidate the understanding of theoretical concepts through practical hands-on activities related to robot programming and deployment.
COMP5606 Natural Language Processing
3 Credit Hours Prerequisite: COMP3600
This course is an introduction to the field of Natural Language Processing (NLP). Students will learn (NLP) basics with an emphasis on practical NLP such as how to identify and separate words, how to extract topics in a text, and how to build their own fake news classifier. They also learn how to use basic libraries such as nltk, alongside libraries, which utilize learning to solve common NLP problems. This course will give students the foundation to process and parse text using a generic programming language such as Python together with an open source library such as the Natural Language Toolkit.
COMP5900 Project in Computer Science
3 Credit Hours Prerequisite: COMP4100
This course provides students with opportunities to enhance skills that may not be easy to acquire in the traditional classroom setting, such as working in teams, interacting with users, collecting requirements, developing solutions and building software for real world applications. Students are also exposed to write scientific reports and make oral presentations.
COMP5690 Project in Intelligent Systems and Data Science
3 Credit Hours Prerequisite: COMP4100 + three courses from the Intelligent Systems
and Data Science Specialization Requirements
This course provides the students in the Intelligent Systems and Data Science specialization with an opportunity to demonstrate what they have learned during their study. It provides students with a platform to create an application/research work that employs and integrates knowledge, skills and experiences gained during the learning process. In addition, it provides students with opportunities to enhance some skills such as working in teams, collecting requirements, developing solutions and building software for real world applications. Students are also exposed to writing scientific reports and making oral presentations.
COMP5701 Web Services
3 Credit Hours Prerequisite: COMP3401 and COMP3700
This course introduces the concept of Web services as fundamental building blocks of the service-oriented computing (SOC). First, it introduces the concepts related to distributed applications such as client-server, RPC, proxy (client stub and servant skeleton). Then, it details the Web services stack and its underlying technology: XML, SOAP, WSDL, UDDI, and BPEL. Finally, it comes to Web services design and development, Web services implementation and deployment with tools such as Axis, and Web services management.
COMP5702 Semantic Web
3 Credit Hours Prerequisite: COMP4701
The course covers the core concepts of the semantic Web to process Web information. It covers the semantic Web vision, the description of structured Web documents with XML, the description of Web resources in the Resource Description Framework (RDF), Web Ontology Languages (OWL), the logic and inference rules, and ontology engineering processes. It also introduces some applications of the semantic Web such as data integration, e-commerce, and Web services. The students will gain practical experience in semantic Web languages: XML, SPARQL and OWL.
COMP5704 Web Data Mining and Knowledge Discovery
3 Credit Hours Prerequisite: COMP4701 and STAT2102
Web data mining aims to discover useful knowledge from massive data sources that are available on the World Wide Web. The course discusses the fundamental methods and concepts of Web data mining with a balance on theory and practice, applications, and survey of techniques and models. It provides the fundamental algorithms and techniques that are widely used in data mining and machine learning in general. Then, it emphasizes the Web mining techniques and applications including Web content mining, Web linkage mining and Web usage mining.
Other courses:
ARAB1060 Arabic
2 Credit Hours Prerequisite:
This course is based on the study and analysis of a number of different poetic and prose texts in the various religious, national, scientific, legal, economic, linguistic, etc. fields identified in the approved university textbook. The course involves the study of the fundamentals of Arabic language in a manner that helps to understand and absorb texts, describe their aesthetic and critical properties, analyze linguistic structures- in form and composition, significance and style- to identify the most prominent linguistic and rhetorical styles along with knowledge of some morphological, grammatical and rhetorical aspects and written techniques (spelling and punctuation). The course aims to train students to deal with the texts and exercises contained in the approved textbook.
BIOL2101 General Biology (1)
3 Credit Hours Prerequisite: FPEL0560 or FPEL0600 or FPEL0601 or FPEL0602 or
FPEL0603 or FPEL0604
This is the first of a two-semester course in foundation biology. Lecture topics include a view of science, biology and society; the diversity of life; cell biology; genetics and inheritance; biotechnology and environmental biology. Lab work is designed to expose students to the practical aspects of these subjects.
CHEM2101 General Chemistry (1)
3 Credit Hours
Prerequisite: (FPEL0560, FPMT0105 or FPMT0108) or (FPEL0560, FPMT0109) or (FPEL0600, FPMT0105 or FPMT0108) or (FPEL0600, FPMT0109) or (FPEL0601, FPMT0105 or FPMT0108) or (FPEL0601, FPMT0109) or (FPEL0602, FPMT0105 or FPMT0108) or (FPEL0602, FPMT0109) or (FPEL0603, FPMT0)
This is the first of two general chemistry courses. It introduces the basic principles of chemistry and shows students how chemists describe matter. It revolves around bonding, the most central concept in chemistry. Material covered includes introduction to chemical calculations, stoichiometry and simple reactions, gases, thermochemistry, atomic structure, the periodic table, types of bonding, liquids and solids.
ECCE3206 Digital Logic Design
3 Credit Hours Prerequisite: -
This is an introductory course (3 credit-hours) in logic and digital design. Course topics cover number systems, Boolean algebra and logic gates, simplification of Boolean functions, combinational logic design, MSI and PLD components, sequential logic design, registers, counters, and the memory unit.
ERSC2101 Introduction to Geology (1)
3 Credit Hours Prerequisite: FPEL0560 or FPEL0600 or FPEL0601 or FPEL0602 or
FPEL0603 or FPEL0604
Using a plate tectonic framework, the course focuses on understanding primary and secondary geologic structures, identifying common rocks, mineral and geomorphological features and understanding how they form. Topics of environment concern are also introduced. Labs focus on constructing and interpreting geologic maps and cross sections, and identifying rocks and minerals in hand specimen.
HIST1010 Oman & Islamic Civilization
2 Credit Hours Prerequisite: -
This course is a comprehensive survey of the role of Oman in Islamic civilization including an historical and geographical introduction to Oman before Islam; the efforts of the Omanis in spreading Islam; study of aspects of Islamic civilization, and Oman's role.
ISLM1010 Islamic Culture
2 Credit Hours Prerequisite: -
This course aims at teaching students the main constituents of Islamic Culture. The course studies the concept of Islamic culture, its sources, characteristics and constituents. Moreover, it focuses on God, the Universe, human being, life... etc.
LANC2058 Communication in Science
3 Credit Hours Prerequisite: FPEL0560 or FPEL0600 or FPEL0601 or FPEL0602 or
FPEL0603 or FPEL0604
This is a content based course intended to develop critical thinking, collaborative, innovative, and analytical skills which will enhance the overall communication in the English language required for success in the 21st century real world.. Using general science texts for content value, activities are designed to improve the students' ability to read, understand, comprehend, and interpret texts of scientific nature. This content based course is integrated with a Problem Based Learning (PBL) component in which students are expected to solve an ill structured scientific problem and produce a poster, give a presentation and write a reflective paper.
MATH2107 Calculus I
3 Credit Hours Prerequisite: (FPEL0560 or FPEL0600 or FPEL0601 or FPEL0602 or FPEL0603 or FPEL0604) and (FPMT0105 or FPMT0108 or FPMT0109)
This is the first standard Calculus course of three. It presents practical and theoretical aspects related to: Limits and continuity, derivatives, functions (logarithmic, exponential, trigonometric, hyperbolic) and integration .The course introduces Computer Algebra Systems CAS and their uses to the students.
MATH2108 Calculus II
3 Credit Hours Prerequisite: MATH2107
This is a standard second calculus course from a sequence of three. It studies some applications of integration such as calculating areas, volumes, length of curves: the techniques of integration of different functions, proper, and improper integrals. The course also deals with Maclaurin & Taylor polynomial expansions, sequences, series and their convergences as well as differentiating and integrating power series. Some introduction to analytic geometry in calculus is also given.
MATH2202 Linear Algebra I
3 Credit Hours Prerequisite: FPMT0105 or FPMT0108 or FPMT0109
This is the first Linear Algebra course from a sequence of two offered to students in the colleges of Education and Science. The topics to covered are: linear systems, linear transformations, matrices, determinants, vector spaces, eigenvalues, eigenvectors and diagonalizations, matrices, determinants, vector spaces, eigenvalues, eigenvectors and diagonalization.
MATH3340 Discrete Mathematics for Computer Science
3 Credit Hours Prerequisite: MATH2107 and COMP2101 and LANC2058
This course on Discrete Mathematics with applications is for computer science students. Topics include: logic, sets, functions, mathematical reasoning, relations, graphs, trees and languages and grammars.
PHYS2101 General Physics I
4 Credit Hours Prerequisite: (FPEL0560 or FPEL0600 or FPEL0601 or FPEL0602 or
FPEL0603 or FPEL0604) and (FPMT0105 or FPMT0108 or FPMT0109)
To develop a sound understanding of the basic physical principles underlying natural phenomena related to translational motion, rotational motion, statics, elasticity and fluids using elementary mathematical tools and experimental techniques. The emphasis is on developing an intuition for the behavior of physical systems and problem solving.
STAT2101 Introduction to Statistics
4 Credit Hours Prerequisite: (FPEL0560 or FPEL0600 or FPEL0601 or FPEL0602 or
FPEL0603 or FPEL0604) and (FPMT0105 or FPMT0108 or FPMT0109)
This is the first course in statistics. It introduces the students to the subject in a way that gives them a feel for the subject area. Topics covered include graphical representation of data; measures of central tendency and variability; concepts of point and interval estimation, hypothesis testing, regression, and correlation.
STAT2102 Introduction to Probability
3 Credit Hours Prerequisite: STAT2101
This course introduces the students to concepts and definitions of probability and probability distributions needed for the development of statistical techniques in following statistics courses. Topics covered include random experiments; random variables; counting theorems; axioms of probability; conditional probability and independence; standard discrete distributions; standard continuous distributions; bivariate distributions; independence, covariance and correlation; the distribution of functions of random variables.
SOCY1005 Oman: State and People
2 Credit Hour Prerequisite:
The aim of the proposed course is to enhance students' awareness of identity, values of the Omani society, and to help students understand the role played by heritage, historical, demographic, cultural, and institutional variables in shaping and characterizing the Omani identity. The course also aims to shed light on the State's administrative system and the foundations of the Omani Renaissance and its indicators based on the thought of His Majesty Sultan Qaboos bin Said and his distinctive approach in building the nation and people. The course also aims to promote the values of belonging, loyalty and citizenship, and to shed light on the Sultanate's relations with its Gulf, Arab, regional and international communities, with a focus on understanding aspects of international treaties.