جامعة النجاح الوطنية
An-Najah National University
Computer Science
Duration: 48 Months (4 Years)
Degree Awarded: Bachelor
Student must complete 127 credit hours

University Requirements Student must complete 19 credit hours

Course Code Course Name Credit Hours Prerequests
0
Remedial English (E10032100) is a three-hour non-credited English course offered to students who score poorly (i.e. below 50%) on the placement test. Since the major concern of this course is to improve the students? proficiency before starting their ordinary university English basic courses and major courses taught in English, special emphasis has been placed on enhancing the students? ability to effectively acquire the four language skills: reading, writing, listening, and speaking. Specifically, the course attempts to ensure an academically acceptable performance on the part of the students at the level of the English basic courses. Moreover, the course aims at expanding students? vocabulary needed for various tasks.
3
This course aims to establish the concept of Islamic culture and its position among the other international cultures, its position in the Muslim life, its sources, its bases and its characteristics. It also aims to introduce the Islamic culture in faith, worship, relations, morals, and knowledge, to discuss the clash between cultures in addition to Globalization, Human Rights, Woman Rights, Democracy and other contemporary issues.
3
This course aims to improve the level of students in language skills and various literary, read and absorb and express written, and oral and tasted literary, through texts flags authors and poets in different eras, lessons in grammar and spelling, and brief definition months dictionaries and Arab old ones the modern and how to use them. This course aims to implement the Arabic language in the areas of reading and expression of both types oral and written communication.
3
University English I (E11000103) is a three credit-hour university-required English language course designed for students who need to work on the four skills of the language: reading, writing, listening, and speaking. The development of vocabulary and skills of comprehension are integral parts of the course. In addition, various reading strategies (making predictions, identifying main ideas, reading for details, relating information in the text to life experience) are introduced and developed through a wide range of topics for reading and writing. The course encourages a more analytical and independent approach to study and helps prepare the students for any subsequent exam preparation.
3
The course is mandatory for university students from various disciplines, so it provides students with knowledge and `information about the Palestinian reality and in particular the political developments of the Palestinian cause since its inception until the present day in line social and economic developments and political which constitute the main pillars for the study of the Palestinian political reality. This course aims to study the Palestinian issue from its beginning until present in social, economic and political issues.
1
This course aims to familiarize students with community institutions and their contribution through voluntary efforts to serve these institutions to achieve the SDGs. Students are required to complete a minimum of 50 hours of community service to successfully pass the course. Additionally, students must attend 6 guidance sessions on volunteer work and participate in intensive training for selected community service programs if they choose to engage in such programs.
1
The course aims to assist students in acquiring modern concepts in the field of communication and understanding the essential skills for effective communication with oneself and others. This is achieved through the use of effective teaching methods that rely on student engagement and motivation to learn through training and self-directed learning. The course emphasizes skill development through teamwork and interactive methods, helping students improve their verbal and non-verbal communication skills by learning public speaking and the fundamentals of oration. Additionally, it helps students develop active listening skills, and contributes to enhancing their abilities in dialogue and persuasion, overcoming public speaking anxiety, self-promotion, negotiation, job interviews, presentation and delivery, and writing. The course also provides students with knowledge about innovative and creative ideas that can be implemented, as well as how to write a resume. Furthermore, the course aims to refine students' personalities through participation in group presentations.
2
This course aims to enrich students with the basic computer skills alongside with the theoretical and practical backgrounds behind those skills. First of all, software and hardware components of a computer are discussed. This forms the substrate from which a student can realize the practical applications of a computer, especially in Artificial Intelligence (AI). Thereafter, the student awareness for the security vulnerabilities of a computer system is improved through discussing the threats associated with the absolute dependability on the Internet in storing critical data. This is conducted with presenting the basic secure Internet frameworks for students with emphasis on scientific research platforms (ResearchGate, Google Scholar, LinkedIn,?etc). Finally, word processing, statistical analysis and presentation software are discussed with practical applications in the lab.
3
University English II is a three-credit hour university-required English language course which is offered to students majoring in Sciences, Engineering, Agriculture, Veterinary, and Information Technology ... etc. Students in this course will be exposed to a range of science-based writings in English that supply students with samples of the kind of academic English they are likely to encounter in their textbooks. Exercises on grammar, vocabulary and textual organization are geared towards developing students? observational and analytical skills that aid comprehension. The course uses an integrated approach which allows for communicative interaction in the class to actively test and broaden the listening and speaking abilities of the students. Furthermore, the acquisition of vocabulary items will be reinforced through their use in written sentences. Additional training in writing will be given through questions and answers, summaries of principal ideas in a reading passage and the preparation of reports.

Speciality Requirements Student must complete 92 credit hours

Course Code Course Name Credit Hours Prerequests
3
This course covers the concepts of function, inverse function, models, limits, continuity and derivatives, the differentiation rules and their applications, related rates, linear approximation, and hyperbolic functions. The mean value theorem, indeterminate forms, L' Hospital's rule, curve sketching, and optimization problems.
3
    • 10211101
Definite and Indefinite integrals. The Fundamental Theorem of Calculus. The Substitution Rule. Applications of integration (Areas and volumes), Average Value of a Function. Techniques of Integration (Integration by parts, Trigonometric Integrals, Trigonometric Substitution, Integration by Partial Fractions, Improper Integrals). Applications of integration (Arc Length, Area of a Surface). Infinite sequences and series (The Integral Test and Estimates of Sums, The Comparison Tests, Alternating Series, Absolute Convergence and the Ratio and Root Tests, Power Series, Taylor and Maclaurin Series)
3
Topics covered in this course include set theory, relative frequency and probability, joint probability and independent events, random variables, distribution functions, density functions, Gaussian random variables, multiple random variables, joint-distribution functions, joint-density functions, conditional distribution functions, central limit theorem, random processes (stationary and independent), correlation functions, covariance, Gaussian random processes, spectral characteristics of random processes, the power density spectrum, cross-power spectrum, and the relation between correlation functions and power density spectra.
3
This course covers the following topics: motion in one and more dimensions, the laws of motion with an application of Newton?s laws, vector quantities, work and mechanical energy, linear momentum and collisions, and rotational dynamics
3
    • 10221101
This course is a study of the following topics: electric charges; forces and fields; electric potential and electric potential energy; electrical capacitance electric elements like capacitors, resistors, and conductors; electric current and direct-current circuits; magnetic fields; magnetic force; induction; and RC and RL circuits.
1
    • 10221105 or
    • 10221101
In this lab., experiments related to mechanics mostly covered in general physics I (10221101) are performed. This includes -Measurements -Vectors. -Acceleration on an inclined plane. -The speed of sound in air -Viscosity -Newton?s second law -Conservation of energy and momentum -Rotational dynamics -Simple harmonic motion. -Boyle?s law.
1
    • 10221106 or
    • 10221102
    • 10221107
In this lab., experiments related to electricity and magnetism mostly covered in general physics II (10221102) are performed. This includes experiments on: - Electric field and equipotential surfaces. - Current, resistance, and ohms law. - The CRO as voltmeter and frequency meter, - Wheatstone bridge (DC and AC). - Capacitance (series, parallel and RC circuit). - Earth magnetic field. - Resistance and Temperature. - Joule?s Constant. - Refractive index of glass.
3
This Course begins with an introduction to computers, hardware and software and problem-solving. This Course also includes an introduction to programming using C/C++ including: I/O; expressions and arithmetic; if, while and for statements; one-dimensional arrays, string handling, functions, scope, recursion and matrices.
3
    • 10671101
This Course covers more advanced C/C++ Programming Features including: pointers, dynamic memory, structures, text files, binary files, classes and objects.
0
A set of tasks is discussed, and students are asked to solve them in the lab. These tasks coincide weekly with the topics explained in Programming Principles 1.
0
    • 10671101
    • 10671103
A set of tasks is discussed, and students are asked to solve them in the lab. These tasks coincide weekly with the topics explained in Programming Principles 2.
3
    • 10671102
The course includes methods for creating dynamic websites, and covers programming techniques for different websites, as well as the MySQL information storage and retrieval language.
3
    • 10671102
This Course is an introduction to the various Data Structures which use an object-oriented language, such as Java. The Course covers: lists, stacks, queues, heaps, trees, search trees, hash tables, the analysis and implementation of data structures, recursion, sorting and searching.
3
    • 10671210
In this Course, students are introduced to the techniques used in the analysis of Algorithms and Design Methods: divide and conquer, dynamic programming, greedy algorithms, recursive, searching and sorting algorithms and Complexity Analysis.
3
    • 10671102
This Course offers students an introduction to UNIX operating system, interface, environment, commands, tools, and applications. Students are also introduced to programming under UNIX environment.
3
    • 10671101 or
    • 10681101
Topics covered are set theory, statements, mathematical induction, propositional and predicate logic, Boolean algebra, relations, functions, counting methods, graph theory, recurrence relations and examples applicable to computer science.
3
    • 10671102 or
    • 10221111
In this Course, students are introduced to: Boolean Algebra, the minimization of Boolean functions using Karnaugh Map and Quine-Mc-Cluskey methods, the design of Combinatorial Circuits, the design of Complex Digital Circuits, Sequential Circuits, State Assignment and Minimization, the design of a simple computer incorporating general registers, common addressing modes and conditional instructions.
1
    • 10671241
The Computer Logic Design Lab course aims to introduce students to the basics of designing and implementing digital logic circuits. This course aims to enhance students' understanding of the basic principles of digital circuit design and give them practical experience in using the tools and materials needed to build these circuits. The course typically includes the following activities: Introduction to digital circuits: Study basic logic gates such as AND, OR, and NOT gates, and how to use them to build complex circuits. Design of combinational circuits: Learn how to design and implement combinational circuits such as adders, decoders, multiplexers, and comparators. Design of sequential circuits: Study how to design sequential circuits that depend on the previous state, such as flip-flops, registers, and counters. Using design tools: Learn about computer-aided design (CAD) software such as Xilinx or Quartus to design and simulate digital circuits. Implementation and testing of circuits: Work on assembling circuits on breadboards or using FPGA boards to implement, debug, and test circuits. Application Projects: Design and implement small projects that employ the concepts learned during the course, such as designing a control unit or a simple system based on logic circuits.
3
    • 10211102
Topics covered include matrices, vectors, operations on matrices determinants, systems of linear equations and method of solutions; vector spaces, linear independence and basis; linear transformations, kernel and range; Eigen values and eigenvectors; with emphases on application of these topics in computer science.
3
    • 10671210
    • 10671231
This course dwells on syntax and semantics specification, discussion and comparison of basic programming styles and their underlying paradigms, such as imperative, functional, logic, and object oriented programming, data types, subprograms, runtime stack, parameter passing methods, exception handling.
3
    • 10221253 or
    • 10671244
Numerical computations on modern computer architectures, floating-point arithmetic, Error analysis and asymptotic notations. Programming with some special software related to numerical computations. Algorithms and computer techniques for the solution of problems such as Finding roots a function: bracketing and iterative methods, Roots: direct and indirect solution of systems of linear equations, Solution of nonlinear systems, Approximation and interpolation, Numerical integration and differentiation.
3
    • 10671210
    • 10671241
This course is an introduction to computer system organization and architectures, description of computer systems, memory hierarchy, central processing unit (CPU), instructions set and cycle, pipelining and super-pipelining, control unit, microprogramming, parallel computers.
3
    • 10671353
This course examines the software development process; analysis, specification, design, implementation, integration, testing, and maintenance. It covers software processes, project management, people management, software requirements, system models, architectural and detailed design, user interface design, programming practices, verification and validation, and software evolution. Structured software engineering techniques will also be examined.
3
    • 10671210
Students are introduced to database system concepts and architecture, data modeling using E-R Model, Relational model, Normalization, Operations on Relational model, Relational constraints and Relational Algebra, SQL-the relational database standard, security in SQL and a PL/SQL overview. Furthermore an overview of the Oracle system, Distributed databases and client-server Architecture will be provided.
3
    • 10671210
In this course, students learn about formal language and automata, overview of compiler phases, context-free grammars, syntax, directed translations, techniques used in lexical scanning, parsing and symbol table implementation, error diagnosis and recovery.
3
    • 10671210
Image formats, image recognition, image extraction, image processing primitives, and image indexing. Clustering: hierarchical and non-hierarchical methods, clustering using neural networks and genetic algorithms. Classifications: nearest neighbors, neural nets, and genetic methods. Image enhancement, segmentation, measurement, Fourier analysis, image storage and retrieval.
3
    • 10671210
    • 10671231
Covers the concepts of information assurance of basic computer security mechanisms. Introduces malicious code and how to defend it. Classical cryptography, conventional (symmetric) encryption and public key or asymmetric encryption, key management and exchange, digital signatures, certificates and authentication protocols. Electronic mail security, web security and protocols for secure electronic commerce.
3
    • 10672104 or
    • 10671321
This course covers operating systems history, basic issues in concurrency, deadlock control, synchronization, scheduling, memory management, process management, resource management, protection, access control, implementation of parts of a small operating system.
3
    • 10672101 or
    • 10671212
This course begins with an introduction to basic notations of communications, protocols, network topologies and 802.xx IEEE standards. Detailed descriptions of network layer models (IOS and TCP/IP) include; Application, Transport, Network, Data link and physical. Local area networks setting and configuration (case study) and introduction to NW security.
3
    • 10671421
This presents an introduction to Distributed systems, the Internet as a case study, introduction to parallel processing, multithreading, parallel processing interfaces and applications.
3
    • 10671212
Students receive instruction on basic concepts and techniques of artificial intelligence. Emphasis is placed on problem solving methods: blind and informed search, game playing: minimax and alpha beta pruning algorithms, representation of knowledge using predicate logic, resolution, backward-chining and Prolog, forward-chaining systems, inductive learning, decision trees, neural networks, planning and reasoning under uncertainty.
3
Introducing students to the principles of scientific research and how to write research that can be published in international conferences or journals
3
    • 10671497
In Fourth year, students are required to make a complete investigation, analysis, programming and implementation of a selected system. The students are required to deliver a presentation and demonstrate their work in front of a 3 person committee from the department.
3
320 hours of practical training.
3
    • 10681102
    • 10671212 or
    • 10681220
This course focuses on developing information systems using entity-relationship techniques and designing interfaces using visual development environments.

Speciality Optional Requirements Student must complete 12 credit hours

Course Code Course Name Credit Hours Prerequests
3
This course is designed for students to help them be involved in creative, innovative, entrepreneurial, and corporate ventures in the future. Subjects covered include introduction to entrepreneurship & creativity; developing successful business ideas; managing and growing an entrepreneurial firm; technical and financial feasibility studies; business models; market surveys; and business plan preparation.
3
    • 10671351
This course introduces object-oriented programming concepts. The course covers: class derivation, inheritance, dynamic polymorphism, object oriented analysis and design using UML language.
3
    • 10671351
Students, in this Course, learn about the construction of large Multi-Module Software Systems using object-oriented programming. Students also learn about an Integrated Development Environment (IDE) that supports Graphical User Interface and produce different kinds of applications using different Even Driven Techniques.
3
    • 10671210
This course gives an introduction to multimedia (MM) contents and the tools that produce MM contents. It also covers the design of a MM system considering the necessary resources in the form of CPU power, memory, bandwidth and storage system. The students will be able to produce MM applications that can run locally and over a network.
3
    • 10671210
    • 10671244
This course covers basic graphics operations and their implementations in 2 dimensions, introduction to OpenGL, devices for construction and display of computer-generated images, widowing and clipping, 2D geometric, transformation and viewing, 3D object representation, transformation and viewing.
3
    • 10671212
This course examines simulation and queuing models, random numbers generation, statistical sampling and analysis of data, simulation languages and selected applications.
3
    • 10671353
This course includes an introduction to GIS, GIS applications and Geospatial data, digital representation of Geospatial data, VECTOR Based GIS and RASTER based GIS.
3
    • 10681301
In this course, the student learns the fundamentals of mobile device programming through hands-on training in creating a variety of applications.
3
    • 10216230
    • 10671212
This course provides a comprehensive introduction to the field of data science. Students will learn the fundamental concepts and techniques to extract insights and knowledge from data. By the end of the course, students will be equipped with the skills necessary to analyze and interpret complex data sets, make data-driven decisions, and communicate their findings effectively. The course covers various topics, including: Data Collection and Cleaning: Methods for gathering and preparing data from various sources for analysis. Exploratory Data Analysis: Techniques for summarizing and visualizing data to uncover patterns and insights. Statistical Inference: Principles of statistical reasoning and hypothesis testing. Machine Learning: Introduction to machine learning algorithms, including supervised and unsupervised learning. Data Visualization: Tools and techniques for creating effective visual representations of data. Big Data Technologies: Overview of tools and frameworks used to handle large-scale data sets, such as Hadoop and Spark. Case Studies and Applications: Real-world examples and projects to apply data science techniques to solve practical problems.
3
    • 10671351
This course provides a detailed exploration of software testing principles, techniques, and tools. It is designed to equip students with the skills necessary to ensure the quality and reliability of software products. By the end of the course, students will have a solid understanding of software testing methodologies, be able to design and execute test plans, use automated testing tools, and manage defects effectively to deliver high-quality software products. Key topics covered in this course include: Introduction to Software Testing: Overview of the importance of software testing and its role in the software development lifecycle. Testing Levels and Types: Study of various levels of testing such as unit testing, integration testing, system testing, and acceptance testing. Examination of different types of testing including functional, non-functional, regression, and performance testing. Test Planning and Design: Techniques for creating effective test plans and designing test cases based on requirements. Test Automation: Introduction to test automation tools and frameworks, and their application in speeding up the testing process. Defect Management: Methods for identifying, reporting, and tracking defects throughout the testing process. Quality Assurance Practices: Best practices for ensuring software quality and maintaining high standards throughout the development process. Case Studies and Tools: Practical application of testing techniques using industry-standard tools such as Selenium, JUnit, and TestNG.
3
This course provides a rigorous introduction to the fundamental concepts of computation theory. It aims to equip students with a deep understanding of the theoretical underpinnings of computer science. Key topics covered in this course include: Formal Languages and Automata: Study of regular languages, context-free languages, finite automata, and pushdown automata. Turing Machines: Introduction to Turing machines, the Church-Turing thesis, and the concept of decidability. Computability Theory: Exploration of recursive and recursively enumerable sets, undecidable problems, and the Halting problem. Complexity Theory: Examination of time and space complexity, the classes P, NP, and NP-complete problems, and the concept of polynomial-time reductions. Advanced Topics: Introduction to advanced topics such as probabilistic computation, quantum computing, and complexity classes beyond NP. Throughout the course, students will engage in theoretical exercises and problem-solving to develop a solid understanding of how these theoretical concepts apply to real-world computing problems. By the end of the course, students will be prepared to analyze computational problems rigorously and understand the limits of what can be computed.
3
    • 10671421
This course covers advanced topics in operating systems, comparative studies of different types of operating systems and studies of a modern operating system in depth.
3
    • 10671353
Students will study advanced concepts in creating and managing tables, storage access and index structure.. In addition, they will learn Distributed DB concepts, create and maintain constraints, and create views, PL/SQL block and its sections. They also learn about Triggers, functions, procedure and packages, along with Database connectivity (ODBC, OLE, and ADO), managing users. Practical tools are used to implement the different concepts. Form builder, report builder and Oracle 10g are used.
3
    • 10671473
Students in this course learn how to use network protocols in transferring data between different applications, TCP and UDP protocols, uni-casting, multicasting and broadcasting. Introduction to socket API, construction of distributed applications, error detection and design of Internet applications.
3
    • 10671473
This course is continuation of computer networks and introduces wireless Networks which comprises of Wireless Personal Area Networks (WPAN), Wireless Local Area Networks (WLAN), and Wireless Wide Rea Networks (WWAN). The course contents include physical layer standards, medium access control, building and securing WLAN, Wide Area Networks including cellular networks and cellular data networks.
3
    • 10671212
    • 10216230
This course provides an in-depth introduction to machine learning and deep learning. Students will learn the foundational principles, algorithms, and practical applications of these fields. Key topics covered in this course include: Introduction to Machine Learning: Overview of machine learning, its applications, and key concepts such as supervised, unsupervised, and reinforcement learning. Regression and Classification: Techniques for regression analysis and classification, including linear regression, logistic regression, and support vector machines. Model Evaluation and Selection: Methods for evaluating model performance, cross-validation, and techniques for model selection. Clustering and Dimensionality Reduction: Exploration of clustering algorithms such as k-means and hierarchical clustering, as well as dimensionality reduction techniques like PCA and t-SNE. Neural Networks: Fundamentals of neural networks, including perceptrons, feedforward networks, and backpropagation. Deep Learning Architectures: Study of advanced deep learning models such as convolutional neural networks (CNNs), recurrent neural networks (RNNs), and generative adversarial networks (GANs). Practical Implementation: Hands-on experience with popular machine learning and deep learning frameworks such as TensorFlow, Keras, and PyTorch. Case Studies and Applications: Real-world applications of machine learning and deep learning in areas such as computer vision, natural language processing, and recommendation systems. By the end of the course, students will be equipped with the skills to design, implement, and evaluate machine learning and deep learning models, and apply them to solve complex problems.
3
Students are introduced to advanced selected topics in different areas of computing.

Speciality Optional Requirements, Second Set Student must complete 4 credit hours

Course Code Course Name Credit Hours Prerequests
3
A discussion of biological activity at the level of the cell, including cell structure, chemical constituents, architecture, material exchange with the environment, the role of the cell membrane, major energy generating biochemical pathways, cellular respiration, photosynthesis, control of cellular activities and basic concepts in genetics.
3
    • 10201101
A discussion of biological activity at the level of the organism, including structure and function of body parts, and responses of organisms to their biological and physical environments.
1
    • 10201101
This course covers scientific background and practical procedures for the various experiments on biological principles discussed in General Biology I 10201101
1
    • 10201107
    • 10201102
This course covers scientific background and practical procedures for the various experiments on biological principles discussed in General Biology II (10201102).
3
A compulsory 3-lecture course that is mainly designed to give students a knowledge of the most important chemical principles such as atomic structure and periodic table, mass relationships in chemical reactions, reactions in aqueous solutions, gases, thermo chemistry, quantum theory and the electronic structure of atoms, periodic relationships among the atoms, basic concepts of chemical bonding, molecular geometry and hybridization of atomic orbitals.
3
    • 10231101
A compulsory 3-lecture course that is a continuation of General Chemistry (I). It is designed to introduce some basic chemical facts and theories about solutions, kinetics, dynamic equilibrium, thermodynamics, electrochemistry and nuclear chemistry
1
    • 10231101
A compulsory practical course, designed to introduce the students to various experimental practices used in general chemistry, such as accurate weighing, performing basic chemical methods such as filtration, titration and gravimetric analysis, make simple metathesis and redox reactions, calorimetry experiments and calculations.
1
    • 10231102
    • 10231107
A compulsory practical course that is a continuation for skills gained in Chemistry 10231107 course. The student is expected to use what he/she learned in new techniques such as the synthesis and analysis of aspirin, molar mass of a solid from freezing point depression phenomena, experimental determination of the reaction rate law. The course involves other topics such as: reaction kinetics, chemical equilibrium, aqueous solutions and pH concept, bleach analysis, thermodynamics and electrochemistry.

© 2025 An-Najah National University