Program Structure    |    Program Details    |    Enrollment Data     |    Courses     |    Study plan

 

Vision

Deliver leading and entrepreneur educational program in Computer Science area that is recognized locally, regionally and globally.

Mission

Providing students with the necessary skills, knowledge, and competences to solve complex computing problems using distinguished teaching and learning process.

 

Student Learning Outcomes (SOs):

Students in the Computer Sciences program   are prepared to attain the program educational objectives by the time they graduate based on the following student outcomes.

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
  2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of computer science.
  3. Communicate effectively in a variety of professional contexts.
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  5. Function effectively as a member or leader of a team engaged in activities appropriate to computer science.
  6. Apply computer science theory and software development fundamentals to produce computing-based solutions.

 

Program Educational Objectives

PEO-1: Be successfully employed, pursue a graduate degree, or continue their professional education
PEO-2: Apply their skills in clear communication and demonstrate professional attitudes and ethics to be identified as a valuable member in the organization and demonstrate adaptability, responsibility, and leadership
PEO-3: Demonstrate an understanding of the context and broader impacts of technology in their organization and have the ability to adapt to a rapidly changing environment

 

 Program Details

Program Title BSc in Computer Science
Level of Study Undergraduate
Final Qualification Bachelor
Faculty Faculty of Information Technology and Computer Sciences
Department Computer Science
Other Department (s) Involving in Teaching the program

Information Systems

Information Technology

Mode of Attendance Full-Time
Duration of the Program Four Years
Total Credit Hours 134
Language of Instruction English
Entrance Requirements
Regular Admission

There are mainly three conditions that MUST be met to admit students at the computer science program:

  1. The student MUST hold a Jordanian high school (Tawjihi) certificate in scientific track or an equivalent certificate from an admitted entity.
  2. The student MUST hold a Jordanian Nationality.
  3. The high school (Tawjihi) GPA MUST be 65% and above or an equivalent rate.

 

Parallel Admission

The parallel admission applies the same conditions as the regular one, except that students are directly admitted by YU; not UAU. Students who have not succeeded in the UAU competition are, usually, apply to parallel admission. They MUST meet all the three conditions of regular admission in order to apply for the parallel one. The applications from international students (who have Jordan Nationality) are evaluated at the registrar office according to the available seats. Available seats are specified according to the student-faculty ratio at the department of computer science. Students compete according to their GPAs on the available seats. The only difference between parallel and regular admissions is the registration fees.

International Admission

The international admission applies to non-Jordanian students; who do not hold Jordanian nationality. The admitted students MUST hold an equivalent high school (Tawjihi) certificates in scientific track that are accredited and approved by Jordanian Ministry of Education (MOE). Furthermore, the high school GPA MUST be 65% or above. The applications from international students are evaluated at the registrar office according to the available seats. Available seats are specified according to the student-faculty ratio at the department of computer science. Students compete according to their GPAs on the available seats.

Enrollment Data

 

 

Academic Year

Enrollment Year

Total

Undergrad

Total

Grad

Degrees Awarded

1st

2nd

3rd

4th

Bachelors

Masters

Current Year

2020

/

2021

FT

173

162

159

129

516

107

X

X

PT

0

0

0

0

0

0

2

2019

/

2020

FT

162

159

129

75

439

86

X

X

PT

0

0

0

0

0

0

3

2018

/

2019

FT

159

129

75

122

425

60

X

X

PT

0

0

0

0

0

0

4

2017

/

2018

FT

129

75

122

120

372

74

X

X

PT

0

0

0

0

0

0

5

2016

/2017

FT

75

122

120

131

374

74

X

X

PT

0

0

0

0

0

0

Program Regulations http://law.yu.edu.jo/phocadownload/BA_Degree.pdf

    

Courses

Code Course Name Credits Description
CS 111 Programming in a Selected  Language 3  The main objective of this course is to introduce students to the basic concepts of a selected language (such as Python) and the ability to write simple correct programs. Topics to be covered include: data types and creating variables, operators input and output, strings, decision making, repetition, functions and procedures, variable scope, packages and modules creating and using built-in ones, files and exceptions handling.  It will also cover the most commonly used data structures: lists, tuples and dictionaries, the practical part of this course is covered in the lab through exercises, practical assignments, and tutorials.
CS 111L Programming in a Selected  Language Lab  The main objective of this course is to introduce students to the practical part of the basic concepts of a selected language (such as Python) and the ability to write simple correct programs. Topics to be covered include: data types and creating variables, operators input and output, strings, decision making, repetition, functions and procedures, variable scope, packages and modules creating and using built-in ones, files and exceptions handling.  It will also cover the most commonly used data structures: lists, tuples and dictionaries, the practical part of this course is covered in the lab through exercises, practical assignments, and tutorials.
CS 130 Operating Systems (1)  The objective of this course is to provide students with the basic knowledge and skills of operating, managing, and maintaining microcomputer systems. Hands-on experience with windows environment is a major concern in this course. It covers a range of topics including: operating system concepts, functions, and components, a general overview of OS services, process management, CPU scheduling, memory management, virtual memory and file system, installing, partitioning, configuring and upgrading Windows, common errors and problems and how to solve them, networking capabilities of Windows. Windows commands, system programs, and Windows facilities are covered in the practical component
CS 142 Discrete Structures The objective of this course is to introduce computer science students to the foundations of discrete structures and their applications in the computer science field such as algorithms, data structures, network, compiler, cryptography and theoretical computer science. Topics to be covered include: Logic and Proofs and their applications in logic design, Sets, Functions, and Relations and their applications in Algorithms and data structures, Algorithms and Integers Counting  and its applications in algorithm complexity, Graph Theory  and its applications in algorithm and computer network, Trees  and its applications in data structure and algorithm, Boolean Algebras and its applications in digital design, Automata, Grammars and Languages and its applications in theoretical computer science and natural languages 
CS 210 Object-Oriented Programming The objective of this course is to provide student with knowledge and needed skills in order to design and develop object-oriented programs. Topics to be covered include: the object-oriented approach, classes, method, object inheritance, replacement and refinement, static and dynamic binding, polymorphism, visibility and dependency, files and storage issues and case studies. The course should use an object oriented language as in CS111 
CS 210L Object-Oriented Programming Lab The objective of this course is to provide students with knowledge and needed skills in order to design and develop object-oriented programs. Topics to be covered include: the object-oriented approach, classes, method, object inheritance, replacement and refinement, static and dynamic binding, polymorphism, visibility and dependency, files and storage issues. The lab is supports course CS210 
CS 220 Computer Logic Design The main objective of this course is to provide students with an overview, concepts and the fundamentals of computer logic design and how the electronic circuits work inside the computer. Topics to be covered include: Digital and numbering systems: conversion methods, binary and complement arithmetic; Boolean algebra; Circuit minimization techniques; Combinational circuits: Adders, Decoders, Encoders, Code Converters; Sequential Circuits: flip-flops, counters, registers, synchronous sequential circuits 
CS 225 Computer Organization Lab This course is intended to cover the practical aspects related to computer organization, architecture, and logic. Students are trained to write simple assembly programs to explore and analyze microcomputer organization and architecture 
CS 250 Data Structures The objective of this course is to introduce students to various types of data structures, their logical and physical representations, their operations and their efficiency. Topics to be covered include: data structure operations, dense lists and matrix representations, linked lists and their different variations, string storage representation and manipulation, queues and stacks and their applications, tree structures and their different variations, graphs and networks 
CS 250 L Data Structure Lab 1 The objective of this course is to introduce students to various types of data structures, their logical and physical representations, their operations and their efficiency. Topics to be covered include: data structure operations, dense lists and matrix representations, linked lists and their different variations, string storage representation and manipulation, queues and stacks and their applications, tree structures and their different variations, graphs and networks
CS 281 Multimedia Systems   The main objective of this course is to provide students with the basic concepts and skills necessary for understanding, using, and upgrading multimedia systems. It covers a range of topics including: Multimedia concepts and terminologies, Interactive multimedia techniques, multimedia data types and formats (graphics, images, animation, audio, video, 3D models, … etc.), hypermedia, media presentation, color theory, multimedia data compression techniques and standards, multimedia data representation and retrieval, multimedia communications, multimedia streaming, requirements for multimedia systems, and multimedia data protection, security, and trademarks.  This course is supplemented by a practical component covered by different assignments 
CS 310 Advanced Programming The main objective of this course is to teach a high level language that can be beneficial to variety of applications in the real world. The course introduces the basic concepts of the selected programming language as well as its properties. The language used for the course is Java, chosen because it supports object oriented programming and because it is becoming widely used in industry. The course involves several applications, case studies and exercises; the course might include a project developed under the selected programming language 
CS 331 Advanced Operating Systems The objective of this course is to provide student with an advanced concepts of operating system. Topics to be covered include: operating system concepts and operating system structures, processes, threads, CPU scheduling, process synchronization, deadlocks, main memory managements, virtual memory, and mass-storage Structure 
CS 332 Data Communications and Networks The objective of this course is to provide student with an overview, concepts and fundamentals of data communication & computer networks. Topics to be covered include: data communication concepts and techniques in a layered network architecture, communications switching and routing, types of communication, network topologies, network model components, layered network models (OSI reference model, TCP/IP networking architecture) ) and some of their protocols and addressing, various types of networks (LAN, MAN, WAN and PAN). The course is supplemented by a practical component covered in CS 332L concurrently 
CS 332L Data Communications and Networks lab

This course concentrates on the practical part of the course of Data Communication & Networks. This course allows students to practice, Design and Evaluation of computer networks using current trends in hardware and Software. Teach Packet Tracer features and functionalities

  • Teach students how to add, connect, configure, and troubleshoot networks using virtual equipment 
  • Teach students how to add, connect, configure and monitor smart devices
  • Teach students how to create, configure and modify a Thing with Packet Tracer
CS 342 Theory of Computation The objective of this course is to introduce students to formal languages and their representation, automata, and theory of computation. Topics to be covered include: formal languages and their representation, different grammars, finite automata: deterministic and non-deterministic, regular languages, regular expressions, context-free languages, push-down automata, Turing machines and computability, universal Turing machine, computability and complexity
CS 351 Analysis and Design of Algorithms The objective of this course is to provide student with an overview, concepts and principles of the design and analysis of computer Algorithms. Topics to be covered include mathematical methods for analyzing different types of algorithms. Major data structures: Graphs and trees. Advanced data structure such as heap.  Major algorithm design techniques: induction, divide and conquer, greedy approach, dynamic programming in addition to Graph algorithms
CS 352 Problem Solving (1) The course is designed to provide an introduction to problem solving in programming through puzzles and problems which appeared in programming contests. Topics to be covered are introduction to problem solving strategies related to arithmetic and number theory, computational geometry, string processing and combinatorial
CS 360 Wireless Networks The objective of this course is to provide student with fundamental concepts of wireless networks technology and their components. Topics to be covered include: an introduction to the wireless physical layer, commonly used wireless MAC mechanisms,  wireless data communication standards, Wireless networking challenges, wireless local area networks (802.11), wireless personal area networks (e.g., Bluetooth), wireless metropolitan networks  (i.e./ WiMax 802.16), and satellite systems 
CS 376 Artificial Intelligence The objective of this course is to provide students with the basic concepts, knowledge and skills required in utilizing Artificial Intelligence techniques in solving practical problems. Topics to be covered include: knowledge representation methods like propositional logic and predicate calculus, blind search strategies (breadth-first and depth-first), heuristic search strategies (hill-climbing, best-first and A*), backward and forward reasoning, applications: expert systems, natural language processing, pattern recognition, image processing, and planning. The practical part of the course involves programming exercises and case studies related to the topics covered 
CS 380 Computer Graphics The objective of this course is to provide student with the basic concepts, technical and mathematical knowledge and skills required to design and implement computer graphics. Topics to be covered include: graphics hardware, software utilities, two and three dimensional transmutation and viewing, graphics arts and animations. Students are expected to be design programs using programming graphics tools and libraries such as Open GL to perform practical assignments
CS 411 Smart Phones Applications Development The objective of this course is to provide the basic concepts of mobile computation and applications from three different perspectives: mobile phone technologies, app implementations and user interaction. The course includes fundamental techniques, networking and systems requirements to design and execute mobile computing systems and applications and some scenarios of low-processing devices and limited resources, error tolerance, continuity and graphical user interface. Course material includes readings from textbooks 
CS 432 Computer Architecture The main objective of this course is to provide students with an overview, basic concepts and various techniques of computer architecture. Topics to be covered include: Computer Abstraction and Technology, Instructions: Language of the Computer, ALU design, IEEE 754 format for floating-point numbers, coprocessors, design of the datapath and control units, the characteristics of instruction sets, pipelines techniques, RISC and CISC machine, Memory Hierarchy: memory technologies, Caches: The Basics of Caches, measuring and improving cash performance 
CS 452 Problem Solving  The objective of this course is to provide the student  with an in-depth overview to problem solving in programming through puzzles and problems which appeared in programming contests. Topics to be covered include: advanced problem solving strategies related to arithmetic and number theory, computational geometry, string processing, dynamic programming, graph theory, advanced data structures, space search and game theory algorithms
CS 470 Expert Systems The objective of this course is to provide students with the knowledge and skills required for developing expert systems and applying them in real-life application problems. Topics to be covered include: knowledge acquisition, knowledge representation techniques, inference methods, reasoning under uncertainty, design of expert systems, and introduction to an expert system programming tool, expert systems case studies. In the practical part of the course students are expected to design a small expert system using an expert system programming tool.
CS 480 Image Processing  The objective of this course is to provide student with the basic concepts techniques, and technologies of digital image processing. Topics to be covered include: image and video representation technologies, image enhancement and filtering techniques, mathematical morphology, noise removal techniques, image compression techniques, edge detection and segmentation techniques
CS 492 Special Topic In this course a topic in computer science is selected not covered in the list of courses described above to be taught to students, with the approval of the department board. 
CS 498 Practical Training This course aims to provide an opportunity for students to practice the knowledge they have gained from the university, which include analysis, design, programming databases and building data and algorithms, operating systems, and web programming, networks and communications, etc., It's an opportunity for students to gain knowledge in information and communications technology industry. Students will have the opportunity to develop their professional skills through interaction and communication with their colleagues
CS 499(A) Graduation Project (1)  The objective of this course is to give the student a real world problem related to the knowledge areas that have been covered in the program. The student will study and analyze the problem
CS 499(B) Graduation Project (2) The objective of this course is to give students an opportunity to utilize the knowledge and skills gained in other courses in a real-life application problem. The student is supposed to analyze the problem, design a software solution to it, coding the solution in a programming language, and writing the documentation in the form of a project report using a standard way
154509