The Computer Science and Information Technology Department is one of the first established in the country. Quality of Palestinian education is always our main concern, and therefore our methodology is based on teaching with research; emphasizing problem solving skills, theoretical computer science, and software development taking into consideration new trends and applications. This will ensure that our students are well prepared for a successful career in the ICT industry as well as in academia, and to become the best graduates in the labor market. To that end, we strive to enhance the quality and diversity of our programs and to keep them in-line with international standards. The department implements several international, European and national projects, involving teachers, researchers and students in state-of-the-art research and innovative activities.
Since its foundation, our department has been dedicated to stay up-to-date with respect to scientific and technological advancements and to respond to the local and international community needs. The graduates of our department are employable worldwide. This is due to our commitment to the highest standards in teaching and hands-on training and to the expertise of our teaching staff and high motivation of our students. Therefore, the department is constantly creating new majors and specialized tracks in Computer Science and Informatics to produce active graduates who are equipped with the skills needed for the 21st Century.
Bachelor (BSc) in Computer Science
The Computer Science and Information Technology Department offers a full major in Computer Science that focuses on specialized areas of computer science and information technology.
In addition, the department offers a Minor in Computer Science to students from other departments of the university:
The main objectives of the Computer Science and Information Technology programs are able as follows:
- understand how theory and practice influence each other,
- implement the knowledge and skills to solve daily problems across multiple domains, and
- discuss and communicate challenges, tasks and results with peers and stakeholders.
Table #2.1: Program Intended Learning Outcomes-ILO’S
Key: Introduce (I), Reinforce (R), Mastery (M), Assessment (A)
ILO |
101 |
102 |
104 |
132 |
201 |
202 |
233 |
234 |
243 |
Apply mathematical and scientific reasoning to computational problems. |
I |
R |
R |
R |
R |
M |
|
|
|
Understand the use of structured development methodologies as applied to large software systems and to small programming projects. |
|
|
|
|
|
|
|
|
M |
Understand the impact of engineering solutions in global, economic, environmental and social context. |
|
|
|
|
|
|
M |
M |
M |
Evaluate, verify, troubleshoot, test and analyze an existing computer-based system |
|
|
|
|
|
|
|
|
A |
Think critically and creatively, both independently and with others |
I |
R |
|
|
|
R |
|
|
|
Communicate effectively, both orally and in writing |
|
I |
|
|
M |
|
|
|
|
Formulate solutions to computing problems |
|
|
|
|
|
M |
|
|
M |
Write clear system documentation, user documentation and research reports. |
|
|
|
|
|
|
|
|
|
Apply advanced algorithmic and mathematical concepts to the design and analysis of software. |
|
|
|
|
I |
M |
|
|
M |
Design, implement and document software systems that meet specified design and performance requirements. |
|
|
|
|
|
|
|
|
A |
Use current techniques, skills, and tools necessary for computing practice. |
|
|
|
|
|
|
M |
|
A |
Communicate with experts from different domains. |
|
|
|
|
|
|
|
|
A |
Recognize the social and ethical responsibilities of a professional working in the discipline. |
|
|
|
|
|
|
|
|
|
Understand their own limitations and the limitations of the tools. |
|
|
|
|
|
|
R |
R |
R |
Use current techniques, skills, and tools necessary for computing practice. |
|
I |
|
|
|
|
|
R |
R |
Table #2.2: Program Intended Learning Outcomes-ILO’S
Key: Introduce (I), Reinforce (R), Mastery (M), Assessment (A)
ILO |
272 |
281 |
305 |
308 |
345 |
361 |
473 |
483 |
492 |
Apply mathematical and scientific reasoning to computational problems. |
|
R |
R |
M |
|
|
|
|
|
Understand the use of structured development methodologies as applied to large software systems and to small programming projects. |
|
|
|
|
M |
|
|
|
|
Understand the impact of engineering solutions in global, economic, environmental and social context. |
|
|
|
|
M |
|
|
|
|
Evaluate, verify, troubleshoot, test and analyze an existing computer-based system |
|
|
|
|
A |
|
|
|
|
Think critically and creatively, both independently and with others |
|
|
|
|
|
|
|
|
M |
Communicate effectively, both orally and in writing |
|
|
|
|
|
M |
|
|
|
Formulate solutions to computing problems |
|
|
|
|
M |
A |
|
|
|
Write clear system documentation, user documentation and research reports. |
|
|
|
|
|
|
|
|
A |
Apply advanced algorithmic and mathematical concepts to the design and analysis of software. |
|
|
|
|
M |
|
|
|
|
Design, implement and Document software systems that meet specified design and performance requirements. |
|
|
|
|
A |
|
|
|
|
Use current techniques, skills, and tools necessary for computing practice. |
|
|
|
|
A |
|
|
M |
|
Communicate with experts from different domains. |
|
|
|
|
A |
|
|
A |
A |
Recognize the social and ethical responsibilities of a professional working in the discipline. |
|
|
|
|
M |
|
|
|
A |
Understand their own limitations and the limitations of the tools. |
|
|
|
|
A |
|
|
|
M |
Use current techniques, skills, and tools necessary for computing practice. |
|
|
|
|
|
|
|
|
A |
Soon …
This will ensure that our students are well prepared for a successful career in the ICT industry as well as in academia, and to become the best graduates in the labor market. To that end, we strive to enhance the quality and diversity of our programs and to keep them in-line with international standards. The department implements several international, European and national projects, involving teachers, researchers and students in state-of-the-art research and innovative activities.
University Requirements (24 credit hours: 18 credit hours Compulsory and 6 credit hours Elective)
All students registered to obtain a bachelor’s degree in computer science must successfully complete the required university courses (24) credit hours distributed as follows:
A) University required courses / 18 credit hours are shown in Table #3.
Table #3: University Requirements
No. |
Course Name |
Course Number |
Credit hours |
1 |
Arabic language skills |
0400101 |
2 |
2 |
English language skills 1 |
0400184 |
2 |
3 |
English language skills 2 |
0400185 |
2 |
4 |
Jerusalem throughout history |
0400120 |
2 |
5 |
Palestine: nature & environment |
0400121 |
2 |
6 |
World civilizations |
0400128 |
3 |
7 |
Logical thinking |
0400150 |
3 |
8 |
Islamic culture |
0400122 |
2 |
B) University elective courses /6 credit hours Students can choose either courses from Table #4 or Table #5.
Table #4 University elective courses (languages)
# |
Course name |
Course No. |
C.H. |
Notes |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 |
Hebrew language for beginners |
0400111 |
3 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2 |
Hebrew language (medium level) |
0400112 |
3 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3 |
French language for beginners |
0400113 |
3 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4 |
French language (medium) |
0400114 |
3 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5 |
German language for beginners |
0400115 |
3 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
6 |
German language (medium) |
0400116 |
3 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7 |
Spanish language for beginners |
0400117 |
3 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
8 |
Spanish language 2 |
0400184 |
3 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
9 |
Turkish language for beginners |
0400185 |
3 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
10 |
Turkish language 2 |
0400129 |
3 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
11 |
Italian language for beginners |
0400146 |
3 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
12 |
Italian language 2 |
0400147 |
3 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
13 |
Any foreign language approved by the Academic Council later |
|
6 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OR re Table # 5 – Elective University Courses /6 Credit Hours (Cultural Studies)
|
I.2- College Requirements (18 credit hours)
All students of the computer science and information technology department are required to take 18 credit hours from the courses of the faculty of science and technology as shown in Table #6.
Compulsory courses (18 hours)
Table #6: College Requirements
# |
Course name |
اسم المساق |
Course # |
Theory |
Lab |
Total |
1 |
Introduction to Physics |
مقدمة في الفيزياء |
0302101 |
2 |
1 |
3 |
2 |
Introduction to Computer Science |
مقدمة الى علم الحاسب |
0303101 |
3 |
1 |
4 |
3 |
Introduction to Chemistry |
كيمياء عامة |
0304101 |
3 |
1 |
4 |
4 |
Introduction to Biology |
مقدمة في العلوم الحياتية |
0305101 |
3 |
1 |
4 |
5 |
Calculus I |
تفاضل وتكامل 1 |
0306101 |
3 |
– |
3 |
|
Total: |
18 |
I.3- Computer Science Requirements
I.3.1- Compulsory Courses (62 hours)
Compulsory courses are shown in Table #7.
Table #7. Core Computer Science Compulsory Courses (62 credit hours), these courses are required for all CS students.
Title |
اسم المساق |
Course # |
Theory |
Lab |
Total |
Prerequisite |
Fundamentals of Programming |
أساسيات البرمجة |
0303102 |
3 |
1 |
4 |
0303101 |
Mathematics for Computer Science |
رياضيات لطلاب علم لحاسب |
0303104 |
3 |
|
3 |
0306101 |
Statistics & Probability for Computer Science |
احصاء واحتمالات لطلبة علم الحاسب |
0303132 |
3 |
|
3 |
0306101 |
Data Structures & Algorithms I |
تركيب البيانات والخوارزميات 1 |
0303201 |
3 |
1 |
4 |
0303102 |
Data Structures & Algorithms II |
تركيب البيانات والخوارزميات 2 |
0303202 |
3 |
1 |
4 |
0303201 |
Computer Organization and Assembly Language |
عمارة الحاسوب ولغة اسمبلي |
0303233 |
3 |
1 |
4 |
0303102 |
Computer Architecture |
هيكلية الحاسوب |
0303234 |
3 |
1 |
4 |
0303233 |
Database Systems 1 |
نظم قواعد البيانات 1 |
0303243 |
3 |
1 |
4 |
0303102 |
Information Systems |
نظم المعلومات |
0303246 |
3 |
|
3 |
0303102 |
Introduction to Computer Networks |
مقدمة الى شبكات الحاسب |
0303272 |
3 |
1 |
4 |
0303201 |
Linear Algebra and Numerical Algorithms for Computer Science |
جبر خطي وخوارزميات رقمية لطلبة علم الحاسب |
0303281 |
3 |
|
3 |
0303102 |
Data Science I |
علوم البيانات 1 |
0303305 |
3 |
1 |
3 |
0303132 |
Advanced Programming |
برمجة متقدمة |
0303308 |
3 |
|
3 |
0303201 |
Software Engineering |
هندسة البرمجيات |
0303345 |
3 |
|
3 |
0303243 |
Research Methods |
طرق البحث العلمي |
0303361 |
1 |
|
2 |
0306132 |
Operating Systems |
نظم التشغيل |
0303473 |
3 |
|
3 |
0303233 |
Intelligent Systems |
النظم الذكية |
0303483 |
3 |
|
3 |
0303201 |
Internship 1 |
تدريب ميداني1 |
0303495 |
3 |
|
3 |
Third year level |
Senior Project I |
مشروع تخرج 1 |
0303492 |
1 |
|
1 |
Dept. |
Senior Project II |
مشروع تخرج 2 |
0303493 |
1 |
|
1 |
Dept. |
Total |
62 |
I.3.2 – Elective Courses for full Major in Computer Science (21 hours)
In the computer science full major, students should chose take 21 hours from the courses listed in Table #8.
Table #8. Computer Science Elective Courses (21 credit hours are to be chosen)
# |
Title |
الاسم |
Course # |
CRHs. |
Prerequisite |
1 |
Digital Design |
تصميم منطق |
0303231 |
3 |
0303102 |
2 |
Advanced Algorithms and Data Structure |
تركيب بيانات وخوارزميات متقدمة |
0303302 |
3 |
0303202 |
3 |
Web and Mobile Application Development |
تصميم تطبيقات الوب والجوال |
0303306 |
3 |
0303102 |
4 |
Geographic Information Systems |
نظم المعلومات الجغرافية |
0303325 |
3 |
0303246 |
5 |
Database II |
قواعد بيانات 2 |
0303343 |
3 |
0303243 |
6 |
Machine learning |
التعليم الالي |
0303347 |
3 |
0303243 |
7 |
Advanced Computer Networks |
شبكات حاسوب متقدمة |
0303373 |
3 |
0303272 |
8 |
Computer Graphics |
الرسم في الحاسوب |
0303382 |
3 |
0303201 |
9 |
Academic Writing and Communication Skills |
مهارات الكتابة والتواصل الأكاديمي |
0303401 |
3 |
|
10 |
Data Science II |
علوم البيانات 2 |
0303405 |
3 |
0303305 |
11 |
Serious Gaming and Programming |
برمجة الالعاب الهادفة |
0303406 |
3 |
0303202 |
12 |
Network Programming |
برمجة الشبكات |
0303412 |
3 |
0303272
|
13 |
Programming Languages and Compilers |
لغات البرمجة والمترجمات |
0303421 |
3 |
0303202 |
14 |
Microprocessor |
المعالجات المصغرة |
0303434 |
3 |
0303233 |
15 |
Introduction to Data Mining |
مقدمة لتعدين البيانات |
0303443 |
3 |
0303243 |
16 |
Security and Legal Hacking |
الامن والاختراقات القانونية |
0303444 |
3 |
0303272 |
17 |
Software Quality Control |
مراقبة جودة البرمجيات |
0303446 |
3 |
0303345 |
18 |
Project Management |
ادارة المشاريع |
0303453 |
3 |
0303246 |
19 |
Human Computer Interaction |
التفاعل بين الانسان والحاسوب |
0303482 |
3 |
0303382 |
20 |
Bio computation |
الحوسبة الحيوية |
0303485 |
3 |
0305101 |
21 |
Parallel and Distributed Computing |
الحوسبة المتوازية والموزعة |
0303486 |
3 |
0303272 |
22 |
Special Topics in Computer Science |
مواضيع خاصة في علم الحاسب |
0303494 |
3 |
4th year level |
24 |
Internship 2 |
تدريب ميداني2 |
0303496 |
3 |
0303495 |
25 |
Capstone |
كابستون |
0303499 |
3 |
Dept. |
II- Major in Computer Science / Minor in another program
Students taking this option should take the 62 credit hours compulsory courses, listed in Table 6, as well as the university requirements, and the college requirements, as illustrated in Table #9.
Table #9. Distribution of courses for students taking Major in Computer Science / Minor in another program
Requirements |
Credit Hours |
Mandatory |
Elective |
University |
24 |
18 |
6 |
College |
18 |
18 |
0 |
Department |
62 |
62 |
0 |
Minor requirement |
As specified by the other department (At least 21) |
III-Department Minors
1. Minor in Computer Science
This is offered for students from other departments in the College of Science & Technology, students are required to pass the introduction to computer science (0303101) with 70% or higher Students are required to take 27 credit hours which consists of 18 compulsory credit hours shown in Table #10 plus 9 credit hours to be chose from the department courses (compulsory or electives) 200 level and above.
Table #10 Compulsory Courses for the Minor in Computer Science (18 credit hours)
# |
Title |
Course # |
Credits |
Prerequisite |
1 |
Fundamentals of Programming |
0303102 |
4 |
0303101 |
2 |
Database System |
0303243 |
4 |
0303102 |
3 |
Data Structures and Algorithms |
0303201 |
4 |
0303102 |
5 |
Information Systems |
0303246 |
3 |
0303102 |
6 |
Software Engineering |
0303345 |
3 |
0303243 |
|
Compulsory |
18 |
|
|
|
Elective Courses (Dept 200 level or above) |
9 |
|
|
|
Total |
27 |
|
2. Minor in Information Technology – 27 credit hours (21 compulsory + 6 elective)
This is offered only for Tawjehee scientific stream or equivalent, students are required to pass the introduction to computer science (0303101) with 70% or higher. This is offered for the students from other faculties except from the college of Science and Technology or Engineering. Students are required to take 27 credit hours which consists of 21 compulsory credit hours shown in Table #11 plus 6 hours to be chose from the department courses (compulsory or electives) 200 level and above.
Table #11 Compulsory Courses for the Minor in Information Technology (21 credit hours)
# |
Title |
Course # |
Credits |
Prerequisite |
1 |
Introduction to Computing |
0303101 |
4 |
– |
2 |
Fundamentals of Programming |
0303102 |
4 |
0303101 |
3 |
Database System |
0303243 |
4 |
0303102 |
4 |
Information Systems |
0303246 |
3 |
0303102 |
5 |
Human Computer Interaction |
0303441 |
3 |
0303246 |
6 |
Software Engineering |
0303345 |
3 |
0303243 |
|
Total |
21 |
|
IV- CS & IT Yearly Plan
Students can choose Plan A (Table #12) in which he can finish in three and a half years, or Plan B ( Table #13) for four years.
Table #12 Study Plan for Three and a Half Years
First year
First semester |
|||||
Course name |
Course number |
Prerequisite |
Credit hours |
||
theory |
lab |
total |
|||
Introduction to CS |
(0303101) |
– |
3 |
1 |
4 |
Calculus I |
(0306101) |
– |
3 |
– |
3
|
College Requirement |
|
– |
3 |
1 |
4 |
University Requirement |
|
– |
2 |
– |
2 |
University Requirement |
|
– |
2 |
– |
2 |
University Requirement |
|
– |
2 |
– |
2 |
Total |
17 |
||||
Second semester |
|||||
Course name |
Course number |
Prerequisite |
Credit hours |
||
theory |
lab |
total |
|||
Fundamentals of Programming |
(0303102) |
0303101 |
3 |
1 |
4 |
Mathematics for Computer Science |
(0303104) |
0306101 |
|
|
3
|
Statistics & Probability for Computer Science
|
(0303132) |
0306104 |
|
|
3 |
College Requirement |
|
|
3 |
1 |
4 |
University Requirement |
|
|
|
|
2
|
University Requirement |
|
|
|
|
2 |
Total |
18 |
Second Year
First semester |
|||||
Course name |
Course number |
Prerequisite |
Credit hours |
||
theory |
lab |
total |
|||
Data Structures and Algorithms I |
(0303201) |
0303102 |
3 |
1 |
4 |
Computer Organization and Assembly Language |
(0303233) |
0303102 |
3 |
1 |
4 |
Linear Algebra and Numerical Algorithms for Computer Science |
(0303281) |
0303101 |
3 |
|
3 |
Database Systems I |
(0303243) |
0303102 |
3 |
1 |
4
|
College Requirement |
|
|
2 |
1 |
3 |
Total |
18 |
||||
Second semester |
|||||
Course name |
Course number |
Prerequisite |
Credit hours |
||
theory |
lab |
total |
|||
Data Structures and Algorithms II |
(0303202) |
0303102 |
3 |
1 |
4 |
Introduction to Computer Networks |
(0303272) |
0303201 |
3 |
1 |
4 |
University Elective |
|
|
3 |
|
3 |
Information System |
0303246 |
0303102 |
3 |
|
3 |
University Requirement |
|
|
3 |
|
3 |
Total |
17 |
Third Year
First semester |
|||||
Course name |
Course number |
Prerequisite |
Credit hours |
||
theory |
lab |
total |
|||
Data Science I |
(0303305) |
0306132 |
3 |
|
3 |
Software Engineering |
(0303345) |
0303243 |
3 |
|
3 |
Computer Architecture |
(0303234) |
0303233 |
3 |
1 |
4
|
Department Elective |
|
|
3 |
|
3
|
University Requirement |
|
|
3 |
|
3 |
University Requirement |
|
|
3 |
|
2 |
Total |
18 |
||||
Second semester |
|||||
Course name |
Course number |
Prerequisite |
Credit hours |
||
theory |
lab |
total |
|||
Advanced Programming |
0303308 |
0303201 |
|
|
3 |
Research Methods |
0303361 |
0303102 |
|
|
2 |
Internship I |
0303495 |
Department |
|
|
3 |
Department Elective |
|
|
|
|
3 |
Department Elective |
|
|
|
|
3 |
University Elective |
|
|
|
|
3 |
Seminar I |
0303392 |
Department |
|
|
1 |
Total |
18 |
Fourth Year
First semester |
|||||
Course name |
Course number |
Prerequisite |
Credithours |
||
theory |
lab |
total |
|||
Seminar II |
0303493 |
Department |
1 |
|
1 |
Computer Operating Systems |
0303473 |
0303233 |
3 |
|
3 |
Department Elective |
|
|
|
|
3 |
Intelligent Systems |
(0303483) |
0303201 |
3 |
|
3 |
Department Elective |
|
|
|
|
3 |
Department Elective |
|
|
|
|
3 |
Department Elective |
|
|
|
|
3 |
Total |
19 |
Table #13 Study Plan for Four Years
First Year
First semester |
|||||
Course name |
Course number |
Prerequisite |
Credit hours |
||
theory |
practice |
total |
|||
Introduction to CS |
(0303101) |
– |
3 |
1 |
4 |
Calculus I |
(0306101) |
– |
3 |
– |
3 |
College Requirement
|
|
– |
|
|
4 |
University Requirement |
|
– |
|
|
2 |
University Requirement |
|
– |
|
|
2 |
|
|
|
|
|
|
Total |
15 |
||||
Second semester |
|||||
Course name |
Course number |
Prerequisite |
Credit hours |
||
theory |
lab |
total |
|||
Fundamentals of Programming
|
(0303102) |
0303101 |
3 |
1 |
4 |
Mathematics for Computer Science
|
(0303104) |
0306101 |
3 |
|
3 |
Statistics & Probability for Computer Science |
0303132 |
0306104 |
3 |
|
3 |
University Requirement |
|
|
|
|
2 |
University Requirement |
|
|
|
|
2 |
College Requirement |
|
|
|
|
4 |
Total |
18 |
Second Year
First semester |
|||||
Course name |
Course number |
Prerequisite |
Credit hours |
||
theory |
lab |
total |
|||
Data Structures and Algorithms I |
(0303201) |
0303102 |
3 |
1 |
4 |
Computer Organization and Assembly Language |
(0303233) |
0303102 |
3 |
1 |
4 |
Linear Algebra and and Numerical Algorithms for Computer Science |
(0303281)) |
0303102 |
3 |
|
3 |
Database Systems I |
(0303243) |
0303102 |
3 |
1 |
4 |
College Requirement |
|
|
|
|
3 |
Total |
18 |
||||
Second semester |
|||||
Course name |
Course number |
Prerequisite |
Credit hours |
||
|
theory |
lab |
total |
||
Data Structures and Algorithms II |
(0303202) |
0303201 |
3 |
1 |
4 |
Introduction to Computer Networks |
(0303272) |
0303201 |
3 |
1 |
4 |
Information system |
(0303246) |
0303102 |
3 |
|
3 |
University Requirement |
|
|
|
|
3 |
College Requirement |
|
|
|
|
4 |
Total |
18 |
Third Year
First semester |
|||||
Course name |
Course number |
Prerequisite |
Credit hours |
||
theory |
lab |
total |
|||
Data Science I |
(0303305) |
0306132 |
3 |
|
3 |
Software Engineering |
(0303345) |
0303243 |
3 |
|
3 |
University Requirement |
|
|
|
|
3 |
Computer Architecture |
(0303234) |
0303233 |
3 |
1 |
4 |
University Elective |
|
|
|
|
3 |
University Requirement |
|
– |
|
|
2 |
Total |
18 |
||||
Second semester |
|||||
Course name |
Course number |
Prerequisite |
Credit hours |
||
theory |
lab |
total |
|||
Internship I |
0303495 |
Department |
|
|
3 |
Advanced Programming |
(0303308) |
0303201 |
3 |
|
3 |
Research Methods |
( 0303361) |
0303102 |
1 |
1 |
2 |
University Elective |
|
|
|
|
3 |
Department Elective |
|
|
|
|
3 |
Total |
14 |
Fourth Year
First semester |
|||||
Course name |
Course number |
Prerequisite |
Credit hours |
||
theory |
lab |
total |
|||
Intelligent Systems |
(0303483) |
0303201 |
|
|
3 |
Seminar I |
0303392 |
Department |
|
|
1 |
Department Elective |
|
|
|
|
3 |
Department Elective |
|
|
|
|
3 |
Department Elective |
|
` |
|
|
3 |
University Requirement |
|
|
|
|
2 |
Total |
13 |
||||
Second semester |
|||||
Course name |
Course number |
Prerequisite |
Credit hours |
||
theory |
lab |
total |
|||
Seminar II |
0303493 |
Department |
1 |
|
1 |
Computer Operating Systems |
0303473 |
0303233 |
3 |
|
3 |
Department Elective |
|
|
|
|
3 |
Department Elective |
|
|
|
|
3 |
Department Elective |
|
|
|
|
3 |
Total |
13 |
0303101– Introduction to Computing (4 credits):
In this course students learn : Elements of Programming that introduces variables, assignment statements, built-in types of data, conditionals and loops, arrays, and input/output, including graphics and sound • Functions that introduces modular programming • Object Oriented Programming and data abstraction • Algorithms and Data Structures that introduces classical algorithms for sorting and searching and fundamental data structures • A Computing Machine to introduce an imaginary machine that is similar to real computers • Circuits introduces circuits and logical design • Theory of Computation that introduces the scientific discipline concerned with understanding (efficient) computational phenomena • Systems introduces the basic components of computer systems that support programming: compilers, operating systems, networks, and application systems • Scientific Computation introduces some of the most important algorithms that play crucial roles in our computational infrastructure, including numerical integration, matrix computation, data analysis, and Monte Carlo simulation.
0303102– Fundamentals of Programming (4 credits) – (Preq. 0303101):
The course introduces the fundamental concepts underlying modern computer programming. A Systematic approach is used to teach students how to write programs that solve well specified Problems. Emphasis is placed on the mastery of basic programming skills, with a considerable Attention to the fundamental building blocks of computer programs, and the associated concepts and principles. The essentials of sequential processing and control flow are taught in a procedural programming context prior to introducing classes, objects and related object-oriented programming concepts.
This course will introduce fundamental programming techniques and methods using JAVA programming language. It will provide students with the necessary tools and skills to be able to come out with all possible logical solutions to a problem and express such solutions in efficient code. The course will also introduce basic concepts of object-oriented programming and basic concepts of Data structures towards the end of the course. To ensure the development of the necessary competencies, assigned homework includes the development of program solutions to problems of adequate complexity and relevance.
0303104 Mathematics for Computer Science (3 credits) – (Preq. 0306101)
Hyperbolic Functions, Improper Integrals, Infinite Sequences and Series, Ratio and Root Tests, Power Series, Taylor Series, Parametric Equations, Polar Coordinates, Vectors, Dot Products, Cross Product, Planes in Space, Functions of Several Variables, Partial Differentiation, Chain Rule, Gradient Vectors, Extreme Values and Saddle Points, Lagrange Multipliers, Taylor’s Formula for Two Variables, Double Integrals over General Regions, Substitutions in Multiple Integral. Gamma Function, Beta Function, Error Function. Use of Python or R software packages.
0303132 Probability and Statistics for Computer Science(3 credits) –(Preq. 0306104)
Types of Data, Descriptive Statistics, Exploratory Data Analysis, Data Cleaning, Multivariate Data and Data Frames, Conditional Probability, Bayes’ Rule, Random Variables, Discrete and Continuous Uniform Distributions, Binomial Distribution, Normal and Chi-Square Distributions, Expectation and Moment Generating Functions, Empirical Distribution, Functions of Discrete and Continuous Random Variables, Joint and Marginal Probability Distributions, Conditional Distributions, Bivariate Normal Distribution, Multinomial Distribution, Sampling Distributions, Central Limit Theorem, Point Estimation, Maximum Likelihood Estimator, Confidence Intervals, Hypotheses Testing, Correlation, Simple Linear Regression, Multiple Linear Regression Model, Prediction, Logistic Regression, Bootstrap Standard Errors. Use of Python or R software packages.
0303201– Data Structures & Algorithms 1 (4 credits) – (Preq. 0303102):
In this course the student learn and understand in-depth the basic data structures and algorithms in Computer Science : Arrays • Runtime storage management • Pointers and references • Linked structures • Implementation strategies for stacks, queues, and hash tables • Implementation strategies for graphs and trees • Strategies for choosing the right data structure .Simple recursive functions • Divide-and-conquer strategies, Asymptotic analysis of upper and average complexity bounds • Identifying differences among best, average, and worst case behaviors • Big O, little o, omega, and theta notation • Standard complexity classes • Empirical measurements of performance • Time and space tradeoffs in algorithms • Using recurrence relations to analyze recursive algorithms • Simple numerical algorithms • Sequential and binary search algorithms • Quadratic sorting algorithms (selection, insertion) • O(N log N) sorting algorithms (Quicksort, heapsort, mergesort) • Hash tables, including collision-avoidance strategies • Binary search trees • Representations of graphs (adjacency list, adjacency matrix) • Depth- and breadth-first traversals • Shortest-path algorithms (Dijkstra’s and Floyd’s algorithms) • Transitive closure (Floyd’s algorithm) • Minimum spanning tree (Prim’s and Kruskal’s algorithms) • Topological sort •
0303202– Data Structures & Algorithms 2 (4 credits) – (Preq. 0303201):
This course introduces students to new types of data structures and learns how to design new algorithms for each new data structure studied, create and perform simple operations on graph data structures, describe and implement common algorithms for working with advanced data structures and recognize which data structure is the best to use to solve a particular problem. This course is to give general computational problems, with a focus on the principles used to design those algorithms. Efficient data structures will be discussed to support these algorithmic concepts. Topics include: Analysis of algorithms, Divide-and-conquer algorithms, greedy algorithms, dynamic programming algorithms, Solution of summation & recurrence equations, Backtracking, branch-&-bound, advanced graph algorithms, Numerical approximation algorithms, Brute-force algorithms, Pattern matching and string/text algorithms, Randomized algorithms, Amortized analysis, network flow algorithms, large-scale search algorithms and heuristics, and efficient data storage and query.
This course will focus on the design and analysis of algorithms for general classes of problems so that student should be able to describe the shortcoming of brute-force algorithms and identify an example of everyday human behavior that exemplifies the basic concept for each of several kinds of algorithm (brute force, greedy, divide-and-conquer, backtracking, branch-and bound, and heuristic),. and they should be able to Implement a greedy algorithm to solve an appropriate problem, and. Use backtracking to solve a problem such as navigating a maze, Use numerical approximation to solve mathematical problems, such as finding the roots of a polynomial, describe various heuristic problem-solving methods and Use pattern matching to analyze substrings.
0303231– Digital Design (3 credits) – (Preq. 0303102):
This course introduces the design of the digital computer: numerical data representation, forms of representations of computer functionality, including logical expressions and logic gates, design and implementation of combinational and sequential circuits, decoders, encoders, multiplexers, flip-flops, counters, registers and memory devices. Student should be able to use Register transfer notation/Hardware Description Language (Verilog/VHDL).
0303233– Computer Organization and Assembly language 1 (4 credits) – (Preq. 0303102):
This course is designed to introduce students to the basics of Computer organization using low level assembly language programming. Basic organization of the von Neumann machine. Boolean Algebra, design and implementation of combinational and sequential circuits, decoders, encoders, multiplexes, flip-flops, counters, registers and memory devices. Figuring out storage systems and their technology. Memory hierarchy. Main memory organization and operations, Cache memories. Interrupt structures, External storage, Shared memory multiprocessors/multicore organization, SIMD vs. MIMD and the Flynn Taxonomy. Data paths, including instruction pipelining, hazards.
0303234 Computer Architecture (4 credits) (Preq. 0303233):
This course is designed to introduce students with measuring and reporting performance, classifying instruction sets architectures. Data paths, instruction pipelining, hazard detection and resolution, Control unit: hardwired realization vs. microprogrammed realization, instruction-level parallelism, and superscalar architecture. Branch prediction, Speculative execution, Out-of-order execution. Vector processors and GPUs. SIMD and MIMD architectures. Interconnection networks. Shared multiprocessor memory systems and memory consistency. Multiprocessor cache coherence. Using low level assembly language programming. Assembly language will focus on Intel x86 assembly language, low-level data manipulation, instructions and directives. The usage of assemblers, debuggers, linkers and loaders.
0303243—Database systems I (4 credits) – (Preq. 0303102):
This course introduces database management systems (DBMS) features, functions, and architecture, including logical design, data models, normalization, and database administration. A DBMS product will be used to illustrate principles. It will also introduce students to the design, development, implementation, and manipulation of databases as well as covering the essentials of file processing and the design of computerized business forms and reports. The course provides students with an understanding of the importance and the role of Business Information Systems in making decisions affecting the success of an organization, and the types of information systems that support business functions The student will be asked to create information level database designs from a set of user requirements and implement those designs employing modern database tools. Emphasis will be placed on the planning, development, installation and maintenance of business computer applications that are utilized in the typical business environment.
0303246 Information Systems (3 credits) – (Preq. 0303102)
This course introduces students to information systems, distinguishing the different types of information systems, systems analysis and design, data analysis and management, surveying information/systems technology for the management of enterprise information.
0303272– Computer Networks I (3 credits) – (Preq. 0303201):
This course covers principles, design, implementation, and performance of computer networks; these include: physical layer, transmission media, OSI reference model, data-link layer, medium access control (MAC), Internet Protocols, local area networks, IP, TCP, congestion control, switching and routing, wireless networks, and application layer protocols. The course includes hands-on lab on LAN design and routing.
303281 Linear Algebra and Numerical Algorithms for Computer Science (3 credits) (Preq. 0303101)
Gaussian Elimination, Matrices, Diagonal, Triangular, and Symmetric Matrices, Matrix Transformations, Cramer’s Rule , General Vector Spaces, Spanning Sets, Linear Independence, Row Space, Column Space, Null Space, Nullity, Eigenvalues and Eigenvectors, Diagonalization, Inner Products, Gram–Schmidt Process, QR Decomposition, LU-Decompositions, Newton’s Method, Gradient Descent Method, Interpolation and Lagrange Polynomials, Cubic-Spline Interpolation, Least Square Approximation, Simplex Method. Use of Python or R software packages.
0303305– Data Science I (4 credits) – (Preq. 0306132):
This course introduces students to System of linear equations, matrices, determinants, Euclidean vector spaces, linear independence, basis, dimension, rank, inner product spaces, eigenvalues, eigenvectors, LU-decomposition, spectral value decomposition, round-off errors, fixed-point iteration, Newton-Raphson method, Interpolation, Taylor polynomials, Lagrange polynomials, divided difference, cubic spline interpolation, discrete least squares approximation, orthogonal polynomials, Fourier series, and use of Matlab software.
0303308– Advanced Programing (3 credits) – (Preq. 0303201):
The aim of this course is to teach advanced programming concepts, specially covers modular programming, systems programming, concurrent programming and synchronization, platforms development tools. The overall objective of the course is to prepare students for building large-scale software products following the best practices and design techniques of software development. The course is intended to extend the student’s knowledge to encompass a number of important programming techniques necessary for building a modern computing application. The course content will include techniques in Java to deal with a range of issues drawn from the following: program design using an object oriented programming model; modelling data using programming language type systems; event and exception programming; providing a graphical user interface; thread programming; persistence; and distributed programming. It will also cover in brief the underlying Java run time system and techniques found in other languages.
0303361 Research Methods and Applied Computing (3 credits) – (Preq. 0303102):
The course introduces to students methods and techniques on how to conduct successful scientific research including research methodologies, statistical analysis, research ethics and writing skills,
in addition to computerized research tools. Consequently, this course this course will enable the students to understand the various research steps as well as a critically informed assessment of published research. Most of the course will focus on the fundamentals of quantitative and applied research. The student will learn how to identify problems to study, develop hypotheses and research questions, specify independent and dependent variables check for the validity and reliability of studies and design research projects. The student will also be exposed to the broad range of designs used in research from laboratory and field experiments, surveys, content analysis, focus groups and in-depth interviewing. Specifically, at the end of this course, the student should be able to conduct scientific research according to international research standards.
0303345– Software Engineering (3 credits) – (Preq. 0303243):
The primary objective of this course is to enable the students to construct software of high quality using the methods taught in this course and to understand why software engineering is important. An introduction to principles of software engineering and best practices. Students work in teams on the design, implementation, and deployment of a short-term project that solves a problem. Structured and supervised with weekly milestones and weekly meetings for design discussions with an advisor.
0303421– Programming Languages and Compilers (3 credits) – (Preq. 0303202)
This course offers an introduction to Programming Languages design issues and compiler design. The PL topics include: examination of modern programming languages evolution and features, abstract data and control structures, procedures, parameter passing mechanisms, block structuring and scope rules, input/output, and storage management. The Compiler topics include: lexical analysis, regular expressions, parsing (syntax analysis) strategies (top-down and bottom-up), context-free grammars, interpretation, compilation, language translation pipeline, type-checking, linking and loading, execution and run-time layout of memory, implementing loops, recursion, manual and automated memory management.
0303473– Operating Systems (3 credits) – (Preq. 0303233):
Introduce the student to the principles and evolution of operating systems. Process and processor management. Concurrent processes and threads. Primary and secondary storage management. I/O. Case studies of modern operating systems
0303485– Parallel and Distributed Computing 1 (3 credits) – (Preq. 0303272):
This course aims to build upon students’ familiarity with the notion of basic parallel and distributed computing to delve into the complicating issues that stem from this notion, such as race conditions and liveness: Multiple simultaneous computations, Goals of parallelism (e.g., throughput) versus concurrency (e.g., controlling access to shared resources), Programming constructs for creating parallelism, communicating, and coordinating , Programming errors not found in sequential programming, Data races (simultaneous read/write or write/write of shared state), Higher-level races (interleavings violating program intention). Lack of liveness/progress (deadlock, starvation, Need for communication and coordination/synchronization: Independence and partitioning , Shared Memory , Consistency, and its role in programming language guarantees for data-race-free programs. Multicore processors Shared vs. distributed memory.
0303491– Senior Project I (1 credit) – Department Approval:
Covers recent topics and current research areas/trends in Computer Science and Information Technology. Emphasis will be on participation level, innovation, research effort, and the use of technical literature sources. A report document is expected at the end of the course.
0303492– Senior Project II (1 credit) – Department Approval:
The course is a follow-up to Senior Project I course. The student is expected to implement and demonstrate ideas explored in part I. At the end of the course, the student (or group of students) working on this project, should submit a full documentation and make a private and public demonstration of their proposed solution.
0303495 Internship 1 (3 credits) – (Third year level)
This course serves the department educational strategy that links classroom learning and student interest with the acquisition of knowledge in an applied work setting. In this course students undertake a significant experiential learning opportunity, typically with a company, non-profit, governmental, or community-based organization. Through direct observation, reflection and evaluation, students gain an understanding of the internship site’s work, mission, and audience, how these potentially relate to their academic study, as well as the organization’s position in the broader industry or field. Students will produce a critical reflection on their internship experience demonstrating how they have addressed specific learning goals
Elective Courses for the Major Computer Science (0303):
0303306– Web & Mobile Application Development (3 credits) – (Preq. 0303102 )
This course provides a key introduction to essential web development languages. Course content will focus in HTML, CSS and JavaScript in the context of web development practices. Students will experience how to create basic web pages with HTML, including basic structuring of page content, apply basic formatting styles using CSS and understanding JavaScript for basic interactivity.
Moreover this course introduces students to programming technologies, design, and development related to mobile applications. Topics include accessing device capabilities, industry standards, operating systems, and programming for mobile applications using Android Studio SDK.
0303325– Geographic Information Systems (4 credits) – (Preq. 0303246)
This course is offered by the department of Earth and Environmental Science. Topics include: aerial photography, land satellites, GIS applications and land use. Building GIS projects, building geodatabases and spatial analysis, converting from vector to raster model, using the GIS tools for environmental analysis and applications. The course also offers hands-on training on the ArcGIS software group.
0303326 Performance Evaluation of Computer System (3 credits) – (Preq. 0303202)
Introduction of Computer System performance modeling and measurements. Topics covered are performance metrics, statistical analysis and experimental design, analytical modeling, simulation modeling, and measurements techniques.
0303343– Database Systems II (3 credits) – (Preq. 0303243 )
This course aims at furthering database systems concepts through adding complexity and a more hands-on approach. In particular, it will focus on supporting multi-dimensional data in a DBMS, query optimization, query evaluation, transaction processing and concurrency control in both a centralized and a distributed context. In terms of centralized databases, the course starts from single and multi-dimensional indexing methods, move on to join evaluation algorithms, and talk about query optimization paradigms and then it will focus on the issues of transaction processing, concurrency control and crash recovery as well as issues in a distributed database environment.
0303347 Machine learning (3 CHs) (Preq. 0303243)
This course introduces supervised versus unsupervised learning, data-based model selection, classification, linear discriminant analysis, multiple logistic regression, K-nearest neighborhood, resampling methods, cross-validation, regularization, shrinkage methods, ridge regression, lasso, selecting the tuning parameter, principal components regression, curse of dimensionality, regression splines, local regression, regression tree, bagging, boosting, random forests, support vector machine, principal components, clustering, Neural Network. Use of Python or R software packages.
0303351- Introduction to Data Mining (3 CHs) (Preq. 0303243)
This course provide students with an introduction to data mining, data objects and attribute types, basic statistical descriptions of data, data visualization, data matrix versus dissimilarity matrix, proximity measures for nominal attributes, proximity measures for binary attributes, Minkowski distance, proximity measures for ordinal attributes, data quality, major tasks in data preprocessing, data cleaning, data reduction, data transformation and data discretization, mining frequent patterns, associations, and correlations, decision tree induction, Bayes classification methods, use of Matlab software.
0303373– Advanced Computer Networks (3 credits) – (Preq. 0303272)
This course is a continuation of the previous introduction to computer networks (0303272) course; It will re-visit some of the topics with more depth and a broader view like wireless networks, application layer protocols, and network security. Topics include: wireless LANs; broadband wireless, mobile-IP, TCP/IP Performance Issues, domain name system (DNS), e-mail, world wide web (www) protocols, streaming audio and video, content delivery, network security and cryptography, authentication protocols.
0303382– Computer Graphics (3 credits) – (Preq. 0303201)
This course offers an introduction to the principles, algorithms, and devices for construction and display of computer generated images and animations. Interactive graphic techniques are also covered including: vector, characters, and curve generations, in addition to applications and transformation in 2D and 3D. The course also provides an introduction to computer animation, like rigging for forward and inverse kinematics, skin weighting, morph targets, expression-driven animation, rigid-body and particle simulation. The course includes a hand-on programming lab.
0303401– Academic Writing and Communication Skills (3 credits) – (Preq. )
The course aims to bring students’ knowledge and experience about the fundamentals of academic writing. This course is an introduction to the written communication skills in academic English. The course focuses on the fundamental aspects of writing paragraphs and essays that have unity and coherence. Besides, the course covers how to use scholarly sources in written assignments and how to cite these sources properly without committing plagiarism.
0303405– Data Science II (3 credits) – (Preq. 0303305):
This course introduces students to the axioms of probability, conditional probability, Bayes theorem, random variables, mathematical expectation, some discrete distributions: binomial, geometric, negative binomial, hypergeometric, Poisson, some special continuous distributions: uniform, exponential, normal, gamma, chi-square, decretive study of univariate and bivariate data, correlation coefficient, sampling distribution, estimation, testing hypotheses, simple and multiple regression, logistic regression, one way analysis of variance, categorical data analysis, and use of R software.
0303406– Serious Gaming & Programming (3 credits) – (Preq. 0303202)
This course focuses on the most common types of games that media producers create, serious games. These are games that are used for real-life purposes other than pure entertainment. The context will shape an investigation into game aesthetics, learning, affect and engagement. Students will learn to create simple games using a special game programming tool. Moreover students will also be introduced to the methods and practice of game play-testing.
0303412– Network Programming (4 credits) – (Preq. 0303272)
This course covers networking and Internet protocols programming and hands-on labs. TCP/IP protocol architecture; standard Internet services, and protocol usage by common Internet applications. Sockets programming; client/server; peer-to-peer; Internet addressing; TCP sockets; UDP sockets; raw sockets. Multithreading and exception handling. Finger, DNS, HTTP, and ping clients and servers. Routers and architectures, routing protocols. Router and switch configurations, Internet operating systems. Internetwork setup, network topology, wireless internetworking. Network protocol analyzers; traffic generation.
0303434 Microprocessor (3 CHs) (Preq. 0303233)
This course introduces students to small microprocessor-based systems, with an emphasis on embedded system hardware and software design. Topics will include microprocessor architecture and structure, with an overview of 8- 16- and 32-bit systems, assembly language programming and the use of high-level languages. Basic input/output including parallel communications with and without handshaking and serial protocols. Hardware and software timing. Using interrupts and exceptions. Overview of single-chip microprocessors and controllers with an emphasis on the Freescale HCS12. The internal structure and design of peripheral devices. Memory system design and analysis. The use and structure of development tools such as (cross) assemblers or compilers, monitor programs, simulators, emulators, etc.
0303444– Security and Legal Hacking (3 credits) – (Preq. 0303372)
This course covers the fundamental concepts and practical applications of computing systems security with a holistic view and an applied approach. Topics include: security concepts and services, physical, operational, and organizational security, the role of people in systems security, introduction to cryptography and public key infrastructure, computing systems hardening, secure code, secure applications development, introduction to ethical hacking, footprinting and reconnaissance, scanning networks, system hacking, malware threats, sniffing, session hacking, hacking websites, hacking mobile platforms, hacking web applications, hacking wireless networks, evading IDS, firewalls, and honeypots.
0303446– Software Quality Control (3 credits) – (Preq. 0303345)
This course focuses on techniques for ensuring software quality. Here, quality assurance is viewed as an activity that runs through the entire development process: understanding the needs of clients and users; analyzing and documenting requirements; verifying and validating solutions through testing.
By completion of the course, students will be able to understand software quality in its complexity, to see the differences and interconnections among the most popular software quality models, standards, approaches. They will have a solid basis that enables them to make the right selection among software quality models, based on a software company’s own characteristics.
0303453 –Project Management (3 credits)
This course examines activities related to project planning and estimating project scope and schedule. It also examines processes for managing project resources. Upon completion of this course, students are expected to be able to do the following: Plan and estimate project scope, resources, and schedule.
0303482– Human Computer Interaction (3 credits) – (Preq. 0303382)
Human-computer interaction is an interdisciplinary field that integrates theories and methodologies from computer science, cognitive psychology, design, and many other areas. The course is intended to introduce the student to the basic concepts of human-computer interaction. It will cover the basic theory and methods that exist in the field. The course will unfold by examining design and evaluation. Case studies are used throughout the readings to exemplify the methods presented and to lend a context to the issues discussed. The students will gain principles and skills for designing and evaluating interactive systems.
Among the topics studied are the design and evaluation of effective user interaction designs, including principles and guidelines for designing interactive systems.
During the course the students will be involved with a real problem solving/software development project. Students will be required to gather functional requirements, identify the problem, form a solution and present this solution.
0303483– Intelligent Systems (3 credits) – (Preq. 0303201)
This course introduces students to the field of Artificial Intelligence (AI) with emphasis on its use to solve real world problems for which solutions are difficult to express using the traditional algorithmic approach. It explores the essential theory behind methodologies for developing systems that demonstrate intelligent behavior including dealing with uncertainty, learning from experience and following problem-solving strategies found in nature.
0303485– Biocomputation (3 credits) – (Preq. 0305101)
This course introduces the principles and algorithms used to create computational analytical models for problems in the Life Sciences in general and Biology in particular. Genome sequencing projects, including the completed human genome project, continually generate large datasets of gene and protein sequences. Efficient and optimal analysis of this ever-growing dataset yield important knowledge and information that have direct consequences on the biological aspects. A broad range of topics will be studied to establish a basic understanding and appreciation of the issues and problems of computational biology. The course includes an applied component, which will introduce programming for biological data and use of a range of web-based Biocomputing utilities.
0303486– Parallel and Distributed Computing (3 credits) – (Preq. 0303272)
This course aims to introduce student to the basic knowledge of parallel decomposition concepts, Task-based decomposition, Implementation strategies such as threads, Data-parallel decomposition, Strategies such as SIMD and Mapreduce Actors and reactive processes , Consistency in shared memory models, Message passing, Atomicity , Potential for liveness failures and deadlock (causes, conditions, prevention), Composition, Critical paths, work and span, and the relation to Amdahl’s law, Speedup and scalability, Naturally parallel algorithms, Parallel algorithmic patterns (divide-and-conquer, map and reduce, others), Specific algorithms (e.g., parallel MergeSort) .
0303447 Enterprise Information Architecture (3 credits) – (Preq. 0303243)
Enterprise architecture is the organizing logic for business processes and IT infrastructure reflecting the integration and standardization requirements of the company’s operating model. The operating model is the desired state of business process integration and business process standardization for delivering goods and services to customers. Enterprise architecture defines what an organization does; who performs individual functions within the organization; how the organizational functions are performed; and how data is used and stored.
0334261 Serious Gaming Fundamentals (3 credits) – (Preq. 0303202)
This course introduces the area of serious games covering the questions such as: why users prefer some games to others, why people play games, how the game players interact with each other in a gaming environment, what cognitive processes happen during/within game playing. Besides introduction, examples and motivation for serious games, the course offers a deep presentation of gaming tools such as rewards, storyboards, design approaches, social and cognitive factors. Moreover, the methods for targeting certain player behavior are thoroughly explained.
334302 Animation (4 credits) – (Preq. 0303361)
This course is designed to introduce topics related to computer animation, like rigging for forward and inverse kinematics, skin weighting, morph targets, expression-driven animation, rigid-body and particle simulation.
0303484 Computer Vision & Pattern recognition (3 credits) – (Preq. 0303382)
Computer vision and pattern recognition including image preprocessing, feature extraction, Recognition and localization techniques. Techniques for deriving 3-D shape information from 2-D Intensity images such as shape from shading, stereo, motion and texture. Parallel algorithms/ Architectures for computer vision including neural computing.
0303485 Parallel and Distributed Computing (3 credits) – (Preq. 0303234)
An introduction to concurrent and parallel programming, with an emphasis on language constructs. Major topics include: exceptions, co-routines, atomic operations, critical sections, mutual exclusion, semaphores, high-level concurrency, deadlock, inter-process communication, process structuring, shared memory and distributed architectures. Students will learn how to structure, implement and debug concurrent programs.
0303499 Capstone Course (3 credits) – (Dept.)
The main objective of this course is to provide students with the opportunity to build an interdisciplinary hands-on project that encourages to apply the acquired analytical and design skills throughout the entire undergraduate curriculum. This interactive course gives students an introduction to the basic concepts, techniques and approaches used to develop, implement and succeed in entrepreneurial projects. Students will work in multidisciplinary teams to design and apply projects to real-world problems. The problems will be identified and selected from a wide range of interest areas, including, health, education, agriculture, technology and industrial and community services. Projects must be aligned with students’ knowledge and skills acquired during their previous university study. The course is composed of modules that provide students with the required skills for capstone projects design and implementation, such as problem identification, project management, leadership, teamwork and professional skills, product and patent research, systems analysis and design methodologies, prototyping and proof of concept methods.
0303496 Internship II (3 credits) – (0303495)
Continuation of Internship 1course (0303495)
0334331 Mobile Game Programing (3 credits) – (Preq. 0303361)
This course focuses on the development of mobile game applications and provides insight into today’s common procedures for developing and publishing mobile applications. Students work in groups to produce mobile games.
0303465 Knowledge Base Systems (3 credits) – (Preq. 0303243)
Topics include Knowledge, Knowledge representation, formal logic, database programming, and recursive programming. Selected language features including reels, arithmetic, type predicates, meta-logic predicates, cuts, and negation are introduced with programming examples. Theory and practice of knowledge-based system construction. Topics will include knowledge base Construction, inference engines, reasoning from incomplete or uncertain information and user Interfaces.