جامعة النجاح الوطنية
An-Najah National University
Computer Science Apprenticeship Program
Duration: 48 Months (4 Years)
Degree Awarded: Bachelor
Student must complete 134 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 connect university students with charitable, community, and public institutions, while also enhancing students? role towards society and familiarizing them with humanitarian needs by providing assistance to targeted groups. It seeks to improve the living conditions of marginalized and impoverished populations. The course prioritizes achieving the greatest possible number of Sustainable Development Goals (SDGs) within the Palestinian context. This is not only through raising awareness and introducing these goals, but also by offering students opportunities to engage practically in implementing various SDGs locally. Students will participate in programs, projects, and activities aimed at reducing poverty and hunger, providing medical services, treatment, and medication to marginalized and poor groups, supporting gender equality and education, including persons with disabilities and special needs, preserving water resources and natural resources, raising awareness on alternative and clean energy, caring for the environment and agriculture, recycling solid materials, rejecting discrimination, promoting green spaces, and encouraging productive and forestry farming. Students enrolled in the course can join different stages designed with alternatives for each phase, allowing them to complete the requirements under flexible conditions. This approach benefits the community while developing students? skills and experiences.
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 97 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
This course is given to non-physics students, it includes the following topics: - Classical mechanics: Motion and Newton's Laws, Circular motion and applications, Energy transfer, and Linear and angular momentum. - Fluid mechanics, vibrations and wave motion - Thermodynamics - Electricity and magnetism: Gauss law, electric circuits, and Sources of magnetic fields. - Light and lasers. - Microscopes.
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.
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
    • 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
The purpose of this course is to understand and use discrete structures that are backbones of computer science. In this course, topics on propositional logic, predicate logic, sets, functions and relations, counting methods, mathematical induction, recursion, algorithms, graphs, trees etc, will be introduced. During the semester students will learn to recognize and express the mathematical ideas graphically, numerically, symbolically, with an emphasis on applications in computer science.
3
    • 10671101
This Course is an introduction to Computer System Organization and Architectures, a description of Computer Systems, Neumann/Imperative computational model, memory hierarchy, Central Processing Unit (CPU), ARM instruction set and cycle, pipelining and super-pipelining, Control Unit, Micro-Programming and Parallel Computers. Moreover, the interaction between computer hardware and system programs like Assembler, Library, Linker, Loader, Interpreter and Operating System is outlined in this course.
3
    • 10671101
This course outlines basic concepts and methods of probability principles using python. It covers topics related to sets theory, probability theory, counting principle, discrete and continuous random variables, operations on random variables, various distribution functions besides analyzing their properties ( bernoulli, binomial, poisson, geometric, normal distribution, exponential distribution, multivariate normal distribution). Studetns learn also to implement and visualize the previous subjects using python. Finally, the course introduces the concept of bayes rule and its usage in univariate predictions.
3
    • 11000103
In this course, basic guidelines required to improve communication skills and critical thinking for students, to maintain healthy and effective relationships, and to demonstrate appropriate and professional ethical behaviour. Also, students learn the best methods of communication for negotiation, create convincing messages, ask thoughtful questions, and engage in active listening. In addition, the basic knowledge needed to prepare technical reports is introduced to students.
3
    • 10672101
This course introduces the theory of computation, including models of computation such as Turing machines; theory of programming languages, including grammars, regular expressions, parsing, syntax and semantics. On the other hand, graph-based models of computation are discussed, such as finite state automata.
4
    • 10671101
This course a great opportunity for students to develop various technical and non-technical skills, within a context that students will find relevant and engaging: a project to create a web-based application. These skills help students to succeed both during their time at University and, more importantly, in their future working life. Such acquired skills include group working, self- and peer- learning, setting goals and managing progress towards them, innovation and design. Students in this course, will acquire deep knowledge on front-end Web-based application development by leaning concepts in HTML, Javascript, and CSS. During this course, students are encouraged to assess their own knowledge and decide what extra information they need and how they will obtain it throughout the so-called Enquiry-based learning.
4
    • 10672202
    • 10672218
This course is a continuation of course ?Team Project 1?, where students will work as groups towards building upon what have been achieved in ?Team Project 1? by utilizing new technical skills acquired from previous courses, such as DBMS. In this course, students focus on obtaining knowledge in backend Web development using Node JS platform. Topics covered in this course include introduction and installation to Node Js platfrom, Node package manager, Express framework, debugging options, static files (CDN, public directory, node modules), setting up tooling (Running ESlint, ES6, global vs local, refactoring vs coding, setting up nodeman), templating engines, routing, databases, autentecation, structure and third party APIs
3
    • 10671210
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. The course will combine a strong technical focus with a capstone project providing the opportunity to practice engineering knowledge, skills, and practices in a realistic development setting with a real client.
3
    • 10671101
Students, in this course, are introduced to concepts of database systems and architecture, data-modelling using the E-R Model, the relational model, normalization, operations on relational models, relational constraints and relational algebra, SQL (relational Database Standard), security in SQL and, and overview of PL/SQL. Furthermore, an system overview will be provided for the oracle system, distributed databases and client-server architecture
3
    • 10216302 or
    • 10672110
    • 10671210
This course will introduce the fundamental concepts and techniques used to design and build intelligent computer systems. A particular focus will be on the statistical and decision-theoretic modeling paradigm. Students will learn the fundamentals of building software agents which are capable of performing intelligently by either accomplishing computation, e.g., searching, or by drawing inferences by learning from data. Students will understand what supervised machine learning algorithms are and how they can be employed in classifying handwritten digits and photographs. The techniques you learn in this course apply to a wide variety of artificial intelligence problems and will serve as the foundation for further study in any application area you choose to pursue.
3
    • 10671212
    • 10672203
This is the first internship course that allows students to be exposed, at an early stage, to the private sector environment. This include: interviews, communication skills, the attendance of the daily and planning meeting. Students are given small-scale real-world problems and asked to solve them within a specified timeframe. Students then present their solutions to the team.
5
    • 10672224
In this course, students delve into topics related to supervised machine learning. This includes convex functions, gradient descent, linear models, polynomial regression, logistic regression, decision trees, knn, ensemble methods, model evaluation, feature engineering, model interperability, cross validation and hyper parameter optimization. This course also review students with topics related calculus and basic linear algebra. Students also work on projects related to end-to-end machine learning life cyclic, including preparing machine learning models offline using state-off the art technology in addition to MLOps techniques.
5
    • 10672311
This course covers different modules related to neural networks and deep learning. Examples are feed forward neural networks and the mathemimatics behind it. It also covers several topics related to convolutional neural networks with applications to image analysis. Finally, the course covers topics related to recurrent neural networks. Students will have hands on experience on training and using deep learning in solving problem related to a variety of applications.
3
    • 10672218
    • 10671212
The course starts with a background to spatial analysis in Geography and then covers topics in spatial data modeling, structuring, raster and vector analysis, point pattern analysis, spatial autocorrelation analysis, geo statistics, spatial regression, and spatial indexing. It also looks into basic geometrical frameworks for describing phenomena in space; distance metrics; gridded space; overlay analysis; boolean and continuous classification; networks; typology of spatial analytical methods based on point, line, polygon and gridded types of data; Transformations; Map Algebra.
3
    • 10671212
In this course, students learn the theory, design, and implementation of text-based information systems. Topics include statistical characteristics of text, representation of information needs and documents, several important text indexing and retrieval models (Boolean, vector space, probabilistic, learning-to-rank, and link analysis). In addition, well-known and solid text indexing and search frameworks, e.g., Elasticsearch are introduced. Students not only will gain theoretical knowledge but also they will practise the implementation of some IR techniques while working on assignments and projects.
3
    • 10672311
This course provides both theoretical and practical techniques to Knowledge Discovery and Data Mining (KDD). It explains data techniques for the discovery, interpretation, and visualization of patterns. Topics covered in this course include cluster analysis, recommender system, frequent itemset mining, network analysis, mining time series, outlier analysis, and mining stream data.
3
    • 10672218 or
    • 10671353
This course will introduce students to the major activities involved in a data warehousing project. This course covers dimensional modeling, changing dimension, cube data model, data warehouse requirements, and ETL overview are discussed. Moreover, students will gain knowledge on Ad Hoc Query tools and Online Analytical Processing OLAP systems
3
    • 10672311
This course provides an introduction to fundamental topics on natural language processing, where students study the interaction between the computer system and natural languages. In this course, students learn how to build computer solutions for tasks where natural (human) language is the main input. By the end of the course, students will have adequate knowledge, skills, and technologies that enable them to properly handle large amounts of textual content and extract useful information.
5
    • 10672205
    • 10672226
The second internship course where students, as teams, are asked to chooses real-world problems to work on in companies based on their track.
5
    • 10672439
This is a continuation internship course to ?Internship 2?. The main goal is to build up a proof-of-concept solution to the problem defined in ?Internship 2?.

Speciality Optional Requirements Student must complete 18 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
    • 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
    • 10672110 or
    • 10211102
This course is an introductory course on mathematical statistics, summary statistics, and statistical inference. Students get introduced to the data preprocessing pipeline, including data and dataset types, data cleaning, data normalization, outlier removal. Then, students learn concept related to explorative data analysis for numeircal and categoral data types. In addition to this, students learn concepts related to histograms and sample statistics, detailed coverage of Gaussian (normal) distribution, and the lognormal distribution, sampling distributions, and tests of significance are also offered in this course. On the other hand, students will study topics on analysis of variance, multiple variables with emphasis on the bivariate case, correlation and regression. Students use different datasets to implement the above concepts using python programming language.
3
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
The ultimate goal of this course is to help students fulfil their dreams of becoming entrepreneurs and achieving the independence that comes with business success to prepare students for leadership and the direction of innovation in all its ambits, from the management of innovation systems (new products, services, business models and processes) to the creation of new business opportunities (start-ups) and models (entrepreneurship).
3
    • 10672205
The main objective of this course is to familiarize the students with recent technological advancements in manipulating, storing, and analyzing big data. The emphasis of the course will be on practicing different components of Spark 3.0, as the most important big data framework. Students will gain hands-on experience through multiple practices on Spark SQL, Spark ML (Machine Learning) API and Spark Streaming. Students will be exposed to NoSQL storage solutions exemplified by MongoDB for their: speed of reads and writes, and ability to scale to immense volumes. In addition, topics in analyzing huge amounts of textual content using Spark NLP technology will be covered as well.
3
    • 10672205
In this course, a set of aspects affecting software quality are introduced, which include functionality, reliability, usability, efficiency, maintainability, and portability. Techniques for assessing the quality of software with respect to such factors, and methods for improving the quality of both software products and software development processes. Security as a fundamental aspect of quality, inspections, code reviews, and testing methods using white box, black box, control flow, and data flow are also offered in this course.
3
This course introduces the concept of ontology and its applications in the Semantic Web. You?ll learn how to design and develop knowledge models that represent concepts and relationships between data on the web.
3
    • 10671473
    • 10671421
Cloud Computing Course: This course introduces the fundamentals of cloud computing, including cloud service models (IaaS, PaaS, SaaS), deployment models (public, private, hybrid), and key technologies. You'll learn how to design, deploy, and manage cloud-based applications and infrastructure, with practical insights into popular platforms like AWS, Azure, and Google Cloud. The course covers scalability, security, and cost management, providing hands-on experience to prepare you for real-world cloud computing challenges.
3
This Course will cover the basic concepts of Software Project Management. It will explore: planning techniques and tools, policies and standards, users' needs and requirements, reports and proposals, hardware and software evaluation, economic issues, cost-benefit analysis, managing and organizing system resources, protecting data and programs, project management techniques, non-traditional development techniques, CASE tools, problems of conversion and human-system interface, systems maintenance and re-engineering and system documentation.
3
    • 10672224
This course explores the Internet of Things, focusing on the integration of physical devices with digital networks to enable smart systems and automation. You?ll learn about IoT architecture, sensors, communication protocols, and data management. The course covers designing and developing IoT applications, including real-time data processing, cloud integration, and security considerations.
3
This course provides a comprehensive overview of the field of health informatics, focusing on how technology is used to enhance healthcare delivery. You?ll learn about electronic health systems, medical data management, and health data analysis. The course also covers concepts of security and privacy in health information.
3
This course introduces the principles and technologies of virtual reality. Students will learn how to design and develop immersive applications using specialized tools, and explore their applications in fields like gaming, education, and healthcare. The course also covers human interaction with virtual systems to ensure an excellent user experience.
3
    • 10672224
This course introduces the use of artificial intelligence in game development. You?ll learn how to design intelligent characters, generate levels automatically, and analyze player behavior. The course covers tools and algorithms used to create interactive and engaging games.
3
This course provides a comprehensive overview of cybersecurity principles and techniques. Students will learn how to protect systems and networks from cyber threats, including attack prevention, risk management, and encryption. The course also covers intrusion detection, incident response, and ensuring the security of information and data in various digital environments.
3
    • 10672352
This course delves into advanced techniques and concepts in Natural Language Processing (NLP). You?ll explore deep learning algorithms, state-of-the-art language models, and large-scale text analysis.

© 2025 An-Najah National University