You are on page 1of 9

‫كلية تقنية المعلومات‬

‫قسم هندسة البرمجيات‬

‫المكملة في كلية تقنية المعلومات‪،‬‬


‫المهمة و ُ‬
‫‪ ‬حول القسم‪ :‬يعد قسم هندسة البرمجيات من األقسام العلمية ُ‬
‫وجاء استحداثه لتحقيق سياسات كلية تقنية المعلومات التعليمية والمهنية‪ .‬حيث يأمل القسم في تطوير‬
‫حلول برمجية عالية الجودة في مختلف مجاالت المعلومات‪ .‬ويدرس الطالب في هذا القسم شتى مجاالت‬
‫المعلومات‪ ،‬وتطبيق هذه المهارات والتقنيات وأدوات هندسة البرمجيات الحديثة لممارسة الهندسة‪ ،‬الى أن‬
‫يصل الى القدرة في اتخاذ القرار في مختلف المشاريع‪.‬‬
‫‪ ‬الرؤية‪ :‬يتطلع قسم هندسة البرمجيات إلى الريادة وأن يصبح من أفضل البرنامج في مجال هندسة‬
‫البرمجيات على المستوى المحلي والعالمي‪.‬‬
‫‪ ‬الرسالة‪ :‬يلتزم قسم هندسة البرمجيات بتخريج طالب مؤهلين تأهيالً عاليا بما يخدم احتياجات سوق‬
‫مجتمع معرفي‪.‬‬
‫ٍ‬ ‫العمل والمساهمة في انتقال المجتمع إلى‬
‫‪ ‬األهداف‪:‬‬
‫امتالك المهارات المهنية في هندسة البرمجيات والتي تجعل الطلبة واثقين من تطوير حلول برمجية‬ ‫‪‬‬
‫عالية الجودة في مختلف المجاالت التطبيق في ظل قيود واقعية مختلفة‪.‬‬
‫المشاركة والنجاح في الحياة المهنية من خالل العمل الجماعي‪ ،‬والتواصل الفعال‪.‬‬ ‫‪‬‬
‫شغل بشكل تدريجي لوظائف وأدوار مؤثرة في المنظمات والمجتمعات المحلية‪.‬‬ ‫‪‬‬
‫متابعة الدراسات العليا والنجاح في الحياة الوظيفية األكاديمية والبحثية‪.‬‬ ‫‪‬‬

‫‪ ‬مخرجات القسم‪ :‬مبرمج ‪ /‬محلل برمجيات‪ ،‬مهندس برمجيات‪ ،‬مهندس جودة البرمجيات‪ ،‬مدير برمجيات‪،‬‬
‫رئيس مشروع البرمجيات‪ ،‬منسق ضمان جودة البرمجيات‪ ،‬مدير هندسة البرمجيات‪ ،‬مهندس تطبيقات‬
‫الحاسوب‪ ،‬محلل نظم‪.‬‬
‫‪ ‬القبول ‪:‬‬
‫الموضحة بالالئحة الداخلية للكلية والخاصة بالعدد‬
‫يجب على الطالب اجتياز عدد الوحدات ُ‬ ‫‪‬‬
‫المطلوب للتخصص‬
‫يجب على الطالب اجتياز مادة‪Introduction to Software Engineering (SE210) :‬‬ ‫‪‬‬
‫‪ ‬متطلبات التخرج‪:‬‬
‫على الطالب اجتياز عدد ‪ 131‬وحدة دراسية‬ ‫‪‬‬

‫الصفحة ‪ 1‬من ‪9‬‬


Software Engineering Department_Study Plan
1. SE-Department core courses (39 credits)

No Course No Course Title Cr.


1 SE210 Introduction to Software Engineering 3
2 IS225 Introduction to Information system 3
3 IN112 Introduction to Internet Programming 3
4 CN321 Introduction to Computer Networks 3
5 CS226 Introduction to programming .Net 3
6 SE221 Software Requirements & Specification 3
7 SE310 Software Development Process 3
8 SE322 Human Computer Interaction 3
9 SE321 Software Design and Architecture 3
10 SE410 Software Metrics and Testing 3
11 SE421 Software Quality 3
12 SE420 Software Maintenance and Evolution 3
13 SE422 Software Project Management 3
Total Credits 39

2. SE-Department Electives: students must select (7 courses) (21 credits) from the
following:
No Course No Course Title Cr.
1 GI 214 OOP II 3
2 MM211 Multimedia Technology 3
3 CS234 Programming Languages 3
4 SE412 Distributed Systems 3
5 CS314 Advanced Database Systems 3
6 IN325 Advanced Programming 3
7 SE323 Re-use and Component Based Development 3
8 SE411 Formal specifications & Design Methods 3
9 SE424 Cloud Computing 3
10 CS453 Artificial Intelligent 3
11 CS442 Image Processing 3
12 CS465 Data Mining 3
13 Design Pattern 3
14 Design Support System 3
15 SE423 Agents 3
16 Selected Topics in Software Engineering 3
17 Security of Information Systems 3
Total Credits 36

‫ وحدة دراسية‬14 ‫ وبعدد‬GH ‫ مقررات انسانية عامة‬.3

‫مالحظات‬ ‫عدد الوحدات‬ ‫اسم المادة‬ ‫رقم المادة‬ ‫م‬


3 I ‫لغة انجليزية‬ GH121 1
3 II ‫لغة انجليزية‬ GH122 2
3 III ‫لغة انجليزية‬ GH223 3
3 ‫لغة عربية‬ GH151 4
2 ‫كتابة تقارير‬ GH425 5
9 ‫ من‬2 ‫الصفحة‬
‫‪ .4‬مقررات علوم عامة ‪ GS‬وبعدد ‪ 22‬وحدة دراسية‬

‫مالحظات‬ ‫عدد الوحدات‬ ‫اسم المادة‬ ‫رقم المادة‬ ‫م‬


‫‪3‬‬ ‫رياضة ‪I‬‬ ‫‪GS101‬‬ ‫‪1‬‬
‫‪3‬‬ ‫رياضة ‪II‬‬ ‫‪GS102‬‬ ‫‪2‬‬
‫‪3‬‬ ‫الجبر الخطي‬ ‫‪GS203‬‬ ‫‪3‬‬
‫‪3‬‬ ‫التراكيب المنفصلة‬ ‫‪GS204‬‬ ‫‪4‬‬
‫‪3‬‬ ‫فيزياء‪+‬معمل‬ ‫‪GS111‬‬ ‫‪5‬‬
‫‪3‬‬ ‫مقدمة في اإلحصاء واالحتماالت‬ ‫‪GS271‬‬ ‫‪6‬‬
‫‪3‬‬ ‫تحليل عددي‬ ‫‪GS381‬‬ ‫‪7‬‬

‫‪ .5‬مقررات معلوماتية عامة ‪ GI‬وبعدد ‪ 28‬وحدة دراسية‬

‫مالحظات‬ ‫عدد الوحدات‬ ‫اسم المادة‬ ‫رقم المادة‬ ‫م‬


‫‪3‬‬ ‫برمجة ‪I‬‬ ‫‪GI131‬‬ ‫‪1‬‬
‫‪3‬‬ ‫برمجة ‪II‬‬ ‫‪GI132‬‬ ‫‪2‬‬
‫‪3‬‬ ‫البرمجة موجهة الهدف‬ ‫‪GI233‬‬ ‫‪3‬‬
‫‪3‬‬ ‫أساسيات تقنية المعلومات‬ ‫‪GI162‬‬ ‫‪4‬‬
‫‪3‬‬ ‫قواعد البيانات‬ ‫‪GI222‬‬ ‫‪5‬‬
‫‪3‬‬ ‫تصميم منطقي‬ ‫‪GI242‬‬ ‫‪6‬‬
‫‪3‬‬ ‫معمارية حاسوب‬ ‫‪GI343‬‬ ‫‪7‬‬
‫‪4‬‬ ‫هياكل البيانات والخوارزميات‬ ‫‪CS381‬‬ ‫‪8‬‬
‫‪3‬‬ ‫نظم تشغيل‬ ‫‪GI321‬‬ ‫‪9‬‬

‫‪ .6‬مقررات تعبوية وبعدد ‪ 4‬وحدات دراسية (يُلزم الطالب بدراسة مادتين فقط منها بالفصل السابع‬
‫والثامن) تحسب من ضمن مجموع الوحدات الدراسية فقط وال تحتسب من ضمن المعدل الفصلي أو العام‬
‫للطالب‪.‬‬

‫مالحظات‬ ‫عدد الوحدات‬ ‫اسم المادة‬ ‫رقم المادة‬ ‫م‬


‫‪2‬‬ ‫لغة عربية‬ ‫‪1‬‬
‫‪2‬‬ ‫تربية اسالمية‬ ‫‪2‬‬
‫‪2‬‬ ‫جغرافيا‬ ‫‪3‬‬
‫‪2‬‬ ‫تاريخ‬ ‫‪4‬‬
‫‪2‬‬ ‫فلسفة‬ ‫‪5‬‬

‫التالي ‪ :‬توزيع المواد على الفصول الدراسية‬

‫الصفحة ‪ 3‬من ‪9‬‬


Software Engineering Department_Study Plan
Semester 1

Course Notes
No Course Title Pre-Req. Cr.
No
1 GS101 Math I -- 3 --
2 GH121 English I -- 3 --
3 GI131 Programming I -- 3 --
4 GS111 General Physics -- 3 --
Fundamental of Information
5 GI162 -- 3 --
Technology
Total Credits 15

Semester 2

Course Notes
No Course Title Pre-Req. Cr.
No
1 GS102 Math I I GS 101 3 Math I
2 GH122 English I I GH 121 3 English I
3 GI132 Programming I I GI 131 3 Programming I
4 GI242 Logic Design -- 3 --
Introduction to Probability & --
5 GS271 -- 3
Statistics
6 GH151 ‫لغة عربية‬ -- 3 --
Total Credits 18

Semester 3

Course Notes
No Course Title Pre-Req. Cr.
No
1 GS203 Linear Algebra GS 102 3 Math II
2 GH223 English I I I GH 122 3 English II
3 GI233 Object Oriented ProgrammingI GI 132 3 Programming II
Introduction to Internet
4 IN112 -- 3 --
Programming
5 GI 222 Database Systems GI 132 3 Programming II
6 SE210 Introduction to Software Eng. GI 132 3 Programming II
Total Credits 18

Semester 4

Course Notes
No Course Title Pre-Req. Cr.
No
1 GS204 Discrete Math GS 203 3 Liner Algebra
GI 214/ OOP II / Multimedia OOPI
2 GI233 3
MM211 Technology
Introduction to Information Programming II
3 IS225 GI 132 3
system
4 CS226 Introduction to programming .Net GI 233 3 OOP
Software Requirements & Introduction to
5 SE221 SE 210 3
Specification Software Eng.
Dept. Elective (Programming OOP
6 CS234 GI 233 3
Languages)
Total Credits 18
9 ‫ من‬4 ‫الصفحة‬
Semester 5

Course Notes
No Course Title Pre-Req. Cr.
No
Introduction to Computer
1 CN321 -- 3 --
Networks
2 GI343 Computer Architecture GI 242 3 Logic Design
Liner Algebra
3 GS381 Numerical Analysis GS 222 3
4 CS381 Data Structure & Algorithms GI 233 4 OOP
Introduction to
5 SE310 Software Development Process SE 210 3
Software Eng.
Total Credits 16

Semester 6

Course Notes
No Course Title Pre-Req. Cr.
No
Computer
1 GI344 Operating Systems GI 343 3
Architecture
Software Design and SE221+ Software Requirements &
2 SE321 3 Specification+ Data
Architecture CS381 Structure & Algorithms
Introduction to
3 SE322 Human Computer Interaction SE 210 3
Software Eng.
4 IN325 Advanced Programming GI 233 3 OOP
Dept. Elective I (Advanced
5 CS333 GI 222 3 Database Systems
Database Systems)
Total Credits 15

Semester 7

Course Notes
No Course Title Pre-Req. Cr.
No
Introduction to
1 SE410 Software Metrics and Testing SE 210 3
Software Eng.
2 SE424 Cloud Computing GI 321 3 Operating Systems
Dept. Elective I (Artificial Data Structure &
3 CS423 CS381 3
Intelligent) Algorithms
4 GH100 )‫(لغة عربية تعبوية‬1 ‫مادة تعبوية‬ 2
At least
5 GH425 Technical Writing 2 -
100 Cr.
At least
6 FP498 Graduation Project I 2 -
100 Cr.
Total Credits 15

9 ‫ من‬5 ‫الصفحة‬
Semester 8

Course Notes
No Course Title Pre-Req. Cr.
No
Software Maintenance and Software Metrics
1 SE420 SE410 3
Evolution and Testing
Software Design
2 SE421 Software Quality SE321 3
and Architecture
Introduction to
3 SE422 Software Project Management SE 210 3
Software Eng.
4 CI100 )‫ (تربية اسالمية‬2 ‫مادة تعبوية‬ 2
Advanced
5 CS465 Dept. Elective I(Data Mining) CS333 3
Database Systems
6 FP499 Graduation Project II FP498 2 Graduation Project I
Total Credits 16

Total Number of Hours Achieved =131 Hrs.

9 ‫ من‬6 ‫الصفحة‬
Software Engineering Department_ Course Description
SE210 Introduction to Software Engineering
Prerequisite: Programming II
This is a central course, presenting the basic principles and concepts of software engineering
and giving firm foundation for many other courses in the field. It gives broad coverage of the
most important terminology and concepts in the software engineering; basic understanding of
software life cycle, software processes, requirements engineering processes; introduction to
agile and extreme programming, basic modeling and design; basic of project management,
software cost estimation, configuration management, and testing; introduction to ethics and
professional practice in software engineering. Students participate in a group project various
aspects of software lifecycle as well software engineering case tools.

SE221 Software Requirements & Specification


Prerequisite: Introduction to Software Eng.
The course covers requirements engineering in depth including the followings: requirements
Engineering Process - Elicitation of requirements - Functional and non-functional
requirements - System services and constraints – Quality of Requirements - Requirements
traceability matrix - Metrics for non-functional requirements - Use case description - Use case
and context diagrams - Software Requirements Specification -IEEE Standard - Requirements
for agile developments - Requirements for various systems: embedded systems, web-based
systems, business systems, etc. – Requirements management. Ethical behavior of software
analysts with respect to stakeholders when gathering the requirements will be also discussed.
This course gives also a brief introduction to formal specifications using specification
languages such as Z or B. Students participate in a group project on software requirements
analysis and specification and requirements management case tools.

SE310 Software Development Process


Prerequisite: Introduction to Software Eng.
This course aims to provide a comprehensive presentation of the key concepts, modeling
techniques, and development methodologies used in object-oriented approaches in software
engineering. This includes a review of Object-Oriented concepts and modeling with UML:
Structural Modeling, Behavioral Modeling – System architecture design, – User Interface
Design – Object Persistence Design - Class and Method Design - Object-Oriented Testing –
Unified Process development cycle – Use case analysis – Sequence diagrams –
Encapsulation – Inheritance – Polymorphism – Design principles of coupling and cohesion
– Design patterns. Students will be also exposed OO case tools, UML Generating tools,
standard templates, Quality control and other SWE related standards. Students will participate
in a group project on object-oriented software methodologies and modeling using OO case
tools.

SE321 Software Design and Architecture


Prerequisite: Software Requirements & Specification+ Data Structure & Algorithms
This course covers the fundamental design principles and strategies for software architecture
and design. Architectural styles, quality attributes notations and documents, reference
architecture, domain-specific architecture in architecture process and pattern-oriented design,
component-oriented design, aspect-oriented design, and interface design in detail design
process are discussed. Software evolution, flexibility, Middleware architectures such as COM
and .NET are also discussed. An introduction to SOA is also presented. An overview of
design issues in user interfaces and the concepts of reusability, portability and robustness in
design are also given in the course. Students participate in a group project on software design
and architecture and design tools.
9 ‫ من‬7 ‫الصفحة‬
SE322 Human Computer Interaction
Prerequisite: Introduction to Software Eng.
This course helps to build competence, knowledge, and skills in the field of Human-Computer
Interaction Design. The goal is to shape new media and tools that will support human use,
augment human learning, enhance communication, and lead to more acceptable technological
developments at the individual and the social levels. The course covers the following:
Introduction to Human-Computer Interaction (HCI) and Human Cognitive Systems.
Understanding Users. Interaction Frameworks, Paradigm and Styles. Evaluation of User
Interfaces: Heuristic Evaluation and Usability Testing. Underlying Design Principles and
Designing Interaction: Interaction Design Process, User-Centered Design and Prototyping,
Conceptual and Physical Design, Interface Design Standards, Task Analysis and Discovery,
Design Principles. Different Features of Interaction and User Interfaces: Color, Interface
Components (e.g. Windows, Icons, Menus, Pointers etc., Icons, Text, Speech, Touch,
Augmented Reality, and Haptics. Students participate in group projects on the design,
development and evaluation of user interfaces. Students participate in a group project on
Human Computer Interaction.

SE323 Re-use and Component Based Development


Prerequisite: Software Development Process
Methods and techniques for constructing large-scale software systems from pre-existing
components; How to specify and locate components; Issues with integrating diverse
components, including solving multi-language and multi-platform problems. Students
participate in a group project on Re-use and Component Based Development.

SE410 Software Metrics and Testing


Prerequisite: Introduction to Software Eng.
Testing techniques and principles: Defects vs. failures, equivalence classes, boundary
testing. Types of defects. Black-box vs. Structural testing. Testing strategies: Unit testing,
integration testing, profiling, test driven development. State based testing; configuration
testing; compatibility testing; web site testing. Alpha, beta, and acceptance testing.
Coverage criteria. Test instrumentation and tools. Developing test plans. Managing the
testing process. Problem reporting, tracking, and analysis. Students participate in a group
project on software testing.

SE411 Formal specifications & Design Methods


Prerequisite: Introduction to Software Eng.
Formal mechanisms for specifying, validating and verifying software; Formal
specification using various techniques, and initial specification and refinement towards
implementation; Integration of formal methods with existing programming languages,
and the application of formal methods to requirements analysis, testing, safety analysis,
and object-oriented approaches. Students participate in a group project on Formal
specifications & Design Methods.

SE420 Software Maintenance and Evolution


Prerequisite: Software Metrics and Testing
Concepts and advanced technologies in software evolution: program comprehension;
configuration and change management; construction of reusable software; separation of
concerns; techniques for reverse engineering and re-engineering software; design for
change, layered design and incremental refinement; legacy systems. Students participate
in group project in Software Maintenance and Evolution.
9 ‫ من‬8 ‫الصفحة‬
SE421 Software Quality
Prerequisite: Software Design and Architecture
Quality: how to assure it and verify it, and the need for a culture of quality. Avoidance of
errors and other quality problems. Inspections and reviews. Testing, verification and
validation techniques. Process assurance vs. Product assurance. Quality process
standards. Product and process assurance. Problem analysis and reporting. Statistical
approaches to quality control. Students participate in a group project on Software quality.

SE422 Software Project Management


Prerequisite: Introduction to Software Eng.
Introduction project management concepts, tools, and techniques: organization of a large
software project; roles of team members; leaders and managers skills and responsibilities;
scope management; scheduling; budget control; progress monitoring; integration
management; human resource management; communication management. Students
participate in a group project on software project planning and management.

SE424 Cloud Computing


Prerequisite: Operating Systems
Teaching students the concept of cloud computing within the framework of distributed
systems. The course covers client-server applications, peer-to-peer concepts, information
retrieval in the cloud, and the future of cloud computing. The goal is to make students
aware of the use of the internet as a cloud connecting data centers (applications) to users
of the cloud. The scripting language of python/php will be taught during the course for
building web applications that can be used in the cloud.

9 ‫ من‬9 ‫الصفحة‬

You might also like