LOGO3

جامعــة البحــر المتوسـط الدوليــة

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

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

قسم هندسة الرمجيات من الأقسام الأساسية في كلية علوم الحاسوب وتقنية المعلومات، ويمنح الطالب درجة البكالوريوس في هندسة البرمجيات بعد اكماله بنجاح 137 ساعة معتمدة، حسب متطلبات القسم العلمي وبمعدل لا يقل عن 2 نقطة من مجموع 4 نقاط، وفي فترة ثمان فصول دراسية. ويجوز للطالب التخرج في مدة لا تقل عن 7 فصول اعتيادية أو 6 فصول اعتيادية وفصلين صيفيين، على أن لاتتجاوز عدد 10 فصول دراسية في تخصص هندسة البرمجيات.

   يسعى قسم هندسة البرمجيات أن يكون ذو تميز في مجال هندسة البرمجيات وتطبيقها في التعليم والبحث العلمي والمعرفة وفي القطاعات المجتمعية لمواكبة التنافس المحلي والعالمي وتلبية احتياجات السوق بفعالية.

تقديم برامج أكاديمية تطبيقية متطورة مدعومة بوسائل التقنية الحديثة في مجال هندسة البرمجيات لاكتساب مهارة الفهم والتحليل والابتكار والتطبيق وإعداد البرامج التطبيقية لهندسة البرمجيات الحديثة وسبل تطويرها وتشغيلها بالطرق المتطورة والدخول إلى سوق المنافسة محلياً وإقليمياً وعالمياً، للمساهمة في رفع كفاءة المؤسسات التعليمية والبحثية وحل المشاكل بطرق تقنية وتوظيف التكنولوجيا توظيفاً أمثلاً من خلال البيئة التعليمية والعملية بما يخدم المجتمع المحلي والدولي.

  • استنهاض المجتمع من خلال توفير فرص حقيقية للحصول على تعليم عالي ومتميز في تخصص هندسة البرمجيات، عبر تأهيل الطلبة بالمعارف والمفاهيم الأساسية والمتقدمة في تقنية المعلومات وهندسة البرمجيات، بما يسهم في بناء قاعدة علمية وتقنية تواكب تطلعات المجتمعات المتقدمة.
  • تخريج متخصصين في هندسة البرمجيات يمتلكون المعرفة النظرية والتطبيقية الكافية لتلبية احتياجات قطاعات الدولة في تسيير الاقتصاد المحلي.
  • المساهمة بتوفيرالكفاءات النوعية المتميزة القادرة على إعداد البرامج التطبيقية لهندسة البرمجيات الحديثة وسبل تطويرها وتشغيلها بالطرق المتطورة والتي تتوافق وتطلعات المجتمع وتقليص الارتهان الاجنبي.
  • زرع الثقة في الطلاب من خلال الاندماج العملي الفعّال في المجتمع عبر إعداد بحوث تطبيقية وأنشطة علمية، وتعزيز التزامهم بالقيم الأخلاقية والمهنية، إلى جانب تطوير مهارات العمل الجماعي والتواصل الفعّال، بما يعزز دورهم في خدمة المجتمع وتطوير معارفهم ومهاراتهم المهنية.
  • تعزيز ثقافة الإدارة الإلكترونية وتطبيقها بما يخدم الخطط الاستراتيجية للمجتمع، من خلال تمكين الطلاب من تطوير أنظمة رقمية متكاملة، وتقييم كفاءتها وجودتها، بما يعزز دورهم في دعم التحول الرقمي على المستويين المؤسسي والمجتمعي.
  • استحداث آلية تبادل المعلومات والأفكار من خلال تطبيق فكرة فرق العمل الجماعي والمعتمدة في الجامعات المتقدمة والاستفادة من بناء الشراكات والتعاون مع الأقسام المناظرة من داخل وخارج الجامعة، مع تمكين الطلاب من تطوير مهارات التحليل والتفكير النقدي واكتساب خبرات عملية ومهنية تدعم قيم العمل الجماعي الفعّال.
  • توفير بيئة أكاديمية وعلمية محلية ودولية عبر الندوات والمؤتمرات وورش العمل، بما يعزز التفكير المنهجي والابتكار لدى الطلاب والخريجين، ويدعم تنمية قدراتهم المهنية في إنتاج حلول إبداعية قائمة على البحث العلمي.
  • رفع مستوى التفكير الثقافي للمجتمع من خلال توفير بيئة تعليمية وتدريبية تُعزز الملكات العلمية للطلاب وتدعم توظيف المعرفة النظرية والعملية في معالجة قضايا المجتمع، مع تنمية القدرة على الربط بين التخصصات المختلفة وتوظيف التقنيات الحديثة في خدمة الثقافة والوعي المجتمعي.

أ. المعرفة والفهم

أ.1 أن يميز الطالب المفاهيم الأساسية لتقنية المعلومات وهندسة البرمجيات وأنماط نظم الحوسبة.
أ.2 أن يشرح الطالب الأسس النظرية لهيكلة الحاسوب، الدوائر المنطقية، وأنظمة التشغيل.
أ.3 أن يوضح الطالب مبادئ البرمجة، الكائنية والمتقدمة، وتراكيب البيانات والخوارزميات.
أ.4 أن يعرف الطالب مبادئ وأساسيات الشبكات وأمن المعلومات والخصوصية في بيئة الحوسبة.
أ.5 أن يصف الطالب النماذج والطرق الرسمية المستخدمة في تصميم البرمجيات والتحقق منها.
أ.6 أن يشرح الطالب المفاهيم الأساسية لهندسة البرمجيات وتخصصات نظم المعلومات.
أ.7 أن يعرف الطالب مبادئ تحليل المتطلبات وتطوير البرمجيات وإدارة مشاريع البرمجيات.
أ.8 أن يحدد الطالب المفاهيم الاقتصادية المؤثرة في اتخاذ القرار في بيئة تقنية، مع تفسير دور الإحصاء والاحتمالات في تحليل البيانات الاقتصادية واتخاذ قرارات مستنيرة.
أ.9 أن يميز الطالب بين أنماط البرمجة المختلفة، ولغات البرمجة، ونماذج المترجمات.
أ.10 أن يعرف الطالب مهارات التواصل الفعّال شفهياً وكتابياً في اللغة العربية أو الإنجليزية، وكيفية تطبيقها في المواقف التقنية المختلفة.

المهارات الذهنية
ب.1 أن يحلل الطالب المسائل الحسابية والإحصائية والفيزيائية المرتبطة بالحوسبة.
ب.2 أن يفسر الطالب البنى الرياضية والمنطقية المستخدمة في بناء الخوارزميات.
ب.3 أن يخطط الطالب لنماذج تصميم البرمجيات مع مراعاة القيود الفنية والوظيفية.
ب.4 أن يقارن الطالب بين أساليب تطوير البرمجيات وطرق إدارة الجودة والصيانة.
ب.5 أن يقيّم الطالب أنظمة التشغيل وقواعد البيانات بناء على متطلبات الأداء والفعالية.
ب.6 أن يحلل الطالب تراكيب البيانات والخوارزميات لاختيار الحلول البرمجية الأنسب.
ب.7 أن يصمم الطالب حلولاً برمجية تتماشى مع احتياجات المستخدم ومبادئ OOP.
ب.8 أن يقيم الطالب النصوص التقنية المكتوبة باللغة العربية والإنجليزية ويحلل بناءها وصلاحيتها في السياقات المهنية.
ب.9 أن يربط الطالب بين المتطلبات البرمجية ونماذج التفاعل مع المستخدم، استنادًا إلى ما يتعلمه من مفاهيم ومهارات أساسية في البرمجة.
ب.10 أن يطور الطالب رؤى نقدية حول القضايا الأخلاقية والاجتماعية في بيئة الحوسبة.

المهارات العملية او المهنية

ج.1 أن يستخدم الطالب أدوات البرمجة الحديثة لتطوير تطبيقات فعّالة وقابلة لإعادة الاستخدام.
ج.2 أن يطبق الطالب عمليات تصميم، تنفيذ، واختبار البرمجيات باستخدام منهجيات متعددة.
ج.3 أن ينفذ الطالب مشاريع برمجية شاملة تشمل استخدام قواعد البيانات والخوارزميات.
ج.4 أن يطور الطالب تطبيقات الإنترنت وفقاً لمعايير التصميم التفاعلي.
ج.5 أن يستخدم الطالب أدوات المحاكاة والنمذجة في تحليل وتصميم الأنظمة.
ج.6 أن يصمم الطالب بنى معمارية رقمية باستخدام الدوائر المنطقية ومبادئ البنية الحاسوبية.
ج.7 أن يطبق الطالب أساليب التفاعل بين الإنسان والحاسوب لتطوير واجهات مستخدم فعّالة.
ج.8 أن يوظف الطالب مهارات البحث العملي في التدريب الميداني والمشروعات النهائية.
ج.9 أن يستخدم الطالب أدوات تقييم جودة البرمجيات ومعايير الأداء.
ج.10 أن يستخدم الطالب تقنيات التحرير اللغوي والمراجعة لضبط الوثائق التقنية المكتوبة بالعربية والإنجليزية.

د. المهارات العامة

د.1 أن يظهر الطالب القدرة على العمل ضمن فريق والمساهمة الفعالة في تحقيق الأهداف.
د.2 أن يوظف الطالب اللغة الإنجليزية التقنية في إعداد الوثائق والعروض والبرمجة.
د.3 أن يطور الطالب مهارات البحث العلمي وجمع وتحليل البيانات من مصادر موثوقة.
د.4 أن يلتزم الطالب بالقيم الأخلاقية والمهنية في التعامل مع المعلومات والبرمجيات.
د.5 أن يدير الطالب وقته وموارده بفعالية لإنجاز المهام والمشروعات التقنية.
د.6 أن يعرض الطالب أفكاره وحلوله التقنية شفهياً وكتابياً بطريقة واضحة ومهنية.
د.7 أن يتواصل الطالب بفعالية مع المستخدمين والعملاء باستخدام أساليب تقنية وغير تقنية لتحديد المتطلبات وتوضيح الحلول البرمجية
د.8 أن يطور الطالب مهارات التعلم الذاتي والتحديث المستمر في المجال التكنولوجي.
د.9 أن يلتزم الطالب بإجراءات سلامة البيانات وحماية الخصوصية في بيئة العمل التقنية، من خلال تنفيذ الإجراءات البرمجية اللازمة بفعالية وكفاءة.
د.10 أن يوظف الطالب مهارات القيادة والتنظيم في إدارة الفرق والمشاريع.

– القدرة على تطبيق المفاهيم والمبادئ الخاصة بهندسة البرمجيات واستخدامات الحاسوب وتقنية المعلومات.

– القدرة على فهم وتحليل المشاكل العملية وإيجاد الحلول المناسبة لها.

– القدرة على مشاركة مؤسسات المجتمع في تطبيق الإدارة الإلكترونية .

– القدرة على الاستفادة من التطورات التكنولوجية والتحديثات المتعلقة باستخدامات علوم الحاسوب وتقنية المعلومات.

– نشر الوعي والمعرفة في المجالات الهندسية وتقنية المعلومات بما يساهم في حل المشاكل بالأساليب العلمية المتطورة.

– القدرة على استخدام الطرق والأساليب العلمية الحديثة في البحث العلمي وإستنتاج الحلول.

– توظيف تقنية هندسة البرمجيات التوظيف الأمثل في تطبيق المفاهيم والنظريات الهندسية.

– القدرة على تطوير وتحليل البرمجيات والبحث عن حلول لمشاكل و أمن هذه التقنية من خلال خلق التوازن المناسب بين الاحتياجات الأمنية ، والاهتمامات التجارية ، وسرية البيانات، وتوافر سلامة البرمجيات.

– القدرة على تحديد وتحليل احتياجات المستخدم وأخذها بعين الاعتبار في اختيار وإنشاء وتقييم وإدارة هندسة البرمجيات ضمن تقنية المعلومات.

– القدرة على تصميم وتنفيذ وتقييم وتطوير تقنيات الحاسوب من خلال برمجيات متطورة وتأسيس العمليات والمكونات والبرامج المناسبة للمهام المحددة، وكذلك تحليل أثرهاعلى التطبيقات المستقبلية المحتملة.

– اكتساب مهارة التعلم من خلال استيعاب تجارب الآخرين والاستفادة منها بصورة علمية والقدرة على تحصيل معارف جديدة في مجال تقنية المعلومات وبالأخص في مجال هندسة البرمجيات والانخراط في التعلم وتجديد المعارف مدى الحياة والتطوير المهني المستمر.

الالتزام بأعلى المعايير الأخلاقية، والقواعد التنظيمية للسلوك، في تصميم الحلول التكنولوجية و الممارسة المهنية.

البرنامج العلمي

First : General Faculty Requirements - 27 Cr .H

Pre-Req

Cr

Course Name

Course No

None

3

Arabic I General

10110

aهذا المقرر يتناول الحديث على اللغة العربية، ويركز على النحو والبلاغة والصرف في المستوى الأول، ولقد حوى الحديث على الكلمة وأقسامها، ثم المعرب والمبني، وأقسام الفعل، والمرفوعات. ثم ذكر البلاغة، وأنواع الأساليب، والتشبيه وأقسامه. كما أنه تطرق إلى بعض النصوص الأدبية ليتمرن الطالب على قراءتها.

None

3

Physics for IT

50101

aThe course is designed to meet the needs of student majoring in Engineering , IT and Math. It is introductory courses in Newtonian mechanics with topics include: Vectors, motion in one dimension, motion in a plane, Newton’s laws, work and energy, potential energy, momentum, Kinematics of rotational motion, dynamics of rotational motion, elasticity, and fluid mechanics.

None

3

English I for IT I

501102

aEnglish for IT 1 is an ESP course that introduces the students to the language encountered while studying in the field of IT. The course includes readings and vocabulary exercises designed to develop the students’ skills in the English language in general and the language of the professions related to IT, in particular. Students develop their writing skills utilizing the sentence and paragraph structure for a coherent writing.  

None

3

Mathematics I for IT

50103

aThe course contains a range of ideas concerning Functions, domain and range of functions, linear functions, polynomials, expositional functions, logarithmic functions, trigonometric functions (trigonometric identities), hyperbolic functions, inverse of trigonometric functions, inverse of hyperbolic functions and derivatives of functions. It also concerning with matrices and its applications, including operations appropriate in specialized applications and Determinants (some properties)and  Inverse of a matrix. The course shows how to formulate algorithms to solve systems of linear equations. It also includes techniques of vector spaces for constructing important mathematical structures, illustrated by examples. Systems of linear equations (Gauss-Jordan elimination, Matrices method, Cramer’s method)

None

3

Probability and Statistics

50104

aDefinitions Importance, Scope and Limitations of Statistics – Sources of Data Collection – Classification and Representation of Data Frequency Distribution. Measures of Central Tendency – Measures of Dispersion and Skewness – Ideas about Attributes and Association – Simple Correlation and Simple Regression Permutation and Combinations – Combinatorial problems – Sample Space – Events – Counting of sample points – Classical and Axiomatic definitions of Probability – Marginal and Conditional probability – Baye’s Theorem – Concept of Random Variable Probability Function. Expectation and Variance of Random Variables – Ideas of Bernoulli , Binomial , Poisson and Normal Distributions .

50103

3

Mathematics II for IT

50105

aThe course contains a range of ideas concerning L’Hospital Rule, Taylor series and Maclaurin series. It also concerning Integral of functions in part (1) (using anti-derivatives). Integration techniques (Substitution technique, Integration by Parts, trigonometric substations, completing the square, partial fractions). Multiple integral (double integrals, triple integrals), applications (area, volumes, moments and center of mass).

50102

3

English II for IT

50106

aEnglish for IT 2 is an ESP course that continues to expose the students to the language encountered while studying in the field of IT. The course is a continuation of English for IT1 and includes readings and vocabulary exercises designed to further develop the students’ skills in the English language in general and the language of the professions related to IT, in particular. Grammar, and writing in topics related to IT are also covered.  

50106

3

Technical Writing for IT

50201

aIn this course students will become acquainted with the forms, functions and rhetorical lives of technical documents. Students will examine and produce a variety of technical documents

75Cr

3

Research methodology and skills

50301

aThis course prepares students to conduct research in Computer Science & information technology. The course involves multiple topics including time management, writing and presentation skills, and general considerations for experiment design and planning. It introduces students to  concepts, methods, and techniques associated with Computer Sciences research in general. It covers oral and written communication skills. These Skills and knowledge gained from this course will prepare students to conduct and to communicate their own research, as well as to be knowledgeable consumers of others’ research.

Total 27

Second : Compulsory Faculty Requirements - 47 Cr .H

Pre-Req

Cr

Course Name

Course No

None

3

IT Foundations

50110

Understand the history of how computer technology unfolded, with particular emphasis on the “generations”. Understand how people and events affected the development of computers. Identify the basic components of computer system: input, processing, output and storage. Understand the difference between the difference types of software. Identify the components of the central processing unit and how they work together to form a system and interact with memory. Appreciate the need for the different applications included in the accessories of an Operating System. Know how the commands work in both GUI (Graphical User Interface) and CUI (Character User Interface) environment.

None

3

Programming I

50111

This course is to provide an introduction to basic programming techniques including the following: Problem solving skills. Understand flowcharting tools. Use the proper tool for proper operation. Learn the necessary properties of algorithms: input, output, definiteness, correctness, finiteness, effectiveness, and generality. Understand how to analyze the given problem scientifically and not by intuition. Understand how to write an algorithm to solve a given problem. Convert the algorithm into flowchart and ultimately to a given programming language. Introduction to program design and problem solving using the C programming language.

50111

3

Programming II

50112

Review to program design and problem solving using the C programming language. Programming topics include control structures, functions, arrays, pointers, and file I/O. Control Statements Algorithms Pseudo-code, Selection Statement Repetition Statement Formulating Algorithms Compound Assignment Operators, Primitive data Types, Repetition Statement, Multiple-Selection Statement, Logical Operators. Functions Program Modules in C Declaring and using Functions Passing arguments by values and by reference Recursive functions Argument Promotion and Casting Math library functions Scope of Declarations. Arrays Declaring and Creating Arrays Examples Using Arrays Passing Arrays to Methods Multidimensional Arrays. Pointers and Strings Introduction to pointers and pointer arithmetic. Directly and indirectly referencing a variable Pointer operators & and * Pass-by-reference with pointer arguments Introduction to Strings and String manipulations Library string manipulation functions.

50110

3

Network Fundamentals

50114

This course aims to introduce students to the concepts and fundamentals of computer networks, including their components, architecture, and the protocols used in their design and operation. The course covers the various layers of the OSI and TCP/IP models, focusing on how data is exchanged between different devices. Topics include network addressing (IP Addressing), data switching techniques, routing, and an introduction to network devices such as switches and routers. The course also explores basic concepts of network security and troubleshooting.

50112

3

Object Oriented Programming

50210

Introduction. OOP Programming basics. Functions. Classes and Objects. Constructor and Destructor. Inheritance: Derived class. Virtual Function, Files

50210

3

Data Structures and Algorithms

50214

Data structures is an essential area of study for computer scientists and for anyone who will ever undertake a serious programming course. Use and implement fundamental data structures including stacks, queues, priority queues, lists, trees and hash tables. Use specified programming tool to develop and implement computer-based solutions to problems. Develop software by using different data structures studied. Learn to implement search and sorting algorithms including the quick sort, the heap sort and hashing. Learn to use recursion to solve problems. Do a Big-Oh analysis for their implementations of basic data structures.

50110

3

Digital and Logic Design

50215

To learn and understand basic digital design techniques. Distinguish between a variety of decimal and alphanumeric codes. Acquire sound knowledge in the key principles and practices used in the design and analysis of a digital computer. Analyze related combinational circuits. Discuss the issues involved in hardware or software implementation of an instruction in a digital computer instruction set. Comprehend in-depth knowledge of advanced digital design principles and practice in real-world applications. Make an analysis and synthesis of sequential switching circuits

50110

3

Introduction to Artificial Intelligence

50216

aaa

50110

3

Computing Ethics & Society

50217

Introduction to Computer Security and Privacy: The meaning of computer security, Comparing security with privacy . Types of threats and attacks, Methods of defense. Program Security: Secure programs, Non malicious program errors, Malicious code. Controls against program threats. Operating System Security: Methods of protection. Access control, User authentication. Network Security: Network threats, Firewalls. Intrusion detection systems: Internet Application Security and Privacy: Basics of cryptography. Security and Privacy for Internet Applications. Database Security and Privacy: Security and privacy requirements: Reliability, Integrity, Privacy, Inference, Data mining, K-anonymity. Non-technical Aspects: Administration of security systems, Policies, Physical security, Economics of security, Legal and Ethical issues.

50114

3

Computer Security and Privacy

50218

Introduction to Computer Security and Privacy: The meaning of computer security, Comparing security with privacy . Types of threats and attacks, Methods of defense. Program Security: Secure programs, Non malicious program errors, Malicious code. Controls against program threats. Operating System Security: Methods of protection. Access control, User authentication. Network Security: Network threats, Firewalls. Intrusion detection systems: Internet Application Security and Privacy: Basics of cryptography. Security and Privacy for Internet Applications. Database Security and Privacy: Security and privacy requirements: Reliability, Integrity, Privacy, Inference, Data mining, K-anonymity. Non-technical Aspects: Administration of security systems, Policies, Physical security, Economics of security, Legal and Ethical issues.

50214

3

Operating Systems

50311

This course serves the following purposes: To have a thorough knowledge of processes, scheduling concepts, memory management, I/O and file systems in an operating system. To have an overview of different types of operating systems. To know the components of an operating system. To have a thorough knowledge of process management. To have a thorough knowledge of storage management. To know the concepts of I/O and file systems.

50214

3

Database Systems

50312

In this course students should become familiar with designing database systems for business applications, and should become familiar with commercially available relational database technology. By the end of this course, the student will be able to: Understand the basic concepts, task, methods, and techniques in designing a database. Develop an understanding of the database designing process. Develop the ability to conceptualize the problem at hand. Learn the different Architecture of DBMS. Apply techniques for the design of a database system. Learn some of the appropriate design techniques. Develop the ability to select appropriate DBMS to the solution of the problem at hand.

50215

3

Computer Architecture

50215

Introduction to Computer Organization & Architecture: Types of Computers, Processors. Primary and Secondary Memory I/O Devices. Digital Logic Circuits and Components: Digital Logic Circuits, Boolean Algebra K. Map simplifications. Combinational Circuits, Sequential Circuits. Data Representation: Data Types Complements. Fixed, Floating point representation. Binary Codes, Error detection Codes. Central Processing Unit: Register Organization .Stack Organization, Instructions Formats. Addressing, RISC. Overview of Pipeline and Vector Processing. The Instruction Set Architecture Level: Data Types, Instruction Formats Input Output Organization: IO interface, Asynchronous Data Transfer, Modes of Transfer. Memory Organization: Main memory, Auxiliary Memory, Associative Memory, Cache.

100 H

3

Internship

50410

Field training is an integral part of the academic program the IT department, where students are required to work for a certain period in one of the government or private enterprises concerned information services in a government institution or quasi-governmental or private approved by the Faculty plan part, so as to equip them with practical experience in the areas of software engineering. Of field training for a full semester (six hours, twice a week throughout the semester). Under the student training period specified in the work site.

99 H

3

Introduction to Graduation Project

50409

The first part of the final year project course is enrolled upon completion of 96 credit hours. Students are expected to select topics of their projects under the supervisor guidance and to submit a preliminary project report at the end of the semester. In this part, the students should identify the project objectives and the implemented methodology. With this module students will gain an adequate background of how to work in a group as well as independently.

50409

3

Final Graduation Project

50409

The final year project II course is undertaken after completing Graduation Project I, Students are expected to select topics of their projects related to software engineering and submit a project report on completion of the project. They are expected to do a presentation and perform a working demonstration of their selected project. This module will give students skills and experience in doing either an individual project or a group project. Students will be assigned project advisors who will guide the students during the project. The members of the group in the project range from minimum of 2 to maximum of 3. Students will work closely with their project advisor and provide evidence of programming.

Total 47

Fourth: Compulsory Department Requirements (54 Cr. H.)

Pre-Req

Cr

Course Name

Course No

50112

3

Foundation of Software Engineering

53230

This course is aimed at helping students build up an understanding of how to develop a software system from scratch by guiding them thru the development process and giving them, the fundamental principles of system development with object oriented technology using UML. The course will initiate students to the different software process models, project management, software requirements engineering process, systems analysis and design as a problem-solving activity, key elements of analysis and design, and the place of the analysis and design phases within the system development life cycle.

Pre-Req

Cr

Course Name

Course No

50105

3

Discrete Math and Structures

53233

AA

Pre-Req

Cr

Course Name

Course No

53230

3

Software Requirements

53231

Techniques for eliciting requirements. Languages and models for representing requirements. Analysis and validation techniques, including need, goal and use-case analysis. Requirements in the context of system engineering. Specifying and measuring external qualities: performance, reliability, availability, safety, security, etc. Specifying and analyzing requirements for various types of systems: embedded systems, consumer systems, web-based systems, business systems, and systems for scientists and other engineers. Resolving feature interactions. Requirements documentation standards. Traceability. Human factors. Requirements in the context agile processes. Requirements management: Handling requirements changes.

Pre-Req

Cr

Course Name

Course No

50112

3

Foundations of Information Systems

54240

This course is designed to give surveys of important concepts related to information systems and how these systems are used throughout global organizations. Topics include data and information differences between them, information quality, the major parts of an Information System (Hardware, Software, Database, Network and People), as well as special topics in information systems including role of Information System for competitive advantage, information system in organizations, administrative information system and its types, internet and world wide technologies and major ethical issues in the digital world. Upon completion, students should be able to understand the implications of how IS provides a competitive advantage, and students will gain an understanding of how information enables improvement in quality and speed in organization.

Pre-Req

Cr

Course Name

Course No

50210

3

Advance Object Oriented Programming

53234

AA

Pre-Req

Cr

Course Name

Course No

53230

3

Human Computer Interaction

53336

The study of human-computer interaction enables system architects to design useful, efficient, and enjoyable computer interfaces. This course teaches the theory, design procedure, and programming practices behind effective human interaction with computers, and – a particular focus this quarter: smart phones and tablets. We will examine interaction design, implementation, and evaluation. The design process requires a solid understanding of the theory behind successful human-computer interaction, as well as an awareness of established procedures for good user interface design, including the ‘usability engineering’ process. Iterative evaluation is an important aspect of this procedure, and we will learn and practice prototyping and evaluation using scenario-based case studies. We will look at specific interface success stories and spectacular failures to learn from past experiences. Students will apply their gained knowledge in a series of practical assignments using the Android ecosystem that highlight selected portions of the design cycle, as well as familiarize them with sound programming practices and effective tools and techniques to create successful user interfaces. The course will also touch upon novel interfaces that go beyond what we normally see in today’s graphical user interfaces

Pre-Req

Cr

Course Name

Course No

50214

3

Analysis of Algorithms

51312

This course aims to introduce the classic algorithms in various domains, and techniques for designing efficient algorithms. Upon successful completion of this course the student is expected to achieve the following goals: Compare algorithms that solve the same problem; Determine inefficiencies in algorithms and how to optimize them. Determine whether a problem has an algorithmic solution. Do the analysis of algorithms, in terms of time and space complexity, for solving a wide variety of common computing problems. Prove the correctness and analyze the running time of   the basic algorithms for those classic problems in various domains. Apply the algorithms and design techniques to solve problems. analyze the complexities of various problems in different domains. Do a Big-Oh analysis for their implementations of basic data structures.

Pre-Req

Cr

Course Name

Course No

53233

3

Formal Models & Methods

53330

This course covers the fundamentals of formal methods for systems utilized in Software Engineering and Information Security. It will examine techniques for modeling and formally analyzing computing systems and will consider applications in software, hardware, and security. Students will learn the fundamentals of classical logic, induction and recursion, program semantics, rewriting, reactive systems, temporal logic, model checking, and abstraction. We will examine how these methods can be used to build reliable software, hardware, and security protocols. Students will learn how to use various tools, including theorem proving and model checking tools, and will work in groups to apply the tools to various domains.

Pre-Req

Cr

Course Name

Course No

53231

3

Software design

53332

The main purpose of course is to develop thorough understanding of students towards software design.  This course focuses on techniques for software design in the development of large and complex software systems. Topics will include software architecture, modeling (including UML), object-oriented design patterns, and processes for carrying out analysis and design. More advanced or recent developments may be included at the instructor’s discretion. The course will balance an emphasis on design principles with an understanding of how to apply techniques and methods to create successful software systems. This course Introduces principles and practices of software development. Includes instruction in critical thinking, problem solving skills, and essential programming logic in structured and object- oriented design using contemporary tools.

Pre-Req

Cr

Course Name

Course No

50210

3

Internet and Web Programming

53335

This course has a practical emphasis on the design and techniques for developing internet-based applications, mainly focusing on web programming. Topics include HTML, client-side scripting language (JavaScript), server-side programming (Servlets, JSP, and J2EE), and XML/web services. This course will also cover some important topics needed for internet-based application developments, such as Internet architectures and web security. Course work includes substantial programming homework and team-based projects

Pre-Req

Cr

Course Name

Course No

53332

3

Software Evolution and Maintenance

53331

This course covers fundamental aspects of software maintenance and evolution, including concepts and techniques, process models for system evolution, and software maintenance case studies. The course focuses on the research issues of software evolution and maintenance. Topics such as reverse engineering, design recovery, program analysis, program transformation, refactoring, traceability, and program understanding will be investigated.

Pre-Req

Cr

Course Name

Course No

53335 + 50312

3

Advance Internet and Web Programming

53337

AA

Pre-Req

Cr

Course Name

Course No

53332

3

Software Testing

53437

This course is a study of software testing and maintenance methodologies for object-oriented, component-based, concurrent, distributed, and web software. Topics include approaches to automatic test case generation, test oracles, coverage analysis, prioritized testing, construction of tools, regression testing and impact analysis. A primary focus will be program-based software testing and maintenance approaches.

Pre-Req

Cr

Course Name

Course No

53332 + 50312

3

Software Development

53431

Introduction to Software Design paradigms, Project Management, System and Software Requirements, Computer Aided Software Engineering, and Software Design Fundamentals using existing documentation for a proposed system. In-depth survey of data flow-oriented, object-oriented, data oriented, and real-time design. Team project involving the implementation of the proposed system using structured programming, information hiding, and strength and coupling measures. Software reviews. Software testing techniques and strategies. Software maintenance. Each student will be required to make an oral presentation as part of the team project.

Pre-Req

Cr

Course Name

Course No

53332

3

Software Quality

53433

The course introduces the students to the modern methods for quality assurance in software development. The content of the course consists of lectures about relevant standards (e.g. ISO/IEC 9126, ISO/IEC 9000, ISO/IEC 25000) for quality assurance and standards for measurement of quality (e.g. ISO/IEC 15939). The course prepares the students to work as quality engineers and quality managers in software development organizations with the focus on embedded software and web applications.

Pre-Req

Cr

Course Name

Course No

50214

3

Programming Languages

51420

AA

Pre-Req

Cr

Course Name

Course No

53332

3

Re-use and Component Based Development

53432

Component based development is the development of components that individually perform one discrete or unique function. These components can be reused and combined to form other components that perform another discrete or unique function. The main objective of component based development is to reduce time and costs related to the development of reusable learning components. Component based Development has already been introduced as a software development approach which is used to reduce software development costs and to decrease the development time to develop software applications..

Pre-Req

Cr

Course Name

Course No

53332

3

Software Project Management

53430

Describe and determine the purpose and importance of project management from the perspectives of planning, tracking and completion of project. Compare and differentiate organization structures and project structures. Implement a project to manage project schedule, expenses and resources with the application of suitable project management tools. A broad and critical understanding of the processes for developing high quality software systems. The principles, concepts and techniques associated with software development. An ability to analyze and evaluate problems and draw on the theoretical and technical knowledge to develop and implement plans for their resolution. An awareness of current research in the management of software projects, the analytical skills and research techniques for their critical and independent evaluation and their application to new problems

Total 54

Fifth: Elective Department Requirements (9 Cr. H.)

Students are required to select three courses (9 Cr. H.) from the Software Engineering Department or from the available elective courses from the other departments.

Pre-Req

Cr

Course Name

Course No

53332

3

Engineering Economic Analysis

53334

This course is an introduction to which is the application of economics and decision theory to the methods used for determining the comparative financial desirability of engineering alternatives. Provides the student with the basic tools required to analyze engineering alternatives in terms of their worth and cost, an essential element of engineering practice. The student is introduced to the concept of the time value of money and the methodology of basic engineering economy techniques. The course will address some aspects of sustainability and will provide the student with the background to derive and use the different engineering economy factors.

Pre-Req

Cr

Course Name

Course No

50214

3

Computer Graphics

51440

AA

Pre-Req

Cr

Course Name

Course No

51420

3

Compiler Constructions

51320

AA

Pre-Req

Cr

Course Name

Course No

53337

3

Mobile Applications

53438

AA

Pre-Req

Cr

Course Name

Course No

90 credit Hrs

3

Special topics in Software Engineering

53400

Specialized study within an area of Information Systems, guided by a supervisor. Topics include theoretical and applied aspects of Software Engineering. Combines guided reading and research with a significant individual or group project component.

Pre-Req

Cr

Course Name

Course No

53332

3

Software Architecture

53435

AA

FacebookTwitterEmail