Course Code |
Course Name |
Credit hours |
Description |
A0871103 |
Principles of Renewable Energy |
3 |
Introduction to renewable Energy include Photovoltaic, Wind power, Micro hydropower, Biomass energy, Waste power, Solar thermal power, Geothermal power, Ocean energy (tidal, tide-flow and wave), Ocean energy (OTEC), , Comparison of characteristics and cost of renewables. How we can use the sun, wind, biomass, geothermal resources, and water to generate more sustainable energy. It explains the fundamentals of energy, including the transfer of energy, as well as the limitations of natural resources. Starting with solar power, the text illustrates how energy from the sun is transferred and stored; used for heating, cooling, and lighting; collected and concentrated; and converted into electricity |
A0110168 |
Digital Literacy and Artificial Intelligence |
3 |
|
A1321100 |
Sport and Health |
3 |
Defining health and fitness: physical education, health education; the cognitive, emotional, skill-oriented, and social goals of physical education; the history of physical education: ancient, medieval, and modern ages, the Olympics, Athletics in Jordan: nutrition and exercising; athletic injuries: bone, joint , muscle, skin injuries; special exercises for figure deformation; diseases related to lack of exercise: diabetes, obesity, being underweight, back pain, cancer; hooliganism: causes and recommended solutions for hooliganism. |
A0110281 |
Society Health |
3 |
|
A0110167 |
Critical Thinking Skills |
3 |
|
Course Code |
Course Name |
Credit hours |
Description |
A0341311 |
Networks and Cybersecurity Essentials |
3 |
The course studies the basic of computer networks: types of networks, main devices, Ethernet technology, principles and structure of IP addressing; overview of the common protocols such as: TCP, UDP, HTTP, HTTPS, POP, IMAP, SMTP, DNS, FTP, DHCP; basic security measures and tools: malware, general means of authentication, password-based authentication, physical security, firewall basics; cryptography: symmetric and asymmetric algorithms, hash functions, basics of digital signature and steganography. |
A0331202 |
Introduction to Programming |
3 |
Sequential execution: program structure, command line arguments, string literals, output, Limerick layout; Program errors: syntactic errors, semantic errors, compile time errors, runtime errors; Types, variables and expressions: string, double and integer types, hard-coded data, assignment statement, arithmetic expressions and associativity, type conversions, parsing input data, integer division, grouping expression terms and long statements layout; Conditional and repeated execution: choice and iteration statements, Boolean expressions, relational operators, program design using pseudo code, lists of command line arguments, comments, standard classes; Control statements nested in loops: declaring variables in compound statements, conditional expression operator; |
A0334600 |
Ethical and Professional Issues in Computing |
1 |
An overview of ethics, Professional ethics of workers and users in the field of information technology, Cyberattacks and Cybersecurity, Privacy, Intellectual property, Ethical decisions in software development. |
A0312201 |
Object Oriented Programming |
3 |
Introduction to Object Oriented Programming Concepts using Java language: Classes, Objects, Constructors, Encapsulation: Visibility Modifiers; Packages; Overloading; using this keyword; using static keyword; Array of objects: Store and Process objects in array; Relationships between Classes: Composition, Inheritance: Superclasses and Subclasses, using super keyword, Constructor Chaining, Overriding, Polymorphism, Preventing Extending and Overriding, The Object Class and its toString() Method; Abstract Classes; Interfaces; Exception Handling; introduction to GUI programming. |
A0311101 |
Discrete Mathematics |
3 |
Logic, relations, functions, basic set theory, countability and counting arguments, proof techniques, mathematical induction, graph theory, combinatorics, discrete probability, recursion, recurrence relations, and number theory. The fundamental mathematical tools used in computer engineering as: sets, relations, and functions; propositional logic, predicate logic, and inductive proofs; summations, recurrences, and elementary asymptotic; counting and discrete probability; undirected and directed graphs; introductory linear algebra, with applications in computer engineering.
|
A0110101 |
Mathematics (1) |
3 |
|
A0371201 |
Introduction to Information Technology |
3 |
Basic elements of computing: programming, computer, program, operating environment, data, file; Number systems: decimal, binary, conversion; Describing problem solution using standard flowcharting notation; Linux basics: basic commands, working with files, working with directories, file name substitution, input/output and I/O redirection; Linux shell: overview, programming tools; User-defined commands and shell variables: command files, variables, integer arithmetic; Passing arguments: $#, $#, ${n}; Decisions: exit status, test command, else, exit, elif, Null, && and || constructs; Loops: for, while, until, breaking a loop, skipping commands in a loop; Git: installation and configuration, basic commands, branching. |
Course Code |
Course Name |
Credit hours |
Description |
A0314201 |
Mobile Applications Development |
3 |
Android overview: android platform, user interface, dalvik virtual machine, platform architecture, application building blocks, development tools; Building applications: creating and running applications, emulator, activity, android manifest file, layout and layout file, widgets, strings file, intents; Supporting different devices: languages, layout mirroring, screens, platform versions; User interface: user interface fundamentals, linear layout, relative layout, constraint layout; Activity lifecycle: lifecycle call-backs, starting activity, pausing and resuming activity, stopping and restarting activity, recreating activity; Interacting with other activities and applications: intent types, building intent, intent filters, receiving intent, starting another activity, processing intent, common intents; Saving data: internal and external storage, shared preferences, files, SQL database; Dynamic user interface: fragments, fragment types, interacting with other fragments; |
A0313101 |
Algorithms Analysis and Design |
3 |
Introduction: Asymptotic Behavior, O, Omega , Thata notation, analysis of algorithms complexity, proving algorithm correctness with loop invariant, solving recurrences; Sorting: insertion, quick, merge, heap; Advanced Algorithm Analysis and Design: amortized analysis, dynamic programming; Graph: breadth first search, depth first search, Topological sort, minimum spanning tree, shortest path; Advanced data structures: B-trees; String matching: naive, KMP; NP-Completeness: P, NP, NP-Complete classes, proving NP-completeness. |
A0314608 |
Graduation Project 2 |
3 |
|
A0312101 |
Data Structures |
3 |
Lists: static allocation, dynamic allocation; Stacks: static implementation, linked implementation, operations, applications; Recursion: applications, program stack; Queues: static implementation, linked implementation, operations, applications; General Trees; Binary Trees; Binary Search Trees: traversal, search, add and delete operations; Files: input, output; Graphs: traversal, adjacency matrix, and adjacency list. |
A0312203 |
Visual Programming |
3 |
Introduction to Visual Programming; Creating Applications with Visual C#; Processing Data; Making Decisions; Loops; File Access: reading and writing; Random Numbers; Methods; Arrays and Lists; Multiform Projects; Databases. |
A0312401 |
Fundamentals of Databases |
3 |
Database Concepts; Database Design Methodologies; Data Modeling using ER and EER; Database Integrity Constraints; Relational Model: Relational algebra, Relational Calculus; Functional Dependencies and Normalization. |
A0313301 |
Operating Systems |
3 |
Fundamental Concepts of Operating Systems; Evolution of Operating System; Operating System Structure; Process: Process Management, Inter-process Communication, Process Scheduling, Deadlocks, Process Synchronization; Memory Management; File System Management; I/O Management; Secondary Storage Management; Case Studies. |
A0312301 |
Computer Organization and Architecture |
3 |
Components of a computer: Performance, Technology and Delay Modeling, Intro to Instruction Set Architecture (ISA) Design: MIPS ISA, Translation of High-Level C Constructs into MIPS, Assemblers, Object Code Generation, Linking and Executable Loading, Run-time Execution Environment; Computer Arithmetic and ALU Design, Digital-Logic Design for Sequential Circuits, Register-Transfer Level Description of Systems; Single-Cycle Datapath and Control; Multi-cycle Datapath and Control: Micro-programming and Hard-wired Control Units; Pipelining: Pipelined MIPS Datapath; Pipeline Hazards: Structural, Control, Data; Hazard Detection and Resolution; Pipelining control; Exceptions Handling; SRAM and DRAM Design, Memory Hierarchy, Cache memory design, Virtual memory. |
A0313401 |
Theory of Computation |
3 |
Regular Languages: Deterministic and Non-Deterministic Finite Automata, Regular Expressions, Closure Properties of Regular Languages, Non-regular languages; Context Free Languages and Grammars: Pushdown Automata, Closure properties of Context Free Languages; Turing Machine. |
A0312204 |
Programming Technique in Special Languages |
3 |
|
A0311301 |
Digital Logic Design |
3 |
Binary Systems: Digital Computers & Systems Binary numbers, Number Base Conversion: Octal & Hexadecimal Numbers, 1's & 2's Complements Binary codes; Boolean Algebra & Logical Gates: Basic Definitions of Boolean Algebra, Theorems of Boolean Algebra, Boolean Functions Digital Logic Gates, IC Digital Logic Families; Simplification of Boolean Function: Karnaugh Map Method with 3 variable , 4 variable, 5 variable Map. Sum of Products, Product of Sums, Don?t care; Combinational Logic: Integrated combinatorial circuits, Sequential circuits, Flip-flops, registers, counters, memory units. |
A0312403 |
Systems Analysis and Design |
3 |
Introduction to systems development: System development life cycle, System Development feasibility; Development of fact finding methods: Context diagram, Data flow diagram, Decision tables and trees, Data dictionary; Conceptual design: DB design, Normalization; System Implementation: Installation, System conversion, Training, Development Tools, Documentation. |
A0313304 |
Artificial Intelligence Techniques in Computer Science |
3 |
|
A0314607 |
Graduation Project 1 |
3 |
|
A0314606 |
Practical Training |
9 |
|
Course Code |
Course Name |
Credit hours |
Description |
A0314301 |
Parallel Computing and Distributed Systems |
3 |
Distributed Systems: definition, types, goals, hardware concepts; Communication: layered protocols, remote procedure call, remote method invocation, synchronous /asynchronous persistent/transient communication, stream based communication; Processes: threading in the server side, threading in the client side, code migration; Naming: name Spaces, locating mobile entities, removing unreferenced entities; Synchronization: physical clock synchronization, logical Clocks, global State, election algorithms, mutual exclusion algorithms, distributed transactions; Consistency and Replication: reasons for replication, consistency protocols; Fault Tolerance: introduction, process resilience, reliable client server communication, distributed Commit protocols, recovery. |
A0313204 |
Computer Graphics |
3 |
Graphics Systems and Models: Graphics Programming, Input and Interaction in OpenGL, Geometrical Objects and Transformations in 2D and 3D, homogeneous coordinates, matrix representation, windows and viewports; Viewing in 3D: projections, hidden surface removal; Color: color models, Light, shading and materials, Illumination and Shading, light sources; modeling: geometry processing, rasterization, fragment processing; Clipping: hidden surface removal, antialiasing. Discrete techniques: buffers, bit and pixel operations, texture mapping, compositing; Programmable shaders: OpenGL shading language, fragment shaders, cub and bump maps; Modelling Techniques: trees, scene graphs; Curve and surface representation: Advanced rendering techniques, ray tracing, radiosity, image based rendering. |
A0313402 |
Advanced Databases |
3 |
Database Management Systems Protection and Security Functions; Views; Transaction Management; Concurrency Control and Serialisability; Database Recovery; Database integrity; Rapid Application Development for Database Systems using CASE tools and 4GLs; PL/SQL Programming. |
A0314402 |
Selected Topics in Computer Science (1) |
3 |
The most recent technological topics in computer science that are not covered in other courses in the program plan. |
A0372401 |
Introduction To Data Science |
3 |
Introduction to data science; The basics of Python; Data preparation; Exploratory data analysis; Preparing to model the data; Introduction to machine learning; Data visualization. |
A0333204 |
Web Services Programming |
3 |
|
A0343412 |
Cloud Computing & Security |
3 |
Introduction to cloud computing: basic concepts and terminology, essential cloud characteristics; cloud service and deployment models: the cloud service models, the cloud deployment models; cloud-enabling technology: multitenant technology, service technology, virtualization technology; fundamental cloud security: basic terms and concepts, cloud security threats. |
A0342314 |
Protection using Linux |
3 |
Linux basic concepts: file system, commands, utilities, text editing, shell programs and word processing; Linux shells: command line syntax, properties, file name generation, redirection, piping and quote mechanisms; File system navigation: controlling access to files, file and directory naming rules and conventions, handling of files and links; Terminal control: working with vi, monitoring and controlling processes, using command line editing, replacing commands, using backup commands; Control operations: print jobs, network communication, group policy management. |
A0314403 |
Selected Topics in Computer Science (2) |
3 |
|
A0314401 |
Programming Languages Design |
3 |
Introduction: language features, compilation stages; Syntax: BNF, attribute grammar; Lexical Analysis: study of simple lexer; Parsing: Recursive Decent, Bottom up parsing with examples; Binding and Scope: static and Dynamic; Types: type checking, strings, enumeration, arrays, records, lists, unions, pointers, generic; Garbage collection: reference Counting, mark and sweep, Expressions: associativity, overloading, conditional, side effects; Control structures: dangling else, composite, scope, breaks, labeled breaks, continue, switch; Subprograms: procedures, functions, call by value, call by reference, activation record, recursion; Object-Orientation: encapsulation, overloading, polymorphisim, dynamic binding, abstract class, nested classes; Functional Programming: program examples with LISP; Logic Programming: example with Prolog |
Course Code |
Course Name |
Credit hours |
Description |
A0342315 |
Computer Networks (1) |
3 |
|
A0342313 |
Cybersecurity |
3 |
This course covers some of the main topics of protecting information and information systems such as: access control, web security, mail security, social engineering; some of the common vulnerabilities and attacks are also covered: DoS, spoofing, MitM, buffer overflow, CSS; tools related to some of the aforementioned topics will be covered as well; ethical and legal considerations related to cybersecurity are discussed such as: privacy, intellectual property, cybercrime, cyberwarfare, and the organizations involved in the formulation of such laws. |
A0110111 |
General Physics 1 |
3 |
|
A0110201 |
Linear Algebra |
3 |
|
A0334605 |
Communication and Technical Writing Skills |
2 |
|
A0332501 |
Introduction to Software Engineering |
3 |
"System Development Methodologies: Software Engineering Processes, Waterfall, Prototype, Incremental, and Spiral, with focus on the Unified Process in its agile form; Principles of Software Engineering: Requirements Elicitation, Validation and Verification; Review of Principles of Object Orientation; Object Oriented Analysis Using UML: Behavioural UML Diagrams Use Case, Sequence, Activity, And State Diagrams; Structural UML Diagrams: Object, Class, and Package Diagrams. |
A0333203 |
Internet Applications Development (2) |
3 |
|
A0110301 |
Numerical Analysis |
3 |
|
A0332202 |
Internet Applications Development (1) |
3 |
|
A0110103 |
Statistics and Probability |
3 |
|