HOD Messege
On behalf of the Computer Science Department's Staff, it is my pleasure to welcome you.
The Department of Computer Science offers students a Bachelor's degree in Computer Science that suits their academic interest and market needs. Computer Science students are studying a wide array of subjects, including computer organization, programming languages, smart phones programming languages, Web Programming ,System Analysis, database management systems, data structure and algorithms, and artificial intelligence. The students are exposed to the broad spectrum of computer software courses . Our students are supplied with the knowledge and skills needed for high-quality work and to improve their ability and skills with a broad intellectual spectrum so that they will be ready for diverse and competitive career paths. Educating students is the main goal of our department. We strive to engage students in practical group projects and encourage research and information exchange with students at major local and international universities. One of our projects was to send students to Slovenia to spend a full semester there in one of the most prestigious universities interested in the field of computers.
Best Regards
Mr. Mohammed Khillah
Head of Computer Science Department
.Department Intro
The computer science major focuses on building the student in many aspects that are the basis for his launch into the labor market strongly, such as programming, databases, data science, software engineering, systems analysis, artificial intelligence, web development, smartphone application development and information security
:Areas of work
- Programming
- Databases and Management
- Data science and artificial intelligence
- Software engineering and systems analysis
- Website development
- Smartphone application development
- Information security
- Computer systems and Networks
- Management, entrepreneurship and self-employment
- And the latest developments of accelerated technology
:Areas of self-employment
- In addition to the areas mentioned above
- UX/UI interface designer
- Project management
- Programming and development
- SEO specialist
- Game development
- Systems Analyst
CS Course Description
Course Name |
Code |
Course Description |
Intrduction to Computer Science & Internet
|
UNRE1102 |
This course introduces the student to the basic practical concepts in Windows10 environment such as the control panel, File searching, desktop environment. This course includes skills of word processing, spreadsheets, presentation management and basics of communication using Internet and e-mail services. |
Entrepreneurship and Small Business Management |
UNRE1203 |
Introductory course in computer science appropriate for all students. Topics include how computers work, its structure, peripheral devices, software, numerical systems, internet. |
Introduction to electricity and electronics |
BAFA3327 |
Entrepreneurship and Freelancing Course will teach the students how does a good idea become a viable business? And what is entrepreneurship and freelancing and if they fit the profile of an entrepreneur or a freelancer? This course is designed to introduce the foundational concepts of entrepreneurship, small business and freelancing including the definition, the profile of the entrepreneur or freelancer, the difference between these concepts. It will provide them with the knowledge and skills and techniques for identifying the opportunity, assessing the opportunity, hypothesis testing and creating a prototype. By the end of this course, they will know how to test, validate and prototype their ideas, and also whether or not they fit the profile of an entrepreneur or a freelancer! This course will mix between the lectures style with case study and action-based activities like assignments |
Introduction to information technology |
CSCI1311 |
This course deals with analysis techniques that can be applied to electrical circuits. We will first discuss electrical quantities-voltage and current-relevant to such circuits and learn about basic elements (R, L, C, controlled sources) and their properties. We will then move on to general analysis techniques and design of electric circuits, voltage, current, power, energy, resistance, capacitance, inductance. Kirchhoff's laws node analysis, mesh analysis, Thevenin's theorem, Norton's theorem. In addition, we will introduce the basic principles of semiconductor devices and their various circuit applications such as diodes, bipolar junction transistors etc. |
Programming 1 |
CSCI1324 |
This course helps the student to have a deep understanding of the basic concepts of information technology fields, starting with the impact of modern technology tools, the Internet and how to use it properly, the tools and techniques needed to navigate and search the web, system programs and applications and how they work, introductions to networks, databases and software algorithms, how to deal with privacy and security |
Programming 2 |
CSCI1325 |
This course is an introductory level class designed to provide students with a comprehensive and approachable introduction to fundamental programming techniques and design skills in Java, helping students directing basic concepts |
Computer logic design |
CSCI1326 |
This course covers the fundamental object-oriented programming concepts. It includes concepts of classes and objects, interfaces, and inheritance. Working with inputs and outputs, and how to handle exceptions in Java. |
Computer Ethics |
CSCI1327 |
The course covers the basic elements used in the design of digital circuits. It covers logic gates, Boolean algebra, logic expression minimization, combinational logic, sequential logic, memory, and programmable logic arrays. It demonstrates concepts through the design of a variety of logic circuits such as adders, Comparators, Decoders, Encoders, Code Converters, Multiplexers, Demultiplexers, Parity Checkers, counters, registers, Programmable Logic Devices, and memories. |
Data structures |
CSCI2327 |
This course introduces the students to the concepts and theories of computer ethics, the responsibilities of those who work with computers, either as computer science professionals or end users. It educates students how to take decisions in ethical issues related to information technology field, and covers important topics such as intellectual property, privacy, security, reliability, and liability, and cybercrimes. |
Databases and management |
CSCI2328 |
This course provides the students with description about the fundamental data structures and algorithm analysis, and how to use these structures with effective algorithms. It covers Recursion, Stacks, Queues, Deques, List and Iterator, Trees, Priority Queues & Heaps, Maps, and Hash Tables, Graphs |
System Analysis and Design |
CSCI2330 |
This course introduces the fundamental concepts necessary for designing, modeling, using, and implementing database systems and database applications. The languages and models provided by the database management systems and database system implementation techniques |
& Computer Architecture Assembly language |
CSCI2332 |
This course provides students with a broad perspective on system analysis and design. It explains the system development life cycle methodology that allows for a logical progression of topics, and some other methodologies like Agile methodology. Explain the process of managing an information system project, and how the commercial package can be used to assist in representing and managing the project schedules, skill may be needed to accomplish the process. Explain the skills and concepts that are applied throughout the development, including system concepts and project management. |
Databases 2 |
CSCI2343 |
This course introduces the students to the history and principles of computer architecture, computer organization, assembly language and machine code, computer arithmetic, ALU designs. Computer performance, data path and control, pipelining, memory hierarchy, IO devices, multiprocessor architecture. |
Internet programming |
CSCI2344 |
This course introduces students to PL/SQL, Oracle’s procedural extension language for SQL and the Oracle relational database. It explains the differences between SQL and PL/SQL, and the characteristics of PL/SQL, where students will develop advanced database systems. In this course students can provide a database solution for a business or organization. |
Programming 3 |
CSCI2368 |
This course introduces the fundamentals of web development using recent web technologies such as HTML5, CSS3, JavaScript and jQuery. It covers structuring webpages using HTML5 and CSS tags, development of basic functionalities such as form validation and accessing Document Object Model (DOM) using JavaScript and jQuery, and creating responsive web design using CSS media queries and Bootstrap. |
Distributed Systems |
CSCI2370 |
This course covers the advanced object-oriented programming topics. It includes concepts of GUI programming. IO streams, working with threats, and networks using Java. |
Operating Systems |
CSCI3321 |
The course introduces the main principles underlying distributed systems: processes, communication, naming, synchronization, consistency, fault tolerance, and security. Students will be familiar with some of the main paradigms in distributed systems: object-based systems, file systems, web-based and coordination-based systems. On the completion of the unit, students will understand the fundamentals of distributed computing and be able to design and develop distributed systems and applications. |
Computer Networks |
CSCI3347 |
The course aims to explore the importance of the operating system and its function. The different techniques used by the operating system to achieve its goals as resource manager. The course also explores how application interacts with the operating system and how the operating systems interact with the machine. Also, the course shed light on some of the existing operating systems and how the topics taught in the course are applied in these systems. Some topics in the course are implemented by witting the programs to practically know how |
Wireless Computer Networks |
CSCI3349 |
This course provides students all concepts and fundamentals of modern computer networks; it is about contemporary protocols and technologies as well as the underlying principles behind these protocols. It covers protocol layering: Application, Transport, Network, and Link |
Internet Programming 2 |
CSCI3357 |
This course provides students up-to-date knowledge in modern wireless networks; it includes Wireless Links and Network Characteristics, CDMA, WiFi: 802.11 Wireless LANs, The 802.11 Architecture, The 802.11 MAC Protocol, The IEEE 802.11 Frame, Mobility in the Same IP Subnet, Advanced Features in 802.11, Personal Area Networks: Bluetooth and Zigbee, Cellular Internet Access, An Overview of Cellular Network Architecture, 3G Cellular Data Networks: Extending the Internet to Cellular Subscribers, 4G: LTE, Mobility Management: Principles, Addressing, Routing to a Mobile Node, Mobile IP, Managing Mobility in Cellular Networks, Routing Calls to a Mobile User, Handoffs in GSM, Wireless and Mobility: Impact on Higher-Layer Protocols, and some advanced topics about WiFi, WiMAX, Security, and Multimedia over wireless networks. |
Data Sciences |
CSCI3369 |
This course covers the important topics of pattern design and dynamic websites development using server-side scripting with PHP. It covers PHP basics of syntax. Students will also learn how to combine PHP and MySQL to create dynamic webpages. Also, it covers using frameworks such as larval and AngularJS and Web MVC framework. |
Artificial Intelligence |
CSCI3375 |
This course provides the students an overview of data sciences topics such as big data management, and data wrangling. It provides the students with basic skills related to statistics and data analysis. An introduction about machine learning, pattern evaluation, data mining, and data visualization is also presented. Some programming tools will be included to help student practice covered topics. |
Information Security 1 |
CSCI4325 |
This course presents a comprehensive introduction to Artificial Intelligence techniques and underlying theory. Topics include problem solving and planning, knowledge representation techniques, reasoning engines and expert systems, and a tour of various application areas of Artificial Intelligence including machine learning, natural language processing and high-level computer vision. In addition, the course introduces some basic search algorithms for problem solving; knowledge representation and reasoning; fuzzy logic; and neural networks. |
Information Security 2 |
CSCI4325 |
This course introduces the main security principles in computer and information technology world. It discusses various attack techniques and how to defend against them. Topics include network attacks and defenses, operating system holes, web security, e-mail security, malware, and privacy. the course also provides the foundation for understanding the key issues associated with protecting information assets, determining the levels of protection and response to security incidents, and designing a consistent, reasonable information security system, with appropriate intrusion detection and reporting features |
Software Engineering |
CSCI4326 |
This course provides the students an advanced knowledge in the information security topics such as data encryption techniques, public key cryptosystems, cryptographic has functions and protocols. Also, a good focus will be on wireless network and mobile security. And special topic will be on secure software engineering |
Field training (computer science) |
CSCI4351 |
This course provides complete description about the software project life cycle starting from Requirements Gathering, High-Level Design, Low-Level Design, Development, Testing, Deployment, Maintenance, and finally Wrap-Up. |
Graduation Project (1) Computer Science |
CSCI4353 |
The practical training period extends for eight weeks during the summer semester period for the third or fourth year of the computer science plan after the student completes 100 credit hours. During the training period, the student will pass practical training in a government institution, private company or public institution in one of the fields of computer science, after the approval of the college. At the end of the course, the student submits a report on what has been accomplished at the training and submits a copy of the completed work to the faculty |
Graduation Project (2) Computer Science |
CSCI4354 |
The graduation project examines students to go beyond the learning that occurs as the result of their prescribed educational program by developing projects that demonstrate their intellectual, technical and creative abilities. Students should complete their projects in areas of concentrated study under the supervision of faculty members. The projects will demonstrate the students' ability to apply, analyze, synthesize, evaluate information, and communicate significant knowledge and comprehension. Personal growth and satisfaction are associated with the graduation projects. Opportunities to expand their personal knowledge, explore careers, and apply learning to real life situations will serve to benefit the students' growth and promote lifelong learning. |
Neural Networks |
CSCI4355 |
The graduation project examines students to go beyond the learning that occurs as the result of their prescribed educational program by developing projects that demonstrate their intellectual, technical and creative abilities. Students should complete their projects in areas of concentrated study under the supervision of faculty members. The projects will demonstrate the students' ability to apply, analyze, synthesize, evaluate information, and communicate significant knowledge and comprehension. Personal growth and satisfaction are associated with the graduation projects. Opportunities to expand their personal knowledge, explore careers, and apply learning to real life situations will serve to benefit the students' growth and promote lifelong learning. |
Advanced Topics in Computer Science |
CSCI4369 |
In this course students will understand the Neural networks that provide a model of computation drastically different from traditional computers. Typically, neural networks are not explicitly programmed to perform a given task; rather, they learn to do the task from examples of desired input/output behavior. The networks automatically generalize their processing knowledge into previously unseen situations, and they perform well even when the input is noisy, incomplete or inaccurate. These properties are well-suited for modeling tasks in ill-structured domains such as face recognition, speech recognition and motor control. |
Mobile Programming 1 |
CSCI4373 |
This course for presenting new topics in computer science. Topics may vary from year to year according to the interest of faculty and students and according to the market needs. |
Mobile Programming 2 |
CSCI4374 |
This course is an introductory level to mobile application development for the Android platform. Students will learn application development on the Android platform. Topics include memory management; user interface design; user interface building; input methods; data handling; network techniques. Students are expected to work on a project that produces a mobile application. |
Artistic English |
CSCI4376 |
This course covers the fundamentals of mobile application development using Apple iOS. The course starts covering the programming language Swift, using the integrated development environment Xcode, and cross-platform frameworks (e.g. React). The students will create a basic application and adding new features until they implement a real, usable application. |
Human-computer interaction |
ENCL2327 |
This course develops the professional English language skills students need to work and study in a technological environment. It helps students to acquire knowledge of computers and IT expertise in English. It helps students working in an IT industry where English has become the required language. It develops student vocabulary to enable him to communicate more effectively on technical subjects, and student will use realistic tasks to prepare him for the IT working environment. In addition, it focuses in developing oral presentation and technical report writing skills. |
Virtual Reality |
GMCI2349 |
This course is an interdisciplinary course that integrates concepts from computer science, cognitive psychology, and graphic design. The course introduces the basic concepts of human-computer interaction. It is concerned with the design, evaluation and implementation of interactive computing systems for human use. The students will gain principles and skills for designing and evaluating interactive systems. Much emphasis is given to the development process for user interaction designs. User interaction development activities include requirements and task analysis, usability specifications, design, prototyping, and evaluation |
Calculus 1 |
GMCI4369 |
Introduce the students to the new concepts, techniques and applications of virtual reality in multimedia and CS. The major areas of study include an overview of virtual reality systems, both hardware and software, and computer graphics techniques used to simulate virtual environments. Problems relating to interacting with the virtual world, including depth perception, the selection of objects, and the movement of objects are studied. Also, problems relating to the interaction and collision of objects within the environment are studied |
Calculus 2 |
MATH1321 |
Methods of finding Limits, Continuity, Derivatives and their roles, Some applications on derivatives, Integrations, Definite and Indefinite integrals. |
Discrete Mathematics |
MATH1322 |
The inverse function, the natural logarithm and exponential function, the inverse trigonometric function, methods of integration (substitution, by parts, partial fraction, trigonometric substitution), sequences and series, convergent series, power series, Taylor and Mack Lorine series, the binomial series. |
Design and analysis of algorithms |
MATH2324 |
This course teaches the students techniques in how to think logically and mathematically and apply these techniques in solving problems. This class is meant to introduce logic, proofs, sets, relations, functions, counting, and probability, with an emphasis on applications in computer science. |
to CS & the Internet Intro._ Practical |
MATH3341 |
Algorithms are essential to the study of computer science this course introduces the fundamental techniques for designing and analyzing algorithms. Topics will include concepts of algorithm complexity, and various algorithmic design patterns like asymptotic analysis; divide-and-conquer algorithms, greedy algorithms and dynamic programming. Course will also cover major algorithms and data structures for searching and sorting, graphs, and some optimization techniques. |
Internet of things and smart systems
Overview and advantages:
In line with the developments of technology and its various sectors, and in response to these developments, the "Internet of things and smart systems" track was introduced.this program was developed to keep pace with the novelties and programming the next wave of connected devices, exploring programs and devices that are changing the world, connecting things to create radically new services and products. In light of the problems of local job opportunities, the program will provide many job opportunities for graduates online with many regional and international companies and institutions.
Areas of work:
- Design and development of the Internet of things and smart systems and their applications
- Developer of the Internet of things and intelligent systems
- IoT solutions and systems engineer and data analyst
- Web developer
- Programming
- Databases and their management
- Data science and artificial intelligence
- Software engineering and systems analysis
- Website development
- Smartphone application development
Areas of self-employment:
- Automation of smart buildings
- Artificial intelligence
- Project management specialist
- IoT data and systems analyst
- IoT security specialist
- Cloud computing specialist
- Remote IoT developer
- Engineer of smart devices and the Internet of things
- Firmware engineer for the Internet of things
- Web developer