Department Welcome
Academic Members
List and details of academic members of the department.
Study Plan
Details about the study plan and curriculum.
Course Curriculum: 134 Credit Hours
| Faculty | Information Technology Faculty |
|---|---|
| Department | Computer Science |
| Credit Hours | 134 |
| Version | 4 |
A. Remedial Requirements (0 Credit Hours)
| Description |
|---|
| Students must sit for placement tests in English, Arabic, and Computer. Students who fail any of these tests are required to take the corresponding remedial course 900099, 900097, or 900096, respectively. |
B. University Compulsory Course Requirements: 16 Credit Hours
| Course No | Course Name | Credit Hours | Prerequisite | Learning Models (F, B, O) |
|---|---|---|---|---|
| 0900103 | Swimming | 1 | -- | F |
| 0900111 | Military Science | 3 | -- | O |
| 0900119 | Life Skills | 1 | -- | F |
| 0900120 | Arabic Communication Skills (1) | 3 | 0900097* | B |
| 0900122 | Entrepreneurship and Innovation | 1 | -- | F |
| 0900123 | Leadership and Social Responsibility | 1 | -- | F |
| 0900130 | English Communication Skills (1) | 3 | 0900099* | B |
| 0900131 | English Communication Skills (2) | 3 | 0900130 | B |
C. University Elective Course Requirements: 9 Credit Hours
1. Humanities: 3 Credit Hours
| Course No | Course Name | Credit Hours | Prerequisite | Learning Models (F, B, O) |
|---|---|---|---|---|
| 0900102 | Sports | 3 | -- | O |
| 0900113 | Interpersonal and Intercultural Communication | 3 | -- | O |
| 0900117 | Civic Awareness | 3 | -- | O |
| 0900118 | Cultural Development | 3 | -- | O |
| 0900124 | Human Rights | 3 | -- | O |
| 0900140 | Appreciation of Art | 3 | -- | O |
| 0900141 | Appreciation of Music | 3 | -- | O |
2. Science, Technology, Agriculture, and Health: 3 Credit Hours
| Course No | Course Name | Credit Hours | Prerequisite | Learning Models (F, B, O) |
|---|---|---|---|---|
| 0900106 | General Statistics | 3 | -- | O |
| 0900114 | Civilization and Thought | 3 | -- | O |
| 0900115 | Social Ethics | 3 | -- | O |
| 0900133 | Research Methodology | 3 | -- | O |
| 0900150 | Introduction to Economics | 3 | -- | O |
3. Social and Economic Sciences: 3 Credit Hours
| Course No | Course Name | Credit Hours | Prerequisite | Learning Models (F, B, O) |
|---|---|---|---|---|
| 0900116 | Bio-Ethics | 3 | -- | O |
| 0900172 | Development and Environment | 3 | -- | O |
| 0900171 | Science and Society | 3 | -- | O |
| 0900180 | Computer Skills | 3 | 090096* | O |
| 0900190 | Digital Culture | 3 | -- | O |
| 0900185 | Astronomy | 3 | -- | O |
Compulsory Requirements: 21 Credit Hours
| Course No | Course Title | Credit Hours | Contact Hours | Prerequisite | Learning Models (F, B, O) |
|---|---|---|---|---|---|
| 0401111 | Discrete Structures | 3 | Lecture: 3 Lab: 0 |
- | F |
| 0401121 | Programming Fundamentals | 3 | Lecture: 3 Lab: 0 |
*0401120 | F |
| 0401151 | Introduction to Information Systems | 3 | Lecture: 3 Lab: 0 |
- | O |
| 0903101 | Calculus (1) | 3 | Lecture: 3 Lab: 0 |
- | F |
| 0903102 | Calculus (2) | 3 | Lecture: 3 Lab: 0 |
0903101 | F |
| 0904101 | General Physics (1) | 3 | Lecture: 3 Lab: 0 |
- | F |
| 0904102 | General Physics (2) | 3 | Lecture: 3 Lab: 0 |
0904102 | F |
A. Compulsory Requirements: 67 Credit Hours
| Course No | Course Title | Credit Hours | Contact Hours | Prerequisite / Co-requisite | Learning Models (F, B, O) |
|---|---|---|---|---|---|
| 0401120 | Programming Fundamentals Lab | 1 | Lecture: 0 Lab: 3 |
*0401121 | F |
| 0401122 | Object Oriented Programming Language | 3 | Lecture: 3 Lab: 0 |
0401121 + *0401123 | F |
| 0401123 | Object Oriented Programming Language Lab | 1 | Lecture: 0 Lab: 3 |
*0401122 | F |
| 0401211 | Theory of Computation | 3 | Lecture: 3 Lab: 0 |
0401111 | F |
| 0401212 | Data Structures | 3 | Lecture: 3 Lab: 0 |
0401122 | F |
| 0401223 | Advanced Object Oriented Programming and GUI | 3 | Lecture: 3 Lab: 0 |
0401122 | F |
| 0401224 | OO and GUI Laboratory | 1 | Lecture: 0 Lab: 3 |
*0401223 | F |
| 0401231 | Digital Logic Design | 3 | Lecture: 3 Lab: 0 |
0401151 | B |
| 0401241 | Networks and Data Communications | 3 | Lecture: 3 Lab: 0 |
0401151 | F |
| 0401251 | Database Fundamentals | 3 | Lecture: 2 Lab: 2 |
0401122 | B |
| 0401313 | Principles of Computer Algorithms | 3 | Lecture: 3 Lab: 0 |
0401212 | F |
| 0401314 | Fundamentals of Artificial Intelligence | 3 | Lecture: 3 Lab: 0 |
0401313 | F |
| 0401321 | Web-Based Programming and Applications | 3 | Lecture: 3 Lab: 0 |
0401122 + *0401322 | F |
| 0401322 | Web-Based Programming and Applications Lab | 1 | Lecture: 0 Lab: 3 |
*0401321 | F |
| 0401331 | Computer Architecture | 3 | Lecture: 3 Lab: 0 |
0401231 | F |
| 0401332 | Operating Systems Concepts | 3 | Lecture: 3 Lab: 0 |
0401331 | F |
| 0401342 | Computer Security | 3 | Lecture: 3 Lab: 0 |
0401241 | B |
| 0401423 | Computer Networking Programming | 3 | Lecture: 2 Lab: 2 |
0401241 | B |
| 0401443 | Wireless Networks | 3 | Lecture: 3 Lab: 0 |
0401241 | B |
| 0401355 | System Analysis and Design | 3 | Lecture: 3 Lab: 0 |
0401251 | B |
| 0401431 | Computer Design and Organization | 3 | Lecture: 3 Lab: 0 |
0401331 | F |
| 0401451 | Software Engineering Concepts | 3 | Lecture: 3 Lab: 0 |
0401355 | O |
| 0401453 | Database Management Systems | 3 | Lecture: 2 Lab: 2 |
0401251 | F |
| 0401491 | Graduation Project | 1 | Lecture: - Lab: - |
Department Approval + Completion of 99 cr. hrs. | B |
| 0401499 | Practical Training | 3 | Lecture: - Lab: - |
Department Approval + Completion of 90 cr. hrs. | B |
B. Electives Requirements: 9 Credit Hours
| Course No | Course Title | Credit Hours | Lecture Hours | Lab Hours | Prerequisite | Learning Models (F, B, O) |
|---|---|---|---|---|---|---|
| 0401315 | Principles of Computer Graphics | 3 | 3 | 0 | 0401111 + 0401122 | B |
| 0401324 | Programming Languages Concepts | 3 | 3 | 0 | 0401223 | F |
| 0401333 | Introduction to Distributed Systems | 3 | 3 | 0 | 0401241 | B |
| 0401425 | Advanced Programming Languages | 3 | 3 | 0 | 0401423 | F |
| 0401426 | Advanced Web Programming | 3 | 3 | 0 | 0401321 | F |
| 0401454 | Special Topics in Computer Science | 3 | 3 | 0 | Department Approval | B |
C. Ancillary Requirements: 6 Credit Hours
| Course No | Course Title | Credit Hours | Contact Hours | Prerequisite | Learning Models (F, B, O) |
|---|---|---|---|---|---|
| 0903281 | Probability and Statistics | 3 | Lecture: 3 Lab: 0 |
0903101 | F |
| 0903381 | Numerical Analysis | 3 | Lecture: 3 Lab: 0 |
0401121 + 0903101 | F |
Students may choose any course(s) offered by the University in accordance with University regulations.
Additional Information
(*) denotes that the prerequisite must be taken concurrently.
Learning Models
| Learning Models | No. of Credit Hours | % |
|---|---|---|
| Face to Face (F) | 77 | 57.4% |
| Blended (B) | 39 | 29.2% |
| Online (O) | 18 | 13.4% |
Elective Information
- Free Electives: 3 Face to Face and 3 Blended
- Electives Requirements: 3 Blended and 6 Face to Face
| Faculty | Information Technology Faculty |
|---|---|
| Department | Computer Science |
| Credit Hours | 134 |
| Version | 5 |
A. Remedial Requirements (0 Credit Hours)
| Description |
|---|
| Students must sit for placement tests in English, Arabic, and Computer. Students who fail any of these tests are required to take the corresponding remedial course 900099, 900097, or 900096, respectively. |
B. University Compulsory Course Requirements: 16 Credit Hours
| Course No | Course Name | Credit Hours | Prerequisite | Learning Models (F, B, O) |
|---|---|---|---|---|
| 0900103 | Swimming | 1 | -- | F |
| 0900111 | Military Science | 3 | -- | O |
| 0900119 | Life Skills | 1 | -- | F |
| 0900120 | Arabic Communication Skills (1) | 3 | 0900097* | B |
| 0900122 | Entrepreneurship and Innovation | 1 | -- | F |
| 0900123 | Leadership and Social Responsibility | 1 | -- | F |
| 0900130 | English Communication Skills (1) | 3 | 0900099* | B |
| 0900131 | English Communication Skills (2) | 3 | 0900130 | B |
C. University Elective Course Requirements: 9 Credit Hours
1. Humanities: 3 Credit Hours
| Course No | Course Name | Credit Hours | Prerequisite | Learning Models (F, B, O) |
|---|---|---|---|---|
| 0900102 | Sports | 3 | -- | O |
| 0900113 | Interpersonal and Intercultural Communication | 3 | -- | O |
| 0900117 | Civic Awareness | 3 | -- | O |
| 0900118 | Cultural Development | 3 | -- | O |
| 0900124 | Human Rights | 3 | -- | O |
| 0900140 | Appreciation of Art | 3 | -- | O |
| 0900141 | Appreciation of Music | 3 | -- | O |
2. Science, Technology, Agriculture, and Health: 3 Credit Hours
| Course No | Course Name | Credit Hours | Prerequisite | Learning Models (F, B, O) |
|---|---|---|---|---|
| 0900106 | General Statistics | 3 | -- | O |
| 0900114 | Civilization and Thought | 3 | -- | O |
| 0900115 | Social Ethics | 3 | -- | O |
| 0900133 | Research Methodology | 3 | -- | O |
| 0900150 | Introduction to Economics | 3 | -- | O |
3. Social and Economic Sciences: 3 Credit Hours
| Course No | Course Name | Credit Hours | Prerequisite | Learning Models (F, B, O) |
|---|---|---|---|---|
| 0900116 | Bio-Ethics | 3 | -- | O |
| 0900172 | Development and Environment | 3 | -- | O |
| 0900171 | Science and Society | 3 | -- | O |
| 0900180 | Computer Skills | 3 | 090096* | O |
| 0900190 | Digital Culture | 3 | -- | O |
| 0900185 | Astronomy | 3 | -- | O |
Compulsory Requirements: 21 Credit Hours
| Course No | Course Title | Credit Hours | Contact Hours | Prerequisite | Learning Models (F, B, O) |
|---|---|---|---|---|---|
| 0401111 | Discrete Structures | 3 | Lecture: 3 Lab: 0 |
- | F |
| 0401121 | Programming Fundamentals | 3 | Lecture: 3 Lab: 0 |
*0401120 | F |
| 0401151 | Introduction to Information Systems | 3 | Lecture: 3 Lab: 0 |
- | O |
| 0900213 | Technical Writing and Documentation | 3 | Lecture: 3 Lab: 0 |
- | F |
| 0903101 | Calculus (1) | 3 | Lecture: 3 Lab: 0 |
- | F |
| 0903102 | Calculus (2) | 3 | Lecture: 3 Lab: 0 |
0903101 | F |
| 0904101 | General Physics (1) | 3 | Lecture: 3 Lab: 0 |
- | F |
A. Compulsory Requirements: 67 Credit Hours
| Course No | Course Title | Credit Hours | Contact Hours | Prerequisite / Co-requisite | Learning Models (F, B, O) |
|---|---|---|---|---|---|
| 0401120 | Programming Fundamentals Lab | 1 | Lecture: 0 Lab: 3 |
*0401121 | F |
| 0401122 | Object Oriented Programming Language | 3 | Lecture: 3 Lab: 0 |
0401121 + *0401123 | F |
| 0401123 | Object Oriented Programming Language Lab | 1 | Lecture: 0 Lab: 3 |
*0401122 | F |
| 0401211 | Theory of Computation | 3 | Lecture: 3 Lab: 0 |
0401111 | F |
| 0401212 | Data Structures | 3 | Lecture: 3 Lab: 0 |
0401122 | F |
| 0401223 | Advanced Object Oriented Programming and GUI | 3 | Lecture: 3 Lab: 0 |
0401122 | F |
| 0401224 | OO and GUI Laboratory | 1 | Lecture: 0 Lab: 3 |
*0401223 | F |
| 0401231 | Digital Logic Design | 3 | Lecture: 3 Lab: 0 |
0401151 | B |
| 0401241 | Networks and Data Communications | 3 | Lecture: 3 Lab: 0 |
0401151 | F |
| 0401251 | Database Fundamentals | 3 | Lecture: 2 Lab: 2 |
0401122 | B |
| 0401313 | Principles of Computer Algorithms | 3 | Lecture: 3 Lab: 0 |
0401212 | F |
| 0401314 | Fundamentals of Artificial Intelligence | 3 | Lecture: 3 Lab: 0 |
0401313 | F |
| 0401321 | Web-Based Programming and Applications | 3 | Lecture: 3 Lab: 0 |
0401122 + *0401322 | F |
| 0401322 | Web-Based Programming and Applications Lab | 1 | Lecture: 0 Lab: 3 |
*0401321 | F |
| 0401331 | Computer Architecture | 3 | Lecture: 3 Lab: 0 |
0401231 | F |
| 0401332 | Operating Systems Concepts | 3 | Lecture: 3 Lab: 0 |
0401331 | F |
| 0401342 | Computer Security | 3 | Lecture: 3 Lab: 0 |
0401241 | B |
| 0401423 | Computer Networking Programming | 3 | Lecture: 2 Lab: 2 |
0401241 | B |
| 0401443 | Wireless Networks | 3 | Lecture: 3 Lab: 0 |
0401241 | B |
| 0401355 | System Analysis and Design | 3 | Lecture: 3 Lab: 0 |
0401251 | B |
| 0401431 | Computer Design and Organization | 3 | Lecture: 3 Lab: 0 |
0401331 | F |
| 0401451 | Software Engineering Concepts | 3 | Lecture: 3 Lab: 0 |
0401355 | O |
| 0401453 | Database Management Systems | 3 | Lecture: 2 Lab: 2 |
0401251 | F |
| 0401493 | Graduation Project-1 | 1 | Lecture: - Lab: - |
Department Approval + Completion of 99 cr. hrs. | B |
| 0401494 | Graduation Project-2 | 2 | Lecture: - Lab: - |
0401493 | B |
| 0401499 | Practical Training | 3 | Lecture: - Lab: - |
Department Approval + Completion of 90 cr. hrs. | B |
B. Electives Requirements: 9 Credit Hours
| Course No | Course Title | Credit Hours | Contact Hours | Prerequisite | Learning Models (F, B, O) |
|---|---|---|---|---|---|
| 0401221 | Data Science Programming | 3 | Lecture: 3 Lab: 0 |
- | F |
| 0401315 | Principles of Computer Graphics | 3 | Lecture: 3 Lab: 0 |
0401111 + 0401122 | B |
| 0401324 | Programming Languages Concepts | 3 | Lecture: 3 Lab: 0 |
0401223 | F |
| 0401333 | Introduction to Distributed Systems | 3 | Lecture: 3 Lab: 0 |
0401241 | B |
| 0401335 | Machine Learning | 3 | Lecture: 3 Lab: 0 |
0401221 | F |
| 0401336 | Neural Networks and Deep Learning | 3 | Lecture: 3 Lab: 0 |
0401335 | F |
| 0401361 | Cloud Computing | 3 | Lecture: 3 Lab: 0 |
0401332 | F |
| 0401454 | Special Topics in Computer Science-1 | 3 | Lecture: 3 Lab: 0 |
Department Approval | B |
| 0401455 | Special Topics in Computer Science-2 | 3 | Lecture: 3 Lab: 0 |
Department Approval | B |
| 0401456 | Special Topics in Computer Science-3 | 3 | Lecture: 3 Lab: 0 |
Department Approval | B |
C. Ancillary Requirements: 6 Credit Hours
| Course No | Course Title | Credit Hours | Contact Hours | Prerequisite | Learning Models (F, B, O) |
|---|---|---|---|---|---|
| 0903281 | Probability and Statistics | 3 | Lecture: 3 Lab: 0 |
0903101 | F |
| 0903381 | Numerical Analysis | 3 | Lecture: 3 Lab: 0 |
0401121 + 0903101 | F |
Students may choose any course(s) offered by the University in accordance with University regulations.
Additional Information
(*) denotes that the prerequisite must be taken concurrently.
Learning Models
| Learning Models | No. of Credit Hours | % |
|---|---|---|
| Face to Face (F) | 77 | 57.4% |
| Blended (B) | 39 | 29.2% |
| Online (O) | 18 | 13.4% |
Elective Information
- Free Electives: 3 Face to Face and 3 Blended
- Electives Requirements: 3 Blended and 6 Face to Face
Guidance Plan
Guidelines and plan for student guidance.
Course Curriculum: 134 Credit Hours (2022-2023)
Fall Semester (17 credit hours)
| Number | Course Name | Cr. | Prerequisite |
|---|---|---|---|
| 0401121 | Programming Fundamentals | 3 | 0401120* |
| 0401123 | Programming Fundamentals Lab | 1 | 0401121* |
| 0401111 | Discrete Structures | 3 | -- |
| 0203101 | Calculus (1) | 3 | -- |
| 0204101 | General Physics (1) | 3 | -- |
| 0401151 | Introduction to Information Systems | 3 | -- |
| 0900110 | Cultural Development (1) | 1 | -- |
Spring Semester (17 credit hours)
| Number | Course Name | Cr. | Prerequisite |
|---|---|---|---|
| 0401122 | Object-Oriented Programming | 3 | 0401121 |
| 0401123 | Object-Oriented Programming Lab | 1 | 0401122* |
| 0401211 | Theory of Computation | 3 | 0401111 |
| 0203102 | Calculus (2) | 3 | 0203101 |
| 0900213 | Technical Writing and Documentation | 3 | -- |
| 0900130 | English Communication Skills (1) | 3 | 0900099** |
| 0900101 | Sports (1) | 1 | -- |
Fall Semester (17 credit hours)
| Number | Course Name | Cr. | Prerequisite |
|---|---|---|---|
| 0401241 | Networks and Data Communications | 3 | 0401151 |
| 0401212 | Data Structures | 3 | 0401122 |
| 0401223 | Advanced Object-Oriented Programming Language & GUIs | 3 | 0401122 |
| 0900130 | Numerical Analysis | 3 | 0401121+0203101 |
| 0900111 | Military Science | 3 | -- |
| 0900100 | Swimming | 1 | -- |
Spring Semester (18 credit hours)
| Number | Course Name | Cr. | Prerequisite |
|---|---|---|---|
| 0401231 | Digital Logic Design | 3 | 0401151 |
| 0401251 | Database Fundamentals | 3 | 0401122 |
| 0401224 | OOP & GUI Lab | 1 | 0401223* |
| 0401313 | Principles of Computer Algorithms | 3 | 0401212 |
| 0900131 | English Communication Skills (2) | 3 | 0900130 |
| University Elective | -- | 3 | -- |
| 0401141 | Ethics & Law | 3 | -- |
Fall Semester (16 credit hours)
| Number | Course Name | Cr. | Prerequisite |
|---|---|---|---|
| 0402311 | Software Engineering | 3 | 0401224 |
| 0402231 | Human-Computer Interaction | 3 | 0401151 |
| 0402341 | Network Security | 3 | 0401241 |
| 0402242 | Database Management System Lab | 1 | 0401251 |
| 0402431 | System Analysis & Design | 3 | 0401121 |
| 0900132 | English Communication Skills (3) | 3 | 0900131 |
Spring Semester (15 credit hours)
| Number | Course Name | Cr. | Prerequisite |
|---|---|---|---|
| 0402511 | Web Programming | 3 | 0401223 |
| 0402411 | Software Testing & Quality Assurance | 3 | 0402311 |
| 0402252 | Database Application Lab | 1 | 0401251 |
| 0402312 | Software Engineering Lab | 1 | 0402311 |
| University Elective | -- | 3 | -- |
Fall Semester (15 credit hours)
| Number | Course Name | Cr. | Prerequisite |
|---|---|---|---|
| 0404411 | Advanced Web Development | 3 | 0402511 |
| 0404422 | Mobile App Development | 3 | 0401223 |
| 0404443 | Cloud Computing | 3 | 0401241 |
| 0404551 | Project Management | 3 | 0402311 |
| 0404531 | Senior Project | 3 | 0402311 |
Spring Semester (14 credit hours)
| Number | Course Name | Cr. | Prerequisite |
|---|---|---|---|
| 0404532 | Advanced Topics in Computer Science | 3 | 0404411 |
| 0404561 | Internship | 3 | -- |
| 0404572 | Ethics in Computing | 3 | -- |
| 0404581 | Computer Science Seminar | 1 | -- |
| University Elective | -- | 4 | -- |
- * Co-requisite (a course that must be taken concurrently).
- ** Passing a placemat test.
List of Competencies
Computer Science - List of Competencies
Program Learning Outcomes
Computer Science Program Learning Outcomes
Student learning outcomes describe what students are expected to know and be able to do by the time of graduation. By the time of graduation, the Computer Science Department's Bachelor of Science program must enable students to attain an ability to:
Course Description
Detailed descriptions of the courses offered.
| 0401111 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 0 | 3 | - | - | |
| TThe course covers fundamental ideas in discrete mathematics and their application in computer science. The course covers miscellaneous of topics: Permutations and combinations, regular expressions and finite state machines, grammars, languages, and parsing, propositional logic, predicate calculus, sets and relations, functions, and graphs. The course is a mix of basic theoretical concepts in computer science and a hands-on application of those ideas. | ||||
| 0401120 | 1 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 0 | 3 | - | 401121 | |
| This course supports the Programming Fundamentals course. Topics covered include simple data types, expressions and statements, program flow control structures. | ||||
| 0401121 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | - | - | |
| This course introduces beginning computer programming skills with a guide to developing applications. The students can develop useful programs while learning the basics knowledge of programming skills. This course also provides the principle of elements object-oriented technique. By learning the course topics, the students will be motivated to find real life problems in computer science and solve it using programming. | ||||
| 0401122 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | 401121 | 401123 | |
| This course focuses on Object-Oriented programming and design concepts including abstraction, encapsulation, modularity, reuse and information hiding. Topics covered include: classes, objects, and relationships such as inheritance, association, aggregation, and composition. It also covers overloading, overriding, polymorphism, interfaces, and abstract methods. Additionally, it includes wrapper classes, exception handling, generics, collections, and GUI applications. | ||||
| 0401123 | 1 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 0 | 3 | - | 401122 | |
| All theoretical material covered in Object-Oriented Programming class will be accompanied with practical assignments and projects in this lab. | ||||
| 0401151 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | - | - | |
| This course introduces the students to the main concepts and principles behind computing. The covered topics include: number systems, computer hardware and software, principles of software engineering, databases, security breaches, malware, algorithmic thinking, and computer ethics. | ||||
| 0401211 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | 401111 | - | |
| This course emphasizes theoretical models of computation, covering finite automata, pushdown automata, Turing machines, and language grammars. Some complexity theory and computability concepts are also introduced. | ||||
| 0401212 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | 401122 | - | |
| Provides foundations in data structures like linked lists, stacks, trees, heaps, and hash tables within an object-oriented framework. Java is used for implementation. | ||||
| 0401222 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | - | - | |
| Covers problem solving and program development using C++, including data types, control structures, functions, and object-oriented concepts like classes and inheritance. | ||||
| 0401223 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | 401122 | - | |
| Introduces .NET Programming with C#, focusing on OOP, GUI components, multithreading, and database processing. It covers essential programming concepts for Internet-based applications. | ||||
| 0401224 | 1 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 0 | 3 | - | 401223 | |
| Complements Advanced OOP and GUI course with practical projects and assignments on OOP concepts and GUI development. | ||||
| 0401231 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | - | 401151 | |
| The aim of the course is to prepare the students for studying computer hardware (architecture and organization). The main topics covered in this course include: number systems and conversions between them, data representations, Boolean algebra and its application in circuit design, the logical gates and their relations. In addition, the students study topics that include combinational and sequential circuit analysis and design, digital circuit design optimization methods using logic gates, multiplexers, decoders, registers, counters, and programmable logic arrays. | ||||
| 0401241 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | 401151 | - | |
| This course covers: definition of computer networks and their objectives and applications. Computer network architecture: layering, protocols and standard models, the ISO OSI and TCP/IP reference models. It covers the application layer and its protocols (HTTP, FTP etc). The transport protocols namely UDP and TCP. The network layer and IP, introduction to routing algorithms. Data link layer: data link layer functions and standards, error check and correction. | ||||
| 0401242 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 2 | 2 | 401212 | - | |
| This course introduces students to database concepts related to database design, implementation and administration. Topics covered include: Relational Database fundamentals, relational algebra and calculus in addition to data modeling with E-R, functional dependencies and normalization. The course also provides students with practical skills in SQL including DDL, DML, DCL, in addition to advanced sub-queries, views and other concepts related to group, date and conversion functions and catalogues. The course also introduces students to other database related concepts such as Object-Oriented databases and other emerging technologies e.g. XML, data warehousing, OLAP and data mining. | ||||
| 0401313 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | 401212 | - | |
| This course examines techniques for the design and analysis of efficient algorithms useful in practice. Topics covered include: sorting (bubble, insertion, heap, merging, quick, etc.), search trees, hashing, and dynamic programming, graph algorithms (shortest paths, network flow, coloring, etc.) and NP-complete problems. Throughout the course, there is a focus on performance, computational complexity, and actual implementation of the studied algorithms using C#, C++, and/or Java. | ||||
| 0401314 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | 401313 | - | |
| This course introduces the fundamentals concepts of Artificial Intelligence (AI), its evolution, and real-life applications. It covers the main aspects of AI, i.e., intelligent agents, problem formulation, and problem solving using uninformed and heuristic search algorithms. Moreover, students will be familiar with constraint satisfaction problems, adversarial search and games, expert systems, and genetic algorithms. The main concepts of machine learning, its tasks and respective algorithms are also introduced. Real-world applications will be investigated through practical implementations using Python programming language. | ||||
| 0401315 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | 401111 + 401122 | - | |
| This course offers an in-depth exploration of fundamental concepts in 2D and 3D computer graphics. It introduces 2D raster graphics techniques, including scan conversion, simple image processing, and interaction techniques. The course also discusses graphics optimization via leading clipping algorithms such as Laing and Cohen. Finally, the course introduces students to programming in OpenGL as a fundamental tool for producing high-quality graphics. | ||||
| 0401318 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | 401314 | - | |
| This course gives an introduction to AI search methods, neural networks (NNs), single-layer perceptions, ADALINE, perception learning, and multi-layer feed-forward neural networks. It also discusses supervised learning, back propagation, unsupervised and competitive learning. The course covers Kohonen's self-organizing maps (SOM) and radial basis function network. An introduction to genetic algorithms (GAs) is presented including representation GA terminology and operators (crossover, mutation, inversion), as well as GA theory, schema properties, selection, replacement, reproduction strategies, and applications. | ||||
| 0401321 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | 401223 | 401322 | |
| This course equips students with hands-on experience in a range of tools used in creating web pages and applications including HTML, CSS, JavaScript, XML, server-side programming (PHP), AJAX, and other selected cutting-edge technologies. The course presents a variety of web applications including web servers and content management systems such as Joomla! and WordPress. | ||||
| 0401322 | 1 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 0 | 3 | - | 401321 | |
| This laboratory supports the Web-Based Programming and Applications course; it provides students with hands-on experience in a variety of practical web applications. Students will work on creating front-end web design (using HTML, CSS, XML, JavaScript…) and back-end programs (using PHP, AJAX…). | ||||
| 0401324 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | 401223 | - | |
| This course examines programming languages taxonomy, design, evaluation, and implementation, providing a comparative analysis of programming languages with emphasis on their design considerations, advantages, shortcomings, and appropriateness for certain applications. It discusses formal definitions of programming languages such as syntax, semantics, lexical analysis, and parsing, and compares variable declaration, typing, binding, and scoping across languages. | ||||
| 0401331 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | 401231 | - | |
| The course introduces the students to computer architecture and organization. It provides students with a deep knowledge on the basic components and their interaction to deliver the functionality of the computer. The topics covered include: the hardware components, input/output modules, caches, pipelining, stalls, memory, processors, Amdahl’s law, addressing, and so on. Studying the computer performance is the heart of the course and will be studied thoroughly. | ||||
| 0401332 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | 401331 | - | |
| The course is concerned with design and implementation of an operating system. The covered fundamental topics include: threads and processes, synchronization, concurrency handling using different techniques (semaphores, hardware solutions, …) memory/ cache management strategies, processor scheduling, multiprocessing, parallel processing, hardware organization, disk scheduling and file management. | ||||
| 0401333 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | 401241 | - | |
| This course introduces students to the principal concepts of distributed systems. The course covers fundamental concepts the CS students need to broaden their knowledge in a special spectrum of computer applications: distributed applications. Thus, characteristics of distributed system architecture, naming, consistency and replication, fault tolerance, security, synchronization, and distributed file management will be discussed. Other concepts such as distributed concurrency and distributed query processing will be touched in some details. Furthermore, CORBA, RMI (Remote Method Invocation), and RPC. | ||||
| 0401342 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | 401241 | - | |
| Computer and Network Security is concerned with studying the security practices and principles of computer and networks. This course covers a variety of topics including basic computer security concepts, common attacking techniques, common security policies, basic cryptographic tools, authentication, access control, network intrusion detection, software security, operating system security, network security, and legal and ethical issues in computer security. The learning outcome is students must be able to understand the basic principles and practices in computer and network security, particularly what the foundational theory is behind computer security, the common threats, and how to engage with attackers. | ||||
| 0401343 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | 401241 | - | |
| This course builds an understanding of the core issues encountered in the design of wireless networks. It also exposes students to fairly recent paradigms in wireless communication. Topics include transmission fundamentals, wireless channel, coding techniques and error control, satellite and cellular networks, cordless systems, mobile IP and management, multiple access techniques, wireless protocols, wireless LAN, IEEE 802.11, and ad hoc and sensor networks. | ||||
| 0401355 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | 401251 | - | |
| This course provides coverage of the concepts of systems analysis and design, covering problem analysis, structured programming, stepwise refinement, and project management and planning tools. The course introduces types of software systems, e.g., ERP, Embedded systems, and their typical sources. It also discusses software development processes, such as SDLC, Agile, and XP, and various techniques used in information gathering. The course focuses on both data and process modeling, e.g., CD, DFD, ER, and data dictionary, while introducing students to UML and other object-oriented analysis and design concepts. | ||||
| 0401423 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 2 | 2 | 401241 + 401223 | - | |
| This module introduces concepts of advanced programming to develop network programs (client/server programs). It focuses on multithreading, networking, data streams, and socket programming. A selected programming language such as Java is used. Students will be expected to create multithreaded TCP/UDP clients and servers. | ||||
| 0401425 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | 0401423 | - | |
| This course focuses on enhancing students’ skills in Java and its API libraries. Students will learn to use essential API packages, such as collections for storing generic groups of objects, Swing for building GUI applications, and JDBC to be able to connect to a database. Students will also learn to use inner classes, regular expressions, remote method invocation (RMI), CORBA, servlets, and Java server pages (JSP). | ||||
| 0401426 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | 0401321 | - | |
| Course description: This course focuses on expanding and enriching the server-side web programming skills. Students will learn to develop Web applications that use three-tier architecture, session management, object-oriented techniques, and advance database interactions using PHP. Concepts such as advanced CSS, Ajax, rich interactive Web environments, authentication, and security will also be explored. | ||||
| 0401431 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | 0401331 | - | |
| This course builds on the gained knowledge in computer architecture course. It provides a deeper look at the organizational, architectural, and functional properties of computer systems. The discussed topics include, but not limited to, assembly level machine organization, memory systems organization and architecture, alternative architectures, device interfaces, boosting performance with pipelining, exploiting memory hierarchy and, multiprocessors, multi-coring, and clusters. | ||||
| 0401433 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | 0401211 | - | |
| The design and implementation of a compiler is studied, including compiler organization, lexical analysis, searching methods and symbol tables, formal languages and grammar, parser construction, code syntax, and code generation. | ||||
| 0401436 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | 0401331 | - | |
| This course introduces parallel computer systems. The course covers topics such as sequential and parallel execution, synchronization, pipelines and vector processing. SIMD and MIMD machines are studied. Multi-stage and computer interconnection networks are presented. The routing and the flow control in these networks are discussed. Shared memory, multicomputer systems, caches and cache coherence are covered. Data flow systems are introduced and analyzed. | ||||
| 0401447 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | 0401241 | - | |
| This advanced course introduces students to contemporarily topics include physical layer, data link layer, transport protocols, routing protocols, link-level protocols, wireless networking, multimedia networking, and network security. Specifically, topics will include, but not limited to, Internet architecture and core protocols for congestion control, forwarding, and routing; approaches to achieve reliability, scalability, and design of data center networks, wireless networks, and content delivery. | ||||
| 0401451 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | 0401355 | - | |
| This course focuses on providing students with analytical and problem solving skills required for developing modern software systems in a formal and systematic fashion. The focus of this course is object-oriented analysis and design using UML. The course introduces various concepts, approaches, tools and methodologies related to software engineering which concern software development process including: requirements analysis, design and testing. The course provides the students with the opportunity to demonstrate what they learn on real-life applications which involves using CASE tools. | ||||
| 0401453 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 2 | 2 | 0401251 | - | |
| This course provides students with skills in database programming and other related technologies which covers database management systems design and catalog in addition transaction processing and concurrency control. The course also provides coverage to database security and authorization and introduces the concepts of triggers, programming units and packages in addition to database user interface design and reports generation. | ||||
| 0401454 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | Department Approval | - | |
| This course covers hot topics in computer science or any of its essential subfields or areas these topics may cover: programming, image processing, artificial intelligence, data science, security and networking. The course may involve critical studying hot theories; research and computation applications or any other computer related emerging technology. This course may be delivered in form of normal lectures or seminars related to one or list of hot topics. The specific topic to be taught in this course is decided by the interest of both the instructor and students. | ||||
| 0401457 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | 0401453 | - | |
| This course involves advanced database programming and applications development which covers user interface programming and reports programming and generation. It also covers creating server-side and client-side programming units e.g. functions, procedures packages and triggers and interfacing database with other technologies e.g. Java, XML etc. | ||||
| 0401491 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | Department Approval + Completion of 99 C.H. | - | |
| This course centers on a project under the guidance of an instructor. Oral reports are given before the group in a seminar situation. The project involves some aspect of computer science and results will be presented in a final written report. | ||||
| 0401492 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | Department Approval + Completion of 90 C.H. | - | |
| The purpose of this course is to give actual experience in different industrial, commercial, administrative enterprises or companies. Application of what has been learned during the first three years of their study in the university is stressed. The course also teaches how to be self-confident when faced with problems. | ||||
| 401335 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | 401221 | - | |
| Machine learning trends are being adopted in a wide range of technologies. This course provides a broad introduction to the fundamental methods of machine learning. The course discusses the theoretical foundation of machine learning techniques for supervised (clustering, dimensionality reduction, kernel methods), unsupervised learning (clustering, dimensionality reduction, kernel methods) in addition to machine learning algorithms. Finally, the course will improve students’ practical skills by designing and developing recent machine learning applications. | ||||
| 401336 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | 401335 | - | |
| Neural networks have enjoyed several waves of popularity over the past half century. This course covers the history and the state-of-art of Neural networks and Deep learning approaches. The students will learn designing neural network architecture, Basic neuron models, Basic neural network models, and Basic learning algorithms. The students will develop applications by solving assignments in pattern recognition, image processing, computer vision. Finally, the students will have opportunities to investigate open problems in this area. | ||||
| 401454 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | Department Approval | - | |
| This course covers hot topics in computer science or any of its essential subfields or areas these topics may cover: programming, image processing, artificial intelligence, data science, security and networking. The course may involve critical studying hot theories; research and computation applications or any other computer related emerging technology. This course may be delivered in form of normal lectures or seminars related to one or list of hot topics. The specific topic to be taught in this course is decided by the interest of both the instructor and students. | ||||
| 401455 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | Department Approval | - | |
| This course can be used to allow provide the students with a chance to study topics of current interest in computer science. Topics can be selected from the list below but not limited to it, an instructor can propose a different topic and if accepted by the department it will be considered: APPLICATIONS: Database and Information Systems, Security and Cryptography, Computational Science and Engineering, Visual Computing and Interaction, Machine Learning and Data Mining. FOUNDATIONS: Algorithms, Programming Languages and Software Engineering, Security and Cryptography, and Computational Science and Engineering. | ||||
| 401456 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | Department Approval | - | |
| This course can be used to allow provide the students with a chance to study topics of current interest in computer science. Topics can be selected from the list below but not limited to it, an instructor can propose a different topic and if accepted by the department it will be considered: SYSTEMS: Operating Systems and Distributed Systems, Programming Languages and Software Eng., Database and Information Systems, Computer Architecture and Embedded Systems, Security and Cryptography, Machine Learning and Data Mining, and Networking. | ||||
| 401491 | 1 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 1 | 0 | Department Approval | - | |
| The graduation project is an opportunity for students to employ their four-year experience and skills. The project targets two fundamental skills that students urgently need in their careers: software production and documentation. In part 1 of the project (graduation project 1), students should plan for their project with the guidance of the advisor. The planning includes problem definition, objectives, state-of-the-art, system analysis, solution design, and required technologies to implement the project. | ||||
| 401492 | 2 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 2 | 0 | Department Approval | - | |
| Part 2 of the graduation project (the following semester) is a continuation of the work accomplished in part 1. It includes implementation of the application, software testing, and software documentation. The documentation must follow professional guidelines, which include problem motivation, how the system addresses the problem, record all the analysis and design artifacts, and a user manual. Upon the consent of the advisor, students must defend their projects to finish the requirement for the graduation project. | ||||
| 401361 | 3 CH. | Prerequisite | Co-requisite | |
|---|---|---|---|---|
| 3 | 0 | 401332 | - | |
| This course covers the principles of cloud computing, including its architecture, deployment models, service models, and the essential technologies that enable cloud computing. The course emphasizes the advantages and challenges of cloud computing in real-world applications and explores cloud security and privacy issues. | ||||
Projects
Information about student and department projects.
Hi MED Medical Solutions
One of the success stories from our Computer Science students is the development of the device 'Hi MED Medical Solutions,' along with the complementary application 'Hi MED Care,' both designed to help our patients take their medications on time.