Related Documents:Contract SheetCourse DescriptionStudy Plan
General Education Electives
ADM 120 - Microeconomics (3 Credits)
An overview of the modern market economy as a system for dealing with the problem of scarcity. Operation and decision-making of economic units; supply, demand and resource allocation; analysis of various market and industry structures; shortages, controls, social costs and benefits; international trade; comparative systems.
ADM 115 - Introduction to Law and Constitutional Law (3 Credits)
LIT 150 - Introduction to Political Science (3 Credits)
تبحث هذه المادة في عوامل الصراع السياسي بشتى أنواع. كما وتتطق إلى أطر وسائل الكفاح وذلك ربطاً بطبقية الأنظمة السياسية الحاكمة. وتركز على عوامل الصراع التالية: العامل الديمغرافي، الجغرافي، الاقتصادي، الثقافي، النفسي. وبخصوص أطر الكفاح فيتم التركيز على الكفاح السلمي والحربي.
LIT 160 - Introductory Islamic Economy (3 Credits)
CSC304 - Artificial Intelligence (3 Credits)
STAT203 - Data Analysis (4 Credits)
CSC305 - Networking (3 Credits)
This course will introduce networking technologies and their implementation. Topics include the OSI reference model, network protocols, transmission media, networking hardware and software.Using a top-down approach, this course presents this highly technical subject. The "top-down" approach allows instructors to cover the material in one course, rather than having separate courses on data communications and networking.
CSC307 - System Analysis and Design (3 Credits)
This course provides an understanding of the system development process which links user requirements to the computer based system. This course emphasizes problem formulating and problem solving.Students will learn how to analyze a problem domain and develop the appropriate analysis and design models to formalize the requirements using object-oriented methods and appropriate theory.
CSC390 - Graduation Project (2 Credits)
This course is designed as a practicum for computer science students who are expected to work in teams of 2-4 on projects chosen by faculty members. Teams will work closely with their faculty mentor in order to complete the project in a timely manner.
PHY101 - General Physics (3 Credits)
The purpose of this course is to give students, primarily those in the field of computer science and biochemistry, a general overview of mechanics, electricity, magnetism, electronics, light and modern physics, with emphasis on examples and applications in modern technology fields. At the end of this course, the student will have good knowledge of how a scientist or engineer makes use of physics concepts to contribute to technological advancement and impact the society.
CSC305L - Networking Lab (1 Credits)
Networking Laboratory is a course where the student actively learn by doing. Students will learn network concepts and protocols by configuring a network, observing the actual behavior of its components and analyzing the results.Topics include: Basic computer network components, network cabling and cable types, IP addressing and TCP/IP configuration, Peer to Peer and switch-based network, email, HTTP, DHCP and DNS servers, Intrusion attack and firewall configuration.
CSC101 - Programming I (2 Credits)
This course is designed for students with no prior programming experience. The course introduces the fundamental concepts of procedural programming. Topics include algorithms and problem solving, data types, control structures, functions, arrays, files, mechanics of running, testing, and debugging.
CSC101L - Programming I Lab (1 Credits)
This course is a co-requisite for the Programming I course (CSC101). Students apply in the lab the fundamentals of programming, explained in CSC101, by solving lab exercises. The objective of the lab is to implement programming problems using basic data types, selection and repetition structures, methods and arrays.
CSC102 - Logic Design (3 Credits)
This course provides a modern introduction to logic design and the basic building blocks used in digital systems, particularly in digital computers. The first part of the course deals with discussion of combinational logic: logic gates, minimization techniques, arithmetic circuits, and modern logic devices such as field programmable logic gates. While the second part of deals with sequential circuits: flip-flops, synthesis of sequential circuits, and case studies, including counters, registers, and random access memories. The third part provides an introduction to machine language and assembly language programming. Concepts discussed include techniques for encoding data as numbers, instruction set design, and the IEEE floating point standard.
CSC103 - Database Systems (2 Credits)
This course covers the fundamental concepts of database systems. Topics include data models (ER, relational); mapping ER diagrams into relation schemas; reverse engineering; relational algebra, and SQL language.
CSC103L - Database Systems Lab (1 Credits)
This course is a co-requisite for Database Systems course (CSC103). Students apply in the lab the concepts they learn in Database Systems course by solving lab exercises. The concepts include data modeling (based on the entity relationship model), data normalization and data manipulation using SQL queries.
CSC104 - Data Structure (2 Credits)
Data structures and computer algorithms help programs organizing their information in a way that supports efficient processing. This course will give students a comprehensive introduction of common data structures, and algorithm design and analysis. More specifically, it covers sorting algorithms, stacks, queues, sequences, lists, priority queues, trees, hash tables.
CSC104L - Data Structure Lab (1 Credits)
This course is a co-requisite for the Data Structure course (CSC104). Students apply in the lab the basics of data structure, explained in the course, by solving lab exercises using Netbeans. The objective of the lab is to implement programming problems using arrays, stacks, lists, queues and other data structure elements.
CSC209 - Web Programming I (2 Credits)
CSC210 - Object Oriented Programming (3 Credits)
The course emphasizes the principles of Object Oriented Programming using the Java Programming Language. It starts by an introduction on how to create applications using Java. Then the course explains how to define classes, declare objects, and discuss the main topics related to object oriented programming (constructors, methods, dependency, aggregation, inheritance, and polymorphism). Finally, the course explains exceptional handling as well as writing to and reading from files.
CSC211 - Operating Systems (2 Credits)
This course is an introduction to operating system basics. It focuses on the essential operating system concepts specifically on those related to process and its creation and termination, process communication, process scheduling and synchronization, it also explains an overview of memory management and strategies used for this purpose. By the end of this course the student should have full understanding of operating system theory, structure and mechanism. This would include Full analysis of Multitasking systems and process communications as well as memory management. The student should have the ability to develop a project related to Operating system Concept.
CSC211L - Operating Systems Lab (1 Credits)
This course is a co-requisite for Operating System course (CSC211). Students apply in the lab concepts they learn during the course by solving lab exercises. The concepts include a fundamental practice of Linux OS and the basics related to process management seen in the course. These basics include process creation and termination, process communication, and process synchronization using semaphore. The student will be able to practice concepts by developing, debugging, and testing programs under Linux language.
CSC212 - Mobile Applications (3 Credits)
This course is a lab-based course in which students develop mobile applications across one of the most popular smartphone platforms Android. The course covers every facet of development and deployment. Topics cover: Differentiating between Android and IPhone development environment, understanding of the application of life cycle, writing simple GUI applications, using build in widgets and components, developing useful Android applications with compelling user interface, layout, views and menus, using Android’s APIs for SMS, telephony, databases, data storage, network management, internet resources (HTTP) and integration with existing web. Students should use Android Studio IDE.
CSC213 - Visual Programming (2 Credits)
This course teaches visual programming using the Visual Studio environment and Visual C# programming language. This course emphasizes the visual side of programming mainly the graphical user interface (GUI) components. (Windows Forms, Event-Handling, Control Properties, Layouts, Labels, Text Boxes, Buttons, Group Boxes, Panels, CheckBoxes, Radio Buttons, PictureBoxes, Tooltips, NumericUpDown, Mouse-Event Handling, Keyboard-Event Handling, Menus, Month Calendar, DateTimePicker, LinkLabels, ListBoxes, CheckedListBox, ComboBoxes, TreeViews, ListViews, TabControl, Single Document Interface (SDI) vs. Multiple Document Interface (MDI), …etc). Different examples will be discussed during in the class with students.
CSC215 - E-Business (3 Credits)
This course describes the basic principles of e-business technologies. Upon the completion of this course, students should have a good working knowledge of e-business concepts, applications, and technologies (e.g. e-business marketplace, e-Commerce, B2B e-business, e-learning, e-government and online payments). In addition, and after understanding the main concepts, students should understand how to initiate and launch an online business.
CSC216 - Web Programming II (3 Credits)
This course enables students to build dynamic database driven (e-commerce) web sites using the PHP programming language. The course is explicitly meant for students with limited experience and discusses basic programming building blocks needed to create interactive, dynamic websites. PHP is an open source based programming language widely used on the Internet for both commercial and non-commercial websites such as Facebook. This course gives an introduction in programming with PHP in combination with some simple database techniques in order to be able to understand how dynamic websites work.
CSC217 - Artificial Intelligence (2 Credits)
The course introduces the principles of non-algorithmic problems based on heuristics. The course explores two approaches that examine problems that could not be solved with algorithms: The Search-Based approaches and the Knowledge-Based approaches. At the end of the course the students will acquire a good knowledge about how to solve problems using heuristics and deductive reasoning techniques based on Propositional Logic and First Order Logic. The course introduces also an inference motor (tool) that assists to implement and test deductive inference techniques in the First Order Logic.
CSC218 - Introduction to Robotics (2 Credits)
The course is designed to provide computer science students a developed concept in coding, in which the use of hardware is optimized to guarantee tangible learning skills. Students will be able to use sensors and motors to achieve a certain task, understand development procedures in robotics, work in groups, develop specific robotic solutions by the end of each session as part of the project based approach used in this course, understand the connection between hardware and software in robots, and finally fully grasp the sense, plan, and act, essential to have in any automated solution.
CSC219 - Enterprise Resource Planning (3 Credits)
This course will introduce you to enterprise systems and show you how different organizations use ERP systems to run their operations more efficiently and effectively. You will learn about the critical success factors and implementation strategies that lead to enterprise system success, and about the informational, knowledge, and decision-making opportunities afforded by enterprise systems.
CSC220 - Entrepreneurship for Science (3 Credits)
Entrepreneurship is both Art and Science. The Entrepreneur’s ability to create something new represents the artistic aspect of the process and what follows embodies the science. Upon the completion of this course, students should have a good working knowledge of entrepreneurial Process: identify opportunity, evaluate feasibility, assemble resources, find potential customer, identify markets, build sales strategy, quantify value proposition, revenue generation, financial viability, product development, business plan, pitching to investor.
MAT101 - Discrete Math (2 Credits)
This course offers the mathematical structures that are related to computer science. The objective is to give some mathematical background for computer scientists and introduce some computer applications of the mathematical theory. Topics include: logic, relations, functions, basic set theory, countability and counting arguments, proof techniques, mathematical induction, graph theory, combinatorics, recursion, recurrence relations, elementary number theory and graph theory.
MAT107 - Calculus (3 Credits)
The course is an intuitive approach to the techniques of calculus. It covers mainly two parts derivation and integration. Topics include: Hyperbolic functions, Implicit and Logarithmic differentiation, Derivatives of higher order, Partial differentiation and applications, Taylor expansion, Methods of integration, Improper integrals, Multiple integrals.
MAT108 - Linear Algebra (2 Credits)
This is an undergraduate course in linear algebra for students of computer science. Linear algebra is the study of linear systems of equations, vector spaces, and linear transformations. In this course we will focus on the mathematical theory and methods of linear algebra with its application. The objective is to let the student become able to solve linear equations, to perform matrix operations, to find determinants, eigenvalues and eigenvectors. The aim is to present these fundamentals in the clearest possible way.
MAT210 - Operation Research (3 Credits)
The course provides students with a clear understanding of the use and application of management /operations research (MS/OR) starting with Problem formulation, concentrating on solution, methodology of problem, and dealing with the interpretation of solution results.
MAT310 - Numerical Computation (2 Credits)
The purpose of this course is to give students, primarily those in the field of computer science, an example of scientific software used in numerical computational fields, applied sciences and engineering. Basically, students will be introduced to MATLAB, a technical computing platform. By the end of the course, students will have an overview of data analysis, modeling, visualization and programming through MATLAB.
STAT102 - Probability & Statistics (3 Credits)
This course aims to familiarize students with the proper use of numbers. It provides training on analyzing data actually observed and to enumerate all theoretical figures of a well-defined situation. The objective of this course is to give students the basic concepts of descriptive statistical studies. At the end of the course, students will be able to read the data, represent, synthesize, summarize and analyze. On the other hand, students will become familiar with the simplistic notion of probability calculation.
General Education Requirements
ADM 105 - Introduction to Information Technology (3 Credits)
Topics include the Internet; computer hardware; operating systems and application software; multimedia; network communication; personal, social, and ethical issues. Systems and application software; multimedia; network communication; personal, social, and ethical issues.
EDU 105 - Introduction to Sociology (3 Credits)
يتناول المقرر: تعريف علم الاجتماع وعلاقته بغيره من فروع المعرفة, مفهومه,أهميته, فروعه وأبحاثه. علاقته بالفلسفة والتاريخ والجغرافيا وعلم النفس والاقتصاد والسياسة والقانون والأديان واللغة. المجتمعات والجماعات البشرية, مكونات النظم الاجتماعية, عمليات الضبط الاجتماعي, مفاهيم المراكز والأدوار الاجتماعية, العمليات والمتغيرات الاجتماعية, الظواهر الاجتماعية والمشكلات والعوامل المؤثرة في الظواهر الاجتماعية.
LIT 110 - Arabic Language I (3 Credits)
The primary aim of this course is to familiarize the students with correct writing styles, to avoid linguistic and spelling errors, to use proper punctuations, and to master various correspondence styles. The course also discusses the main principles of Arabic grammar through selected texts, spelling rules, writing paragraphs about subjects related to the selected texts, summary techniques, punctuations, rules of number spelling, common linguistic errors, titles, Curriculum Vitae editing techniq
LIT 120 - English Language I / French Language I (3 Credits)
This is a study skills course that aims at developing potential teacher’s proficiency in the skills of test taking, studying, word attacking, paraphrasing, restating and handwriting.
LIT 105 - Arabic Civilization (3 Credits)
This course introduces the overall concepts of civilization and the most important factors that contributed to the emergence of Islamic civilization. It also encompasses the main characteristics of the Islamic civilization with particular focus on the human dimension. Manifestations of Islamic civilization in policy, management, economy, society, and sciences are emphasized.