Bachelor of Computer Science

Program Description

Learning Outcomes

Requirements

Program Structure

Scroll Top
  • Home
  • Program
  • Bachelor of Computer Science
Bachelor of Computer Science
Institution
University of Petra
Location
Jordan
Total Tuition
$ 15120
Intakes
October
Application deadline
October
Application Fee
282
Program Description

Computer Science is a rich and diverse discipline. Areas of interest to computer scientists range from theoretical studies to the practical development of software for business and industry. Computer scientists’ skills, especially in problem-solving, have wide applicability in academic and industrial settings. Thus, graduates of the computer science program are well prepared for advanced studies and for professional work in different industries.

– Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
– Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
– Communicate effectively in a variety of professional contexts.
– Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
– Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
– Apply computer science theory and software development fundamentals to produce computing-based solutions. [CS].
– Apply knowledge of computing and understanding of wide range of theoretical basics, principles, concepts, and advanced topics of information technology appropriate to the program’s student outcomes and to the discipline.

1. Obtaining the Jordanian General Secondary Education Certificate or equivalent.

2. High school average not less than the minimum required for the major.

601111 – Programming Language (1) (3:3-2)
Prerequisite: 602104
This course introduces the essential foundations of programming using Java. Key topics include the structure of Java programs, primitive and numerical data types, operators, control structures, selection and looping constructs, and both iterative and recursive methods. Students also learn parameter passing, one- and two-dimensional arrays with applications such as sorting and searching, and an introduction to object-oriented concepts involving objects and classes.


601212 – Programming Language (2) (3:3-2)
Prerequisite: 601111
This course develops students’ skills in Object-Oriented Programming (OOP) using Java. It covers the main OOP principles—abstraction, encapsulation, inheritance, and polymorphism—as well as classes, objects, constructors, method overloading and overriding, interfaces, packages, exception handling, applets, and introductory GUI programming.


601221 – Data Structures (3:3-2)
Prerequisite: 601212 + 103250
Students explore core data structure concepts and Abstract Data Types (ADT). The course covers lists, stacks, queues, dictionaries, and trees, along with various implementations using an object-oriented approach. It also includes algorithm analysis in terms of time and space complexity, recursion as a problem-solving strategy, and an introduction to graphs.


601241 – Computer Logic Design (3:3-2)
Prerequisite: 602104
This course provides a foundation in logic design. Topics include number systems and their internal representation, Boolean algebra, combinational and sequential circuits, Boolean simplification techniques, and the design of essential hardware components such as adders, comparators, multiplexers, decoders, encoders, flip-flops, registers, counters, ROM, PLA, and basic RAM concepts.


601242 – Computer Organization (3:3-2)
Prerequisite: 601241
The course introduces computer system organization and machine language for 80x processors. Students study processor components, register structures, memory segmentation, and addressing modes. The course also covers assembly programming basics, including data declarations, instruction sets, procedures, interrupts, macros, and input/output operations.


601281 – Database (1) (3:3-2)
Prerequisite: 601212
This course presents foundational database management concepts. It covers the relational data model, relational algebra and calculus, SQL, database design methodologies, entity-relationship modeling, integrity constraints, conceptual design, functional dependencies, and normalization principles.


601322 – Computation Theory (3:3-0)
Prerequisite: 601221
Students are introduced to the theory of computation. Topics include automata theory, deterministic and nondeterministic finite automata, regular expressions and languages, context-free grammars and languages, pushdown automata, an introduction to Turing machines, undecidability, and intractability.


601324 – Programming Languages & Design (3:3-0)
Prerequisite: 601322
This course examines the evolution and design of programming languages. Topics include syntax and semantics, lexical and syntax analysis, naming conventions, bindings, type checking, scopes, data types, expressions, assignment operations, and control structures at the statement level.


601325 – Algorithms Design & Analysis (3:3-0)
Prerequisite: 601221
This course focuses on algorithm design and analysis. Students review abstract data types and data structures; learn to classify functions and analyze computational complexity; and study major design techniques such as divide-and-conquer and greedy algorithms. Topics include searching, sorting, trees, graphs, hashing, combinatorial algorithms, and P/NP problems.


601343 – Computer Organization and Architecture (3:3-0)
Prerequisite: 601241
This course covers computer architecture and Intel 8086 assembly language. Students study number systems, numeric representations, two’s complement, and processor structure. Instruction topics include flow control, logical and shift operations, stack usage, procedures, multiplication and division, arrays, addressing modes, and a detailed examination of the memory hierarchy.


601331 – Operating Systems (3:3-0)
Prerequisite: 601221
Students learn the core principles of operating systems, including their evolution, structure, process management, scheduling, deadlocks, memory management strategies, storage organization, distributed systems, and I/O management.


601441 – Computer Architecture (3:3-0)
Prerequisite: 601242
This course presents hardware and software aspects of computer architecture. Topics include computer structures and types, instruction set architecture, ALU and control units, buses, control signals, memory hierarchy, performance evaluation, pipelining, and interfacing I/O devices with the CPU.


601451 – Artificial Intelligence (3:3-0)
Prerequisite: 601325
Students are introduced to the core concepts of artificial intelligence. Topics include search strategies, knowledge representation, propositional and predicate logic, heuristic search, and implementation strategies. The course also covers expert systems, machine learning, intelligent agents, neural networks, and basic Prolog programming.


601471 – Computer Graphics (3:3-0)
Prerequisite: 601325
This course explores the fundamentals of computer graphics. Topics include 2D graphics, an introduction to 3D transformations, modeling, raster operations, animation, curves, and the mathematical foundations supporting graphics—such as algebra, geometry, and optics. The course emphasizes how these components interact in graphics system design.


601400 – Field Training (3:0-3)
Prerequisite: Department Approval
Students gain hands-on experience applying computing tools and techniques in real-world environments within public or private organizations. The training bridges academic learning with practical application under faculty supervision, providing exposure to professional tasks not typically available in classroom settings.


601499 – Graduation Project (3:0-3)
Prerequisite: 603392 + 602302
This capstone course allows students to apply their technical, analytical, and creative abilities in a supervised project within an IT field. Students demonstrate mastery by applying, analyzing, synthesizing, evaluating, and communicating knowledge through a comprehensive project developed over the semester.


601381 – Database (2) (3:3-2)
Prerequisite: 601281
This course covers advanced database concepts, including normalization and schema refinement, physical storage structures, transaction processing theory, concurrency control, and GUI design using Oracle Forms and Reports.


60140 – Selected Topics in Computer Science (3:3-0)
Prerequisite: Department Approval
This course offers specialized topics reflecting current advancements in computing and student interests. Possible areas include advanced programming languages, networking topics, database systems, MIS, web technologies, and applied case studies.


601431 – Compiler Design (3:3-0)
Prerequisite: 601322
Students study compiler construction and the major phases of compilation, including lexical analysis, syntax analysis, top-down and bottom-up parsing, semantic analysis, code synthesis, storage allocation, and code generation.


601458 – Expert Systems (3:3-0)
Prerequisite: 601451
This course introduces the principles and applications of expert systems. Topics include rule-based reasoning, uncertainty handling, knowledge representation, knowledge acquisition, diagnosis, expert system tools, and related areas such as machine learning, neural networks, and natural-language-based dialog.


601460 – Professional Ethics for Information Technology (1:1-0)
Prerequisite: 604361
This course examines ethical issues in computing and IT practice, including professional conduct, hacking, viruses, internet ethics, freedom of expression, responsibility of IT professionals, software copyright, intellectual property, piracy, cyber law, and information privacy and security.


601472 – Image Processing (3:3-0)
Prerequisite: 601325
Students study fundamental image processing techniques. Topics include image formation, sampling, quantization, spatial and color resolution, spatial-domain enhancement (stretching, slicing, thresholding, smoothing, sharpening, noise reduction), frequency-domain enhancement, FFT in 1D and 2D, image restoration, edge and line detection, segmentation techniques, and image encoding such as Huffman and run-length coding.


9600102 – Computer Skills (2) (3:3-0)
Prerequisite: 9601099 / P.T
This course provides an overview of Internet technologies and web development. Topics include internet services such as email, FTP, Telnet, and chat systems; principles of web browsers, search engines, and portals; and website development using HTML, including images, links, lists, tables, forms, and frames. Students also learn the basics of CSS and JavaScript.

Program Overview
Study Format
On-campus
Program Level
Bachelor
Language Of Materials
English
Language Of Teaching
English
Mode
Full-time
Duration By Months
48
To request more information about the program

Contact Admission
University of Petra
Phone Number
+96265799555
Email
info@uop.edu.jo

Follow Top Majors Now