The program has been approved by the National Cybersecurity Authority under the “Cyber-Education Framework Alignment Decision” for a period of five years, from November 3… more
Chairman's Office -Male's Campus |
---|
Dr. Mubarak Rashed Alrashoud | | 4695227 | Chair of Software Engineering Department | | | | | 31 | S002 | Mr. Abdullah Alghushayan | | 4696279 | Office Manager | | | | | 31 | S002 | Mr. Feras Aldalbahi | | 4696279 | Administrative Assistant | | | | | 31 | S002 | Vice-Chair Office -Female's Campus | Dr. Sadeem A. Alsudais |  | 8050589 | Vice-chair of the Software Engineering Department | | | |  | 06 | T048 | Ms. Mona M. Al-Amri | | 8051621 | Office Manager | | | | | 06 | T048 | Ms. Ghadeer Alrashed | | 8050719 | Postgraduate Coordinator | | | | | 06 | T048 | Ms. Ashwag M. Alghofaily | | 8052523 | Bachelor's Coordinator | | | | | 06 | T048 |
Mailing Address
College of Computer and Information Sciences P.O.Box 22452 Riyadh 11495 Kingdom of Saudi Arabia Social Networks @KSU_SWE
@KSU_SWE
Professors | Associate Professors | Assistant Professors | Lecturers | TAs Name | Department | Contact |
---|
Professors | Prof. M. Shamim Hossain | Software Engineering |  Office: 31|2115 Tel.: 4676189
| Prof. Atef AlAmri | Software Engineering |  Office: 31|2098 Tel: 4695202
| Prof. Abdulhameed AlElaiwi | Software Engineering |  Office: 31|2032 Tel.: 4698331
| Prof. Fayez Hussain Alqahtani | Software Engineering |  Office: 31| Tel.:
| Prof. Muna Al-Razgan | Software Engineering |  Office: 06|T049 Tel: 8050589
| Associate Professors | Dr. Fazal A. Amin | Software Engineering |  Office: 31|G047 Tel.: 4698768
| Dr. Khalid N. AlMuteb | Software Engineering |  Office: 31|2017 Tel.: 4676178
| Dr. Mohammed Abdulwadud | Software Engineering |  Office: 31|2055 Tel.: 4675967
| Dr. Noureddine Abbadeni | Software Engineering |  Office: 31|2013 Tel.: 4676344
| Dr. Zakarya A. AlZamil | Software Engineering |  Office: 31|2117 Tel.: 4695225
| Dr. Zohair A. Chentouf | Software Engineering |  Office: 31|2024 Tel.: 4695215
| Dr. Ahmed M. Ghoneim | Software Engineering |  Office: 31|2057 Tel.: 4670685
| Dr. Mubarak Rashed Alrashoud | Software Engineering |  Office: 31|2002 Tel.: 4695227
| Dr. Achraf Gazdar | Software Engineering | 
Office: 31|2022 Tel.: 4696301 | Dr. Mashael Maashi | Software Engineering |  Office: 06|T069 Tel.: 8058736
| Assistant Professors | Dr. Abdulaziz O. AlSadhan | Software Engineering |  Office: 31|2056 Tel.: 4674881
| Dr. Mohsen Denguir | Software Engineering |  Office:31|2021 Tel.:
| Dr. Sarah S. Almoaiqel | Software Engineering |  Office: 06|T048 Tel.:
| Dr. Abir B. Najjar | Software Engineering |  Office: 06|T038 Tel.:
| Dr. Badr K. AlShemaimri | Software Engineering |  Office:31| Tel.:
| Dr. Abeer Al-Humaimeedy | Software Engineering |  Office: 06|T049 Tel: 8050589
| Dr. Manal M. Alhammad | Software Engineering |  Office:06|T048 Tel.:
| Dr. Reem A. Alfayez | Software Engineering |  Office:06|T048 Tel.:
| Dr. Manal K. BinKhonain | Software Engineering |  Office: 06|T048 Tel.: 4695227
| Dr. Ohoud M. Alharbi | Software Engineering |  Office: 06|T048 Tel.: 8052089
| Dr. Abdulaziz S. AlOboodi | Software Engineering |  Office: 31|G060 Tel.:
| Dr. Abdulaziz M. Alrashidi | Software Engineering |  Office: 31|G060 Tel.:
| Dr. Abdulaziz N. Alshayban | Software Engineering |  Office: 31|G060 Tel.:
| Dr. Husain Alhashimi | Software Engineering | 
Office: 31|2015 Tel.: | Dr. Sarah A. Alhozaimy | Software Engineering | 
Office: 06|T022 Tel.: | Dr. Sadeem A. Alsudais | Software Engineering | 
Office: 06|T061 Tel.: 53972 | Lecturers | Lec. Mohammad Nasir M. Sarwar, MSc | Software Engineering | 
Office: 31|2078 Tel.: 4696252
| Mohammad Alowayyed, MSc | Software Engineering |  Office: 31| Tel.:
| Asma A. Al-Hussayen, MSc | Software Engineering |  Office: 06|S022 Tel.: 8052713
| Bushra M. Alkadhi, MSc | Software Engineering |  Office: 06|T061 Tel.:
| Heila A. AlMazrou, MSc | Software Engineering |  Office: 06|S013 Tel.: 8051847
| Manal A. Al Onaizan, MSc | Software Engineering |  Office: 06|T023 Tel.: 8055161
| Mona A. Al-Hakami, MSc | Software Engineering |  Office: 06|S015 Tel.: 8058700
| Monira N. AlDelaimi, MSc | Software Engineering |  Office: 06|S013 Tel.:
| Nora A. Aldahash, MSc | Software Engineering |  Office: 06|S013 Tel.: 8052868
| Nouf M. AlMobarak, MSc | Software Engineering |  Office: 06|S013 Tel.: 8056579
| Noura N. AlOmar, MSc | Software Engineering |  Office: 06|T061 Tel.:
| Noura Y. Alzamel, MSc | Software Engineering |  Office: 06|T023 Tel.:
| Rawan F. Alabdulrahman, MSc | Software Engineering |  Office: 06|T023 Tel.: 8051653
| Sarah I. Alkoblan, MSc | Software Engineering |  Office: 06|S013 Tel.: 8052432
| Wea'am A. AlRashed, MSc | Software Engineering |  Office: 06|S021 Tel.:
| Teaching Assistants | TA. Ali S. Alotaibi, MSc | Software Engineering |  Office: 31|G060 Tel.:
| TA. Husain Alhashimi, MSc | Software Engineering | 
Office: 31|2015 Tel.: | TA. Fahad A. Aldebeyan, MSc | Software Engineering |  Office: 31|G060 Tel.:
| TA. Sultan M. AlSarra, MSc | Software Engineering |  Office: 31|G071 Tel.:
| TA. Ghada Abdullah Alamer | Software Engineering | 
Office: 06|S013 Tel.: |
Course Code
|
SWE211
|
Course Name
|
Introduction to Software Engineering
|
Credit
|
3(3+0+1)
|
Pre-requisites
|
MATH151 + CSC 111
|
Co-requisites
|
|
Course Description
|
This is a central course, presenting the basic principles and concepts of software engineering and giving a firm foundation for many other courses in the field. It gives a broad coverage of the most important terminology and concepts in software engineering.
|
Course Code
|
SWE312
|
CourseName
|
Software Requirements Engineering
|
Credit
|
3(3+0+1)
|
Pre-requisites
|
CSC 113 + SWE 211
|
Co-requisites
|
|
Course Description
|
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.
|
Course Code
|
SWE313
|
Course Name
|
Software Process and Modeling
|
Credit
|
3(3+0+1)
|
Pre-requisites
|
|
Co-requisites
|
S230
|
Course Description
|
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 to 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.
|
Course Code
|
SWE314
|
Course Name
|
Software Security Engineering
|
Credit
|
3(3+0+1)
|
Pre-requisites
|
CEN 303
|
Co-requisites
|
|
Course Description
|
This course mainly deals with engineering techniques for developing secure software systems. It covers Security fundamentals of Information assurance concepts (confidentiality, integrity, and availability); Nature of threats (e.g., natural, intentional, and accidental); Encryption, digital signatures, message authentication, and hash functions; Common cryptographic protocols (applications, strengths, and weaknesses) relevant to buffer overflows, SQL injections, format string bugs, integer overflows, heap attacks, race conditions, concurrency vulnerabilities, access control, and malicious code; and Nontechnical security issues (e.g., social engineering). The course also covers Computer and Network security issues relevant to Network security threats and attacks; Use of cryptography for network security; and Protection and defense mechanisms and tools. Furthermore, the course focuses on developing secure software by covering topics such as Building security into the software development life cycle, Security in requirements analysis and specification, Secure design principles and patterns, and Secure software construction techniques. A course project is included in a demonstration of different techniques.
|
Course Code
|
SWE321
|
Course Name
|
Software Design and Architecture
|
Credit
|
3(3+0+1)
|
Pre-requisites
|
SWE 312 + SWE 314
|
Co-requisites
|
|
Course Description
|
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 the design are also given in the course. Students participate in a group project on software design and architecture and design tools.
|
Course Code
|
SWE333
|
Course Name
|
Software Quality Assurance
|
Credit
|
2(2+0+1)
|
Pre-requisites
|
SWE312
|
Co-requisites
|
|
Course Description
|
This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software industry: Measurements of product, process, and resource attributes -Planning a measurements program -Goal/Question/Metric-Collection & analysis of software empirical measurements -Building software metrics -Quality concepts –Software quality assurance -Software quality management -Quality planning and control -Quality manual -Product and process standards -Internal and external software quality attributes -Software reviews, walkthrough and inspection -Statistical software quality assurance –Software configuration management -Software reliability – International Software quality models, e.g. ISO 9000 Quality standards and ISO 9000-3, etc..-Software process improvement –The Capability Maturity Model (CMM), Balanced scorecards. Ethical responsibility to produce high-quality software is also discussed. Students participate in a group project on Software quality assurance.
|
Course Code
|
SWE381
|
Course Name
|
Web Applications Development
|
Credit
|
3(3+0+1)
|
Pre-requisites
|
SWE211
|
Co-requisites
|
|
Course Description
|
This course is a basic introduction to the Internet and WWW. It covers the following topics Static web page development using HTML. Formatting web pages with tables, images, frames and CSS (Cascading Style sheets). Introduction to client-side scripting such as JavaScript. Dynamic web content generation and use of DHTML. Introduction to server-side programming such as PHP, JSP, Java Servlets, and ASP .NET. Database connectivity to web applications. Fundamentals of Web 2.0 – the modern web applications. Basics of other relevant concepts and technologies such as XHTML, XML, Web Services, and Ajax. Students participate in a group project on web design and development.
|
Course Code
|
SWE434
|
Course Name
|
Software Testing and Validation
|
Credit
|
3(3+0+1)
|
Pre-requisites
|
SWE333
|
Co-requisites
|
|
Course Description
|
The course covers software testing and validation in details and include the following topics: Introduction to testing - Software validation and verification – Test cases – Managing the testing process: developing test plans, test scripts and test cases, reports - Unit, functional, and acceptance testing - Black-box and white-box testing - Equivalence partitioning - Path testing – Cyclomatic complexity - Integration testing – System Testing: Regression testing; Interface testing; Stress testing; Incremental testing; Interaction and Usability testing ... etc. - Object-oriented testing - Software testing tools - Alpha, beta, and user acceptance testing – Testing in agile development environment - Automated testing. Students participate in a group project on software testing. Students participate in a group project on software testing.
|
Course Code
|
SWE444
|
Course Name
|
Software Construction Laboratory
|
Credit
|
2(0+4+0)
|
Pre-requisites
|
SWE321 + SWE333
|
Co-requisites
|
|
Course Description
|
This is a course offered as a laboratory where students practice the material learned in previous courses through directed study and supervision. The focus will be mainly on analysis, design, and implementation. Some concepts related to project planning and to quality assurance will also be considered. The class is an ongoing project in which students register to participate as engineers in a specific role in accordance with individual levels of expertise and profile. More emphases should be given in producing a small software application using various tools including case tools, database systems, and programming environments.
|
Course Code
|
SWE455
|
Course Name
|
Software Maintenance and Evolution
|
Credit
|
2(2+0+1)
|
Pre-requisites
|
SWE434
|
Co-requisites
|
|
Course Description
|
This course will introduce the four types of maintenance: corrective, adaptive, perfective, and preventive maintenance; economic implications of maintenance; managerial issues related to system maintenance such as maintenance organizational structure; quality measurement, processes related to change requests and configuration management. Topics including: Website maintenance; the role of CASE tools; reverse engineering, reengineering; code restructuring and amenability measures. Release and configuration management will be also discussed. Students will also learn different maintenance process models such as: Boehm, Osborne, Iterative enhancement and reuse-oriented modes. Students participate in a group project in Software Maintenance and Evolution.
|
Course Code
|
SWE466
|
Course Name
|
Software Project Management
|
Credit
|
3(3+0+1)
|
Pre-requisites
|
SWE333
|
Co-requisites
|
|
Course Description
|
This course covers the main knowledge areas of project management (time, cost, quality, scope, risk, human resources, communications, etc.) by focusing on software projects. Project planning, cost estimation (using COCO and FPs), earned-value analysis techniques and scheduling. Project management tools. Factors influencing productivity and success. Productivity metrics, Analysis of options, risk management and dynamic adjusting of project plans. Planning for change. Management of expectations. Software contracts and intellectual property. Approaches to maintenance and long-term software development. Standards in project management, such as ISO10006 (project management quality) and ISO12207 (software development process) along with CMM model will be also discussed. Case studies of real industrial projects. Ethical behavior of project managers with respect to clients, employers, products, etc. will be also discussed. Students participate in a group project on software project planning and management.
|
Course Code
|
SWE477
|
Course Name
|
Software Engineering Code of Ethics & Professional Practice
|
Credit
|
2(2+0+0)
|
Pre-requisites
|
Passing 95 CH
|
Co-requisites
|
|
Course Description
|
This course is an introduction to information ethics in general and to the professional and ethical aspects of the profession of software engineers in order to be able to fulfill their duties and succeed in their mission. Ethics of Software Engineers and ethical behavior is covered in depth through the IEEE-CS/ACM software engineering code of ethics (with the respect to Public Interest, Client and Employer, Product, Judgment, Management, professional, Colleagues, and Self). The course covers also other important topics: Software Engineering as an engineering and computing discipline; Professional aspects of the Software Engineer profession: certification, licensing, professional engineering societies, employment contracts, etc.; Group Dynamics, interaction with peers, stakeholders, and managers; Communication and presentation skills; Economic impact of Software systems; legal, social, etc. issues in Software Engineering; The profession of Software Engineer in Saudi Arabia and the Gulf region.
|
Course Code
|
SWE479
|
Course Name
|
Practical Training
|
Credit
|
1(++)
|
Pre-requisites
|
Passing 95 CH
|
Co-requisites
|
|
Course Description
|
Training is an important aspect of the educational process in the College of Computer and Information Sciences. Students are required to join an IT center in a government or private sector as a full time for at least 8 weeks during summer prior to their graduation. The aim of the student training is to allow students acquiring the experience and knowledge of real-world work environment (as far as this is possible) as well as applying knowledge and skills they learned in classes in real life and in team working. The student training is evaluated through both his training advisor in the workplace as well as the training committee through the report students write about their training.
|
Course Code
|
SWE481
|
Course Name
|
Advanced Web Applications Engineering
|
Credit
|
3(3+0+1)
|
Pre-requisites
|
SWE381 + SWE312
|
Co-requisites
|
|
Course Description
|
This course covers technical aspects as well as business aspects, market drivers, and site design reflecting interdisciplinary influences on web applications development. The course explains how Web Engineering differs from software engineering, detailing the rapid prototyping and agile development methods mandated by short lead times, emphasis on interactivity and multimedia, and the increased importance of user interfaces and human-computer interaction. It covers: the systematic development of Web applications; requirement engineering for Web applications; modeling; Architectures of Web Applications; technology-driven design; testing, operation, and maintenance of Web applications. Special emphasis should be given to: Web project management, development processes, usability, performance and security of Web applications. The course covers also Web services. Students participate in group projects on advanced web design and development.
|
Course Code
|
SWE482
|
Course Name
|
Human-Computer Interaction
|
Credit
|
3(3+0+1)
|
Pre-requisites
|
SWE381
|
Co-requisites
|
|
Course Description
|
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 a 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 (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 in-group projects on the design, development, and evaluation of user interfaces.
|
Course Code
|
SWE483
|
Course Name
|
Mobile Web Development
|
Credit
|
3(3+0+1)
|
Pre-requisites
|
CSC113
|
Co-requisites
|
|
Course Description
|
This course is an introduction to mobile application design and implementation. Through this course, students will be able to design and implement applications for the Android and iOS-based devices. The presented topics cover the essential of the mobile development, mainly: mobile GUI design and implementation, data saving, DB access, network access, use of API features (contacts, file system, Accelerometer, etc.), and security of mobile applications.
|
Course Code
|
SWE484
|
Course Name
|
Multimedia Computing
|
Credit
|
3(3+0+1)
|
Pre-requisites
|
SWE314
|
Co-requisites
|
|
Course Description
|
This course will focus on providing the knowledge and skills about how multimedia information is represented, processed, stored in computers and communicated. The specific topics will include: characteristics of the human visual system; input/output, representation, and processing of different media types like text, image, graphics, video, and speech; multimedia compression and compression standards like JPEG, MPEG etc.
|
Course Code
|
SWE485
|
Course Name
|
Selected Topics in Software Engineering
|
Credit
|
3(3+0+1)
|
Pre-requisites
|
Passing 95 CH
|
Co-requisites
|
|
Course Description
|
This course is designed to enable students to study different special topics of interest, which are carefully selected from software engineering topics. The contents of such a course are to be determined by the department council each time the course is offered. Topics of interest could be one or several from the following: Formal specifications using formal languages (Z, B, etc.), design patterns, component-based development, Agile and eXtreme programming, Aspect-oriented architecture, Service-oriented computing, and architecture, etc. Other topics can be added as needed. Students participate in group projects related to the special topic(s) selected.
|
Course Code
|
SWE486
|
Course Name
|
Cloud Computing And Big Data
|
Credit
|
3(3+0+1)
|
Pre-requisites
|
CEN303 + IS230
|
Co-requisites
|
|
Course Description
|
Cloud computing and related technologies; development status and trends of Cloud computing; Cloud computing applications; main features and technical challenges of Cloud computing; Advanced Topics: Resource Modeling and Definitions for Cloud Data Centers, Cloud Resource Scheduling Strategies, Load Balance Scheduling for Cloud Data Centers. Introduction to big data; Big data problems; The relationship between Cloud computing and big data; Big data technologies; Ontologies and Semantics; Data integration; Measurement and analysis; Legalities and societal issues.
|
Course Code
|
SWE488
|
Course Name
|
Complex Systems Engineering
|
Credit
|
3(3+0+1)
|
Pre-requisites
|
Passing 95 CH
|
Co-requisites
|
|
Course Description
|
This course represents an introduction to complex systems and the methods and tools currently under consideration and uses towards a better understanding of such systems and the development of a complex engineered systems theory. Topics include concepts such as emergence, self-organization, learning and adaptation, and various quantitative and computational intelligence techniques and algorithms that are considered for modeling, analysis, and evaluation of such complex systems. The system-of-systems concept will be also presented. Students will be able to work on a small project in which they have to design and implement a small part of a complex system.
|
Course Code
|
SWE496
|
Course Name
|
Graduation Project I
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
SWE321 + Passing 95 CH
|
Co-requisites
|
|
Course Description
|
The graduation project is the first part of a senior design and development software project that will give the chance to students to apply the knowledge they acquired in the curriculum on a real project. The outcome of this project must be a significant software system, employing knowledge gained from courses throughout the curriculum. The project should cover most phases of the software lifecycle. In this part of the project, the focus will be on software process and development methodologies, requirements analysis & specification, high-level design, quality assurance, as well as on the management of the project. Students must use software case tools to realize their work. They also need to implement a “hello world” version of their software.
|
Course Code
|
SWE497
|
Course Name
|
Graduation Project II
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
SWE496
|
Co-requisites
|
|
Course Description
|
This is a continuation of the graduation project started in SWE496. The focus will be in this part on low-level design, implementation, testing, and quality assurance as well as management of the project. The outcome of this project must be a significant software system, employing knowledge gained from courses throughout the curriculum. Students must use software case tools as well as programming environments to do their work. Students must deliver the code, a final report, and must do a presentation of their work as well as a demo of the software realized.
|
Course Code
|
SWE501
|
Course Name
|
Object-Oriented Software Engineering
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
Software construction using a modern object-oriented language with support for graphical user interfaces and complex data structures. Specifications, design patterns, and abstraction techniques, including polymorphic. Information hiding. classes, objects, and inheritance procedural, data, iteration, type, and polymorphic. Information hiding, classes, objects, and inheritance
|
Course Code
|
SWE502
|
Course Name
|
Software Design and Architecture
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
Concepts and methods for the architectural design of large-scale software systems. Fundamental design concepts and design notations. Design strategies and methods. Object-oriented analysis and design modeling using the Unified Modeling Language (UML) notation. Project on object-oriented software design.
|
Course Code
|
SWE503
|
Course Name
|
Software Requirements Engineering
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
Basics of Requirement Engineering, Requirement Engineering process. Methods, tools, notations, and validation techniques for the analysis, specification, prototyping, and maintenance of software requirements. In-depth study of object-oriented requirements modeling, including use case modeling, static modeling and dynamic modeling using the Unified Modeling Language (UML) notation. Project on software requirements and specifications using a modern method.
|
Course Code
|
SWE504
|
Course Name
|
Distributed Software Engineering
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
Techniques and programming interfaces for distributed software engineering. Networking protocols at several layers. Construction of distributed and concurrent software using network protocol services. Applications of Internet and Web-based layer
|
Course Code
|
SWE505
|
Course Name
|
Software Testing and Quality
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
Quality Assurance. Software quality factors. Development standards, models and methodologies. Process and product quality assurance. Software reviews and inspections Verification and validation. Software configuration management. Software quality metrics. Concepts and techniques for testing software and assuring its quality. Equivalence partitioning. Test tools and automated testing. Verification and validation methods. Different Testing Framework: The JUnit, DBunit, Web unit testing framework (will cover one or two). Black-box (functional) test design methods white-box (structural) verification methods: code-directed methods; static testing techniques; program proving; code inspection; symbolic execution; data flow anomaly analysis. Dynamic white-box test design techniques control flow/data flow; Instrumentation/Code Coverage ; a-priori testing; adaptive testing; mutation testing; Grey-box (object-directed) test design methods: design & verification; fsm-based methods; checking platform dependencies; object-oriented test planning. testing distributed s/w and protocols. test description languages (ttcn3). Theoretical foundations of testing: computability. Summary - comprehensive software quality engineering.
|
Course Code
|
SWE506
|
Course Name
|
Software Project Management
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
Project Management of software engineering projects. Software system engineering and organization methods; work breakdown structure and task determination; effort, duration and cost estimation; scheduling and planning. Monitoring and control; analysis of options; management of risks, change, and expectations. Process and product metrics, post-performance analysis, process improvement, and maturity. Management of Agile Programming methodologies such as Extreme Programming; Case studies.
|
Course Code
|
SWE507
|
Course Name
|
Formal Methodologies in Software Engineering
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
Formal mechanisms for specifying, validating, and verifying software systems. Program verification through Hoare's method and Dijkstra's weakest preconditions. Formal specification via algebraic specifications and abstract model specifications, including 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. Formal methods using the Object Constraint Language (OCL).
|
Course Code
|
SWE508
|
Course Name
|
Object-based Design Patterns
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
Principles of object-oriented design through design patterns. A study of the selection of appropriate object-oriented structure after the system requirements or requirements specification of the software system have been developed. Design patterns are created in the logic view of the software system. A study of generalized design solutions for generalized software design problems. A study of the reuse of design patterns.
|
Course Code
|
SWE509
|
Course Name
|
Software Usability Engineering
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
Introduction and background of Software Usability engineering concepts. This includes measuring usability, Heuristic evaluation, Video recorded evaluation, Task analysis, Cognitive walkthroughs and ethics, Experimentation, Internationalization, Accessibility - Usability for the Disabled, use of the different state-of-the-art tools for usability evaluation, and finally, integration of usability engineering into the software engineering lifecycle. This course will also focus on the different aspects of Human-Computer Interaction from the perspective of user interface design and analysis. Group or individual project needs to be completed highlighting both practical as well as research aspects.
|
Course Code
|
SWE510
|
Course Name
|
Special Topics in Software Engineering
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
Topics not occurring in existing courses. Topics normally assume knowledge in one or more existing MS SWE courses.
|
Course Code
|
SWE511
|
Course Name
|
Reusable Software Architectures
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
An in-depth study of software concepts that promote the reuse of software architectures. The influence of object technology on software design and reuse is studied. Domain Modeling methods, which model the application domain as a software product family from which target systems can be configured, are investigated. The course also covers reusable software patterns including architecture patterns and design patterns, software components, and object-oriented frameworks.
|
Course Code
|
SWE512
|
Course Name
|
Real-Time and Embedded Systems
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
The topics covered are: Real-time systems and principles supporting design and implementation. Emphasizes fundamental results from real-time scheduling theory and relevance to computer system design - System design issues for real-time applications involving communication networks, operating systems, databases, and multimedia.
|
Course Code
|
SWE513
|
Course Name
|
Enterprise System Architecture
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
An in-depth study of the basic concepts and methodologies for the discipline known as Enterprise IT architecting within a framework, structure, and methodology - Enterprise IT Architecting as a step for designing and developing a system of information systems - Definition of the business, work, functional, information and technical perspectives - Development of complex information systems.
|
Course Code
|
SWE514
|
Course Name
|
Software Engineering Process and Construction
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
Basics of Software construction, Formal methods for software construction, managing construction, Tools for model-driven construction. Software process definition, assessment, and measurement. Practical consideration or group project: design of real-time systems and language analyzers using CASE tools, Design, and verification of programs with concurrency, in the context of languages like UML State Machines (SDL) and Java.
|
Course Code
|
SWE515
|
Course Name
|
Software maintenance and Configuration
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
Basics of Software maintenance and configuration. Key issues, Maintenance process, processes related to change requests and configuration management, Configuration control SWE release management, Maintenance techniques: reverse engineering, reengineering; code restructuring. Group or individual Project on the state of art research.
|
Course Code
|
SWE516
|
Course Name
|
Software Engineering for the World Wide Web
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
Topics to be covered in this course: Architectural frameworks for Ecommerce, Banking, etc. WEB 2.0, Web 3.0 and above – tags, RSS, authoring, web services, XML, Web APIs. Software usability – web accessibility initiative, multimodal interfaces for ease of use. Web application reliability–modeling, testing. Security–Standards and technologies. Scalability–issues, and approaches to the scalable web application. Maintainability– Metrics for maintainability estimates, maintainability models, etc. Client-server architecture. Multi-tier architecture. Event-driven architecture. Database-centric architecture. Middleware–web servers, application servers
|
Course Code
|
SWE517
|
Course Name
|
Component-Based Software Development
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
Introduction to the concepts and foundations of the software component and component-based software. A detailed study of the engineering principles of modeling, designing, implementing, testing, and deploying component-based software. State-of-the-art component technologies will also be explored
|
Course Code
|
SWE518
|
Course Name
|
Multimedia Systems
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
Introduction to multimedia enabling technologies, services and applications; basic Internet concepts and protocols, compression and networking technology in multimedia systems, Multimedia, and the Internet, Quality of Service (QoS) and Resource Management, Scheduling and synchronization, conferencing and collaboration tools, and security.
|
Course Code
|
SWE519
|
Course Name
|
Web Engineering Methods and Tools
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
Web Engineering course topics include but not limited to: Design methodologies to support customizable systems. Development and maintenance models for Web Systems. Documents oriented system development. Server-Side Programming: JSP, Java Beans, JDBC, etc. System security signed applets and encrypted communications. Introduction to programming distributed web architectures. End-User application development and cultural aspects. Techniques for supporting mobile Web devices.
|
Course Code
|
SWE520
|
Course Name
|
Complex Systems Engineering
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
Complex systems engineering course topics include but are not limited to: Universality and unification: Complexity paradigms in nonlinear dynamics, networks, and computation. Complexity concepts – universality, emergence, self-organization, nonlinearity, order, criticality, evolution, modularity, competition and cooperation, feedback and adaptation - Interactions and Patterns. - Complex Systems Theories and Models: Mean-field theory and approximation. - Tools of complex systems modeling – simulation techniques; Monte Carlo, cellular automata, agent-based, power-law and heavy-tailed distributions, Networks: genetic networks, neural networks, scientific computing in Practice. - Applications in Biology, Business, Finance, Social and Environmental
|
Course Code
|
SWE521
|
Course Name
|
Service Oriented Computing – SOC
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
This course will cover recent papers and research results for Web Services, including: Web Services, Service-Oriented Architecture (SOA), Service Selection, Service Composition, Service Management, QoS Issues, traditional, and nature-inspired techniques for service computing, Security and Dependability for Web Services, P2P Services, and Service Cloud.
|
Course Code
|
SWE522
|
Course Name
|
Operations Research for Software Intensive Systems
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
This course provides a perspective on the analysis of systems that are stochastic in nature. Topics to be covered are: Probability Theory - Decision Making Under Uncertainty - Deterministic Inventory Models - Probabilistic Inventory Models - Markov Chains - Queueing Theory – Forecasting – Simulation.
|
Course Code
|
SWE523
|
Course Name
|
Principles of C4I Systems
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
This course provides a broad introduction to fundamental principles of Command, Control, Communication, Computing, and Intelligence (C4I). The main topics to be covered are: Target Detection, Tracking, and Identification - Data Fusion, Situation Assessment - Communication & Networking - Combat Modeling - Decision Making – C4ISR Architectures – Queuing Theory and Applications. Case studies, assignments and group projects.
|
Course Code
|
SWE524
|
Course Name
|
Modeling and Simulation for C4I systems
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
This course will focus on the use and characteristics of combat simulations as aids to decision-making. The main topics to be covered are: Combat models - Principles of good analysis using combat models - Attrition algorithms for High-Resolution models: Physical models of attrition - Attrition algorithms for aggregated models - Target detection algorithms: glimpse, continuous- observation, DYNTACS, and ACQUIRE models - Battlefield environment representations - Command-and-control - Modeling Other Battlefield Functions: Force representation, Fire Support, Air Defense, Air Combat models, Logistics - The future of combat models: Object-oriented design, parallelism, and distributed combat simulations - High-Level Architecture overview - High-Level Architecture case studies
|
Course Code
|
SWE525
|
Course Name
|
Sensor Data Fusion
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
Investigate common fusion architecture, levels of fusion, well-known data fusion algorithms and look into the recent developments in the area. Study estimation algorithms and hypothesis-testing criteria for multisensory fusion. Analyze the adoption of sensor fusion approaches into different application areas. Topics to be covered in the course: Introduction to sensor data fusion - Basics of different sensors and data formats - Design issues of data fusion systems - JDL data fusion levels - Revised data fusion levels - Algorithms for sensor data fusion: Estimation algorithms for entity parameters or attributes, Identity estimation algorithms for recognition, and Several hypothesis-testing criteria such as data-entity association, situation analysis, etc. - Analyze the adoption of sensor fusion in the following application areas: Military, monitoring and tracking, Pervasive environment, Environment monitoring, Surveillance, Critical infrastructure protection, Intelligent transportation system.
|
Course Code
|
SWE526
|
Course Name
|
Estimation and Tracking: Principles and Techniques
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
Topics to be covered: Principles and estimation techniques for static and dynamic systems, linear and nonlinear, discrete and continuous time. Estimation for kinematic models, track initiation, bearing-only tracking, tracking maneuvering targets with adaptive filtering, MM (Multiple Model) and interactive MM algorithms. Tracking single target in clutter, nearest neighbor algorithm, tracking and data association, Multiple hypothesis tracking. Tracking performance evaluation.
|
Course Code
|
SWE527
|
Course Name
|
Introduction to Medical Software Engineering
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
The tentative topics may cover: Introduction and overview of basic concepts of Medical Informatics, Online Medical Resources and Search Engines, Patient Informatics, Electronic Health Records, Interoperability, Ubiquitous Technology, Clinical Practice Guidelines, Disease Management, Patient Safety and Information Technology and E-prescribing: Telemedicine and Medical Image Archiving and Communication Systems: Bioinformatics and Public Health Informatics (Public Health Information Network), Emerging Trends in Medical Informatics and Information Technology (Emerging technologies such as voice recognition, artificial intelligence, Service Computing, SOA, Re-HAVE, VoWiFi and biometrics).
|
Course Code
|
SWE528
|
Course Name
|
Analysis, design and development of medical/health information Systems
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
Systems development methodologies; the systems development life cycle, and the concepts, tools, and techniques. The fundamentals of database modeling, technologies, and design such as entity-relationship, semantic data modeling, database technologies, and normalization. Basic knowledge of SQL. Case study on medical information systems (hospital, outpatient, nursing, laboratory, pharmacy, etc.), decision-support systems, clinical research and health-assessment systems, technology assessment and healthcare accounting. Course project on the design and development of a DBMS related to one or more of the following: Medical health record and/or medical information system, disease management and drug utilization.
|
Course Code
|
SWE529
|
Course Name
|
Software Project Management in Medical Informatics
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
Project management (PM) methods and skills for healthcare. The latest project management techniques for medical informatics projects. Project initiation, planning, implementation, and project termination. Issues related to project leadership, human resources, budgeting, and scheduling, risk identification and risk mitigation tactics. Case discussions highlight the state-or-the-art for project management practices as applied to health informatics in contemporary environments. Case study and practice with some Project management software related to medical informatics. Group project on SPM in medical informatics.
|
Course Code
|
SWE530
|
Course Name
|
E-health
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
The basic concepts such as privacy and security, language and terminologies, standards and interoperability, decision support systems, health informatics specialties. The concepts of organizing health information in a logical way to interface with an electronic information system. The design and role of various health classification systems such as the International Classification of Diseases (ICD), the International Classification of Primary Care (ICPC) and casemix systems (AR-DRGs, AN-SNAP, MH-CASC). Review of technology applications such as Telemedicine and health in the home, web-based applications, cyber-consultations, and wireless technology
|
Course Code
|
SWE531
|
Course Name
|
Software Reliability Engineering
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
Software Reliability topics include but not limited to: cleanroom software development, fault avoidance, fault tolerance, exception handling, N-version programming, reliability metrics, recovery blocks, formal methods, functional specifications, and Z Notation.
|
Course Code
|
SWE598
|
Course Name
|
Graduate Project -I
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
Students in the non-thesis option will normally complete their project in the last two terms of the program. Students should apply to the non-thesis option in their initial application rather than attempting to transfer to this option once registered in the program. The project supervisor must be a member of SWE dept. The project must represent a significant contribution to the state-of-the-art BUT does not involve the writing up of a dissertation. However, a project report summarizing the work is to be submitted to the project supervisor for grading. This part is dedicated to the literature review, analysis, and design of the project.
|
Course Code
|
SWE599
|
Course Name
|
Graduate Project-II
|
Credit
|
3(3+0+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
Students in the non-thesis option will normally complete their project in the last two terms of the program. Students should apply to the non-thesis option in their initial application rather than attempting to transfer to this option once registered in the program. The project supervisor must be a member of SWE dept. The project must represent a significant contribution to the state-of-the-art BUT does not involve the writing up of a dissertation. However, a project report summarizing the work is to be submitted to the project supervisor for grading. This second part is more dedicated to detailed design, implementation, and validation issues.
|
Course Code
|
SWE600
|
Course Name
|
Thesis
|
Credit
|
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
A dissertation thesis that is accomplished via the formal, academic, and scientific approach under the supervision of an academic advisor.
|
Course Code
|
SWE601
|
Course Name
|
Empirical and Data Analysis Methods for Software Engineering
|
Credit
|
3(3+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
The course will first introduce, discuss, and classify various software engineering research methods and approaches. Then the course will focus on the principles, main practices and technologies relevant to using data and statistical analysis to address various software engineering research problems. This course will put emphasis on grasping statistical concepts and interpretation of the outcome of analysis of the statistical data gathered during the different stages of software development lifecycle. Application of statistical methods to empirical software engineering will be in particular covered in-depth. Additionally, students will review different articles, case studies and research papers to have a practical understanding of the use of statistical and data analysis techniques in relevant software engineering.
|
Course Code
|
SWE602
|
Course Name
|
Modeling and Optimization for Software Engineering
|
Credit
|
3(3+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
This course will introduce advanced modeling and optimization techniques from the software engineering perspective. It encompasses relevant methods, models, and techniques from graph theory, operations research, mathematical logic, and discrete mathematics. It will include discussions on modeling principles, model analysis and software engineering methods. It will also focus on formalizing decision making problems affected by uncertainties at different stages of a software development, solving the models with different optimization techniques, and interpreting the results. An important part of the course will be devoted to reading, presentation, and discussion of relevant research papers.
|
Course Code
|
SWE696
|
Course Name
|
Independent study (1)
|
Credit
|
2(2+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
The student registers in this course under a faculty member. The student selects a research topic, with the approval of his adviser, and conduct a research study on the topic. The student submits a detailed report at the end of the course.
|
Course Code
|
SWE697
|
Course Name
|
Independent study (2)
|
Credit
|
2(2+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
The student registers in this course under a faculty member. The student selects a research topic, with the approval of his adviser, and conduct a research study on the topic. The student submits a detailed report at the end of the course
|
Course Code
|
SWE698
|
Course Name
|
Research Seminar
|
Credit
|
1(1+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
The student registers in the Research Seminar course. The student should present their work in research seminars. He should present at least twice (2) on a topic given by the supervisor, and attend at least three (3) research seminars. The research seminars can be organized inside the department, college, or University, or outside the University. Participation in national or international conferences can be counted also up to 50% of the total research seminar requirements.
|
Course Code
|
COM700
|
Course Name
|
Comprehensive Exam
|
Credit
|
(0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
The comprehensive exam will cover three courses. One of the courses must be from one of the research fundamentals courses (SWE 601 or SWE 602). The two other courses will be decided by the department council in coordination with the department graduate studies committee (taking into consideration the research area of the student). The comprehensive exam will have a written part and an oral part.
|
Course Code
|
SWE699
|
Course Name
|
Thesis Proposal Preparation
|
Credit
|
One study unit
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
The student prepares a PhD thesis proposal describing the research problem(s) to be addressed by the proposed research, a thorough literature review of the related works, the objectives, the methodology to be followed, the results and contributions expected from the proposed research, as well as timeline and schedule of the proposed research. The research proposal must be approved by the adviser, the department and the college. The proposal will be defended orally in front of a committee (the advisor and two members). The thesis proposal starts in the third semester after the student finished successfully 50% of coursework and shall be defended successfully by the end of the 6th semester at the latest.
|
Course Code
|
SWE700
|
Course Name
|
Thesis
|
Credit
|
(24) study unit
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
The student writes a detailed thesis dissertation report describing in detail all aspects of the research work accomplished and defends publicly his work in front of a Jury according to the university regulations.
|
List of Elective Courses (1)
Course Code
|
SWE603
|
Course Name
|
Advanced Topics in Software Architecture
|
Credit
|
3(3+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
This course covers concepts and methods for the architectural design of large-scale software systems. Fundamental design concepts, notations, strategies, and methods. This includes architectural patterns and styles, qualitative and quantitative assessment of architectures, quantitative modeling using architecture description languages such as AADL and MARTE, and qualitative architecture evaluation methods, e.g., ATAM. Finally, the course will also address the specific research challenges related to deployment, mobility, and QoS.
|
Course Code
|
SWE604
|
Course Name
|
Software Verification and Validation
|
Credit
|
|
Pre-requisites
|
|
Co-requisites
|
3(3+0)
|
Course Description
|
The objectives of this course are to explore and evaluate the verification and validation theories and practices from a software engineering perspective. The course covers the concepts and techniques for testing software and assuring its quality at the unit, module, subsystem, and system levels. Topics covered include criteria-based test design, test design, test automation, test coverage criteria, Test plan, Various types of tests including white-box, black-box, unit, integration, functional. Regression testing and mutation testing will also be covered. Testing processes, as well as automatic versus manual techniques for generating and validating test data, will also be covered. Various quality assurance techniques including inspections, reviews, consistency checks, quality metrics, etc. will be also part of the course. Software testing best practices (patterns), as well as bad practices (anti-patterns or smells), will be discussed as well as test-driven development (TDD) will also be discussed. Part of the course will be devoted to reading, presentation, and discussion of relevant research papers as well as depicting research trends in software verification and validation.
|
Course Code
|
SWE605
|
Course Name
|
Software Dependability
|
Credit
|
3(3+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
Modern Software systems have extended in its distribution, mobility, and complexity. They are failure-prone and difficult to manage and thus hardly dependable. The dependability problems are hard to solve but must be dealt with regularly in order to detect, isolate and recover systems from these problems. This advanced graduate-level course focuses on dependability in software systems and covers different dimensions of software dependability including software availability, software reliability, software survivability/resilience, and software safety. The course will also address current research aiming at addressing challenges caused by software and hardware bugs and software misconfiguration. Students are expected to read and comment on recent research papers related to software dependability. Students are expected to work on a relevant research project during the course.
|
Course Code
|
SWE606
|
Course Name
|
Software Process and Project Management
|
Credit
|
3(3+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
This course covers software process development as well as software project management issues, models, methods, and techniques. Topics covered include software development processes, software development methodologies with a special focus on agile methodologies; Software project management aspects include the key concepts and techniques in software project management knowledge areas including Time management, Cost management, Quality management, Risk management, etc. In addition, software engineering decision support techniques are covered in this course. A special focus will be on models and techniques used in cost, effort, and time estimation and management as well as patterns and anti-patterns in software project management. Relevant research papers will be discussed as part of the course.
|
Course Code
|
SWE607
|
Course Name
|
Software Analytics
|
Credit
|
3(3+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
This course covers analytics models and techniques relevant to the area of Software Systems by analyzing software repositories data. Data in software repositories include various software artifacts such as source code, software bugs, bug reports, test cases, execution traces, user feedback, developers’ comments, programming forums questions and answers, etc. The course covers models and techniques from various domains in order to analyze software repositories data, and gain insights to help software developers and software managers do their work properly and efficiently (improve quality and productivity). Furthermore, the course will also focus on how to predict useful information about new software projects based on the completed projects, gather insight, and make recommendations in light of related literature and research trends.
|
Course Code
|
SWE608
|
Course Name
|
Search-based Software Engineering
|
Credit
|
3(3+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
A large number software engineering problems, in many areas of software engineering, can be viewed and treated as a computational search problem. This course introduces the techniques that can be used to address such problems. Topics covered include: Overview on Search-based Software engineering, large-scale software engineering problems as an optimization problem, Computational search-based approaches, heuristics and meta-heuristics, Applications of search-based approaches to various areas of software engineering including software testing, software project management, and software maintenance. Relevant evaluation techniques and metrics to search-based solutions will also be covered. Students will be exposed to current research trends.
|
Course Code
|
SWE609
|
Course Name
|
Advanced Topics in Software Requirements Engineering
|
Credit
|
3(3+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
This course focuses on advanced software requirements models, methods, techniques, and issues. Topics covered include methods, tools and processes for software requirements elicitation, analysis; notations and models for requirements specification; quality assurance techniques and quality metrics for requirements; formal versus non-formal specifications, patterns and anti-patterns in requirements, requirements traceability, and requirements prioritization techniques. Requirements management in the case of agile methodologies versus traditional methodologies will be also discussed. Part of the course will be devoted to reading, presenting, and discussing relevant research papers in this area.
|
Course Code
|
SWE610
|
Course Name
|
Advanced Topics in Software Maintenance and Evolution
|
Credit
|
3(3+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
This course focuses on advanced software maintenance and evolution issues, models, methods, techniques, and processes. Topics covered include software evolution processes, change impact analysis models and techniques, change propagation techniques, program comprehension and visualization for maintenance purposes, code smells and refactoring techniques for software maintainability, design versus code refactoring, managing technical debt, program evolution and automatic program repair, and software re-engineering. Student will go through the state-of-the-art research in this field.
|
Course Code
|
SWE611
|
Course Name
|
Advanced Topics in Interaction Design
|
Credit
|
3(3+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
Nowadays, we are surrounded by cutting edge technology that bridges the digital and physical worlds and then revolutionized the User eXperience (UX). This course gives an insight into some innovative technologies and discusses how they have contributed tremendously to the Human Machine Interaction design and evaluation. It develops deeply into the impact of the evolution of Touch-screen based interfaces, Wearable devices as well as Tangible User Interfaces (TUI), the advent of Augmented Reality (AR) and Virtual Reality (VR) technology, the potential of Gaze-controlled (eye tracking) and Brain-controlled interfaces (BCI), the direct interaction of Human with Artificially Intelligent (AI) machines or Robots... This course covers concepts and techniques that might be used throughout the whole software development process with special focus on the Interaction Design and User-Centered Design (UCD): starting from user needs finding and going through User experience design to usability evaluation. The course work will be supplemented with relevant research papers.
|
Course Code
|
SWE612
|
Course Name
|
Formal Methods for Software Engineering
|
Credit
|
3(3+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
This course studies the formal specification, verification, and synthesis of software. The course will first introduce formal mechanisms for specifying software systems using a variety of specification notations, e.g., Z and UML/OCL, and discuss corresponding analysis techniques, e.g., theorem proving, constraint checking, and model checking, using existing commercial and research tools. In addition, the course covers the integration of formal methods with existing programming languages, and the application of formal methods to requirements analysis, testing, safety analysis, and object-oriented approaches. Also, recent research advances will be covered in the course.
|
List of Elective Courses (2)
Course Code
|
SWE620
|
Course Name
|
Software Mining and Intelligence
|
Credit
|
3(3+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
This course is designed to help researchers in software engineering develop critical thinking, skills, and tools necessary to understand and apply different mining techniques to various real-world software engineering data, in addition to utilizing these concepts and techniques to manage, maintain and evolve complex software systems and projects. Topics covered include Data preprocessing (selection, cleaning, and transformation), Supervised/unsupervised learning, data mining and processing techniques (e.g. classification, clustering, association rules, decision-trees, etc.), Text mining approaches, applied to various software artifacts. Various machine learning techniques will be discussed with enough depth including deep learning approaches, and their potential applications in Software Engineering. The emerging and promising field of software intelligence, which relies on the advances in mining software engineering data, will also be introduced and discussed from the perspective of supporting decision-making processes throughout the lifetime of a software system.
|
Course Code
|
SWE621
|
Course Name
|
Data Science and Engineering
|
Credit
|
3(3+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
This course provides a solid view on data science and engineering, in the context of big data, including scientific methods, processes, techniques, and tools to extract process and analyze the data, and extract new knowledge and insights from data in various forms. The successful deployment of data science in any organization depends on how data is stored and processed. We cover in this course also the fundamentals and architecture of data storage, retrieval and processing, and visualization. A special attention will be given to analyzing and interpreting data, and applying reasoning techniques for tactical as well as strategic decision making. Advanced hands-on data visualization techniques for data exploration, pattern discovery, data interpretation and explanation of data results will also be covered in this course. Reading and presenting research papers will be also part of this course.
|
Course Code
|
SWE622
|
Course Name
|
Advanced Topics in Multimedia Software Systems
|
Credit
|
3(3+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
Tِhis course will tackle Multimedia Software Systems from two complementary angles: 1) apply multimedia computing to the practice of software engineering; and 2) apply software engineering principles to the development of multimedia software systems. In fact, developing multimedia software systems entails understanding a variety of advanced technologies; in addition, multimedia software systems design and programming poses a significant challenge in terms of handling a variety of hardware devices, multimedia data formats, or communication protocols. This course will cover multimedia enabling technologies to understand, analyze, and build multimedia software systems. Topics covered include multimedia content analysis and processing, services and applications, Internet concepts and protocols, compression and networking technology in multimedia system, Multimedia and the Internet, Quality of Service (QoS) and Resources Management, Scheduling and synchronization, conferencing and collaboration tools and Security, and multimedia information retrieval. Research trends related to this field will be covered.
|
Course Code
|
SWE623
|
Course Name
|
Mobile and Pervasive Software Systems
|
Credit
|
3(3+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
This course will focus on the understanding of mobility, ubiquity, and the pervasiveness of modern software systems. The students will explore and research different software engineering aspects in this paradigm. More specifically, this course will investigate different design issues of mobility and pervasiveness of modern smart systems, like IoT systems, cyber-physical systems and smart city services. Part of the course will be devoted to reading, presentation, and discussion of relevant research papers.
|
Course Code
|
SWE624
|
Course Name
|
Cybersecurity and Software Systems
|
Credit
|
3(3+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
This course teaches the principles of cyber-security aspects, with a particular emphasis upon the security properties and implications on software and information technologies. It provides the opportunity to focus on the application of these principles, the best practices and the current advances in the field. More specifically this course will provide the knowledge and skills that will support the development of secure, robust, and reliable software systems by detecting fraud, upholding the trust, and safeguarding privacy. The traditional information, computer, and network security constitutes the basics on which we rely, but go further in studying research approaches, models, and methodologies for the design, implementation, and testing of secure software systems. The course will also expose the students to the research trends in the area.
|
Course Code
|
SWE625
|
Course Name
|
Cloud-based Software Systems
|
Credit
|
3(3+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
This course will give the students a comprehensive view of the cloud computing landscape. It will explore the software defined architecture of cloud and the approaches of defining and configuring highly available cloud services. Also will be explored the different service models of the cloud: IAAS, PAAS, SAAS. The course will further elaborate on the techniques of developing enterprise software solutions on cloud platform. The students will conduct research and implement cloud computing services as part of project work to get further understanding of the concept.
|
Course Code
|
SWE626
|
Course Name
|
Select Topics in Software Engineering
|
Credit
|
3(3+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
This course teaches the principles of modern software engineering that arise in the area, together with the tools, methods and techniques that support their application. It aims to refine the understanding of foundational topics and to explore the state-of-the-art and new trends in software engineering research. Examples of topics that can be covered in this course for now include theoretical concepts around Agent Oriented Software Engineering or Service Oriented Architecture (SOA) are growing in importance in industrial application. Practical tools and methods around Big Data, Cloud computing and Virtualization, Artificial Intelligence and Internet of Things (IoT) have become topics of keen interest to software engineers and researchers. This course combines the investigation of theory and practical aspects in software engineering and discusses its flourishing research directions.
|
Course Code
|
SWE627
|
Course Name
|
Simulation and Modelling of Distributed Software Systems
|
Credit
|
3(3+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
The aim of the course is to provide an understanding of methods, techniques and tools for modeling, simulation and performance analysis of large-scale distributed software systems. This includes studying Distributed Interactive Simulation (DIS), High-Level Architecture (HLA) and Test & Training Enabling Architecture (TENA) Standards. The course discusses issues related to simulation interoperability and composability execution and explores the time management algorithms and approaches to synchronization. Part of the course will be devoted to reading, presentation, and discussion of relevant research papers.
|
Course Code
|
SWE628
|
Course Name
|
Text Retrieval and Analysis for Software Engineering
|
Credit
|
3(3+0)
|
Pre-requisites
|
|
Co-requisites
|
|
Course Description
|
Text Retrieval (TR) and Natural Language Processing (NLP) have a large number of applications in almost all areas of Software Engineering including Use case analysis, Traceability Link Recovery, Feature or bug location, Program comprehension, Defect prediction and debugging, Automatic documentation, Requirements, Refactoring, Change Impact analysis, etc. The bottom line is to formulate a given software engineering task as a text retrieval problem and find the software artifacts that satisfy a particular information need. The main NLP and TR concepts and techniques presented will be relevant to Software Engineering problems and will cover the whole retrieval lifecycle including corpus preprocessing, corpus indexing, query formulation, document similarity and ranking, and Performance evaluation. Techniques include tokenization, stemming, Vector Space Model (VSM), Latent Semantic Indexing (LSI), Latent Dirichlet Allocation (LDA), Term Frequency-Inverse Document Frequency (TF-IDF), Relevance feedback, Scoring and Thresholding, Precision and recall and F-measure metrics, etc. The corpus used to illustrate these concepts and techniques will be a collection of software engineering documents including the code, use case narratives, programming forums’ questions, and answers, etc. The course introduces also the use of semantic computing/technologies (e.g., ontologies, text mining, and knowledge integration techniques) in diverse tasks such as traceability and impacts analysis, system comprehension, software artifact analysis, etc. The course will cover research trends in this domain.
|
Master of Science in Software Engineering (Thesis Option / Non-thesis Option)
The College of Computer and Information Sciences at King Saud University is one of the oldest colleges of computer and information technology in the Kingdom. It was established by the Royal Decree No. 7/1558 / M on 19/5/1404 AH. The study started in the college at the beginning of the academic year 1404/1405 H. The College currently has (5) scientific departments, including the Department of Software Engineering. The College currently offers a number of bachelor's and master's programs in all departments and offers doctoral programs in four departments.
The College's vision is to lead the way in teaching and scientific research in the fields of computing and information technology. Its mission is to contribute to transforming our society to be modern and knowledge-based through innovative education and research in computing and information technology that develops analytical capabilities and creative thinking.
The department of Software Engineering (SWE) is the latest addition to the college of computer and information sciences in King Saud University. The first academic program offered by the department is a Bachelor of Science degree program in software engineering (BSc in SWE). Students started enrolling in the program in September 2008. They started graduating in July 2011. We currently count more than 400 students enrolled in the BSc program with tens of graduates each year.
The Master of Science degree program in Software Engineering (MSc in SWE) was created in 2012. Students started enrolling in the program in September 2013. They started graduating in January 2015. A regular number of students graduate from the program yearly, and the total number of graduates so far is approximately 70.
Software Engineering is an established discipline that spans all aspects of the development of large-scale, complex and distributed software intensive systems. It focuses particularly on software processes, development methodologies, software tools and technologies, integration and configuration management, software verification and testing techniques, software quality and reuse, and software security aspects. Software engineering professionals are in high-demand from small, medium, and large organizations due to the reliance on software systems for all aspects of business. Potential employers of software engineers include all software vendors and Internet-based companies, electronic business organizations, research and development laboratories, the oil sector, aerospace companies, government agencies, banks, insurance companies, and manufacturing organizations. Software engineers are concerned with both the theoretical and practical aspects of technology, cost, and social impact of software systems to make them more effective and efficient.
The Master of Science Degree in Software Engineering is designed for software engineers who want to expand their knowledge and experience in developing and modifying large and complex software systems. It emphasizes technical and management aspects of the software engineering process. The program offers experience from both academic and industrial perspectives. Through challenging curricula, innovative courses, and a technical emphasis, students learn and apply practices, tools, and techniques in a real-world project environment. The program is designed to produce industry leaders and researchers who are technically astute and possess advanced managerial, leadership, and communication skills. Individuals completing this program will be able to lead and improve the industry and the state of the practice in the years to come.
The department of software engineering has 23 faculty members including 2 full professors, 10 associate professors (one of them has already applied to be promoted to the rank of professor), and 11 assistant professors. Research Interests in the department include a nice variety of topics and problems that are core to software engineering as well as a variety of domains where software engineering can have important applications. Core topics include Software requirements, Software Architectures, Software Testing, Software Evolution and Maintenance, Mining Software Repositories, Software Project Management, Software Usability and Human Computer Interaction, etc. while the potential applications of software engineering domains include intelligent software systems, multimedia systems, mobile and pervasive systems, etc.
Master of Science in Software Engineering.
Program's Language
English
To become an internationally recognized model in graduate education and research in the field of Software Engineering.
Provide an educational, scientific, and research environment conducive to prepare students to technical and leadership careers in the field of software engineering in both industrial and research settings by providing them with an excellent graduate instruction that deepens their knowledge and develops their skills to become successful professionals in software engineering.
The program is designed to achieve the following:
- Contribute to the knowledge economy of Saudi Arabia through active participation in the resolution of software engineering practical and real world problems, which, in turn, would serve the 2030 vision;
- Occupy high responsibility positions in industrial organizations and lead projects in the field of software engineering;
- Conduct quality research in the field of software engineering;
- Be able to continue successfully their studies in PhD programs (if they desire).
- Knowledge and Comprehension:
- Possess a comprehensive understanding of the methods, technologies and techniques applicable for the design, development, implementation and maintenance of software systems;
- Show critical awareness of current research issues, problems and approaches;
- Show originality and innovation in the application of knowledge, methodologies and techniques in the design and implementation of software systems;
- Evaluate critically current and new technologies, methodologies and standards, and, where appropriate, propose new approaches.
- Demonstrate strong critical thinking skills;
- Possess excellent reasoning and problem solving skills;
- Handle new and complex software engineering problems
- Professional and Practical Skills:
- Specify, design and implement complex and innovative software systems in a wide range of novel and different domains, using knowledge of software development processes, methodologies and tools;
- Conduct independent in-depth analysis and/or study within an area related to software engineering, involving critical evaluation of various software artifacts.
- Recognize and observe relevant professional, legal and ethical frameworks as a software engineering professional;
- Engage confidently in academic and professional communication with others;
- Learn continuously and independently for continuing professional growth and improvement.
- Students, Saudi and non-Saudi, interested to pursue graduate studies in software engineering within Saudi Arabia;
- Saudi Universities, interested in hiring graduates of the program for their advanced research and technical skills;
- Companies, Saudi and non-Saudi, interested in hiring graduates of the program for their advanced technical and managerial skills.
Graduates from the MSc program can work in both academia and industry as:
- Professionals in the software engineering industry to lead large-scale and complex software projects;
- Teaching Assistants and/or lecturers in universities to contribute to the education of future software engineers;
- PhD candidates in universities inside and outside the Kingdom.
In addition to the admission requirements mentioned in the unified regulations for graduate studies in Saudi universities and the organizational and executive rules and procedures for postgraduate studies at King Saud University, the department requires the following to enroll in the program:
- Applicants must hold a BSc. Degree in Software Engineering, Computer Science, Information technology, Information Systems, or Computer Engineering from King Saud University or a University recognized by the Ministry of Education, with a minimum GPA of 3.75 out of 5.00;
- Applicants shall possess a score of no less than (450) in the TOEFL - PBT exam or equivalent;
- Applicants should have a score of no less than (144) in the GRE (quantitative reasoning part) or a score of no less than (70) in the Post-graduate Qudurat exam (quantitative part) .
- Thesis Option
- Passing (25) study units of courses
- Successful completion and defense of master’s Thesis.
- Non-thesis option
- Passing (32) study units including the graduation project
- Thesis Option: Number of required units is (25) in addition to (6) units for the thesis as follows:
No. of Units Required
|
No. of Courses
|
Type of Courses
|
(19) Study units
|
(7)
|
Core courses
|
(6) Study units
|
(2)
|
Elective courses
|
(6) Study units
|
(1)
|
Thesis
|
(31) Study units
|
(10)
|
Total
|
- Non-thesis Option: Number of units required is (32) study units including the graduation project as follows:
No. of Units Required
|
No. of Courses
|
Type of Courses
|
(19) Study units
|
(7)
|
Core courses
|
(9) Study units
|
(3)
|
Elective courses
|
(4) Study units
|
(1)
|
Graduation Project
|
(32) Study units
|
(11)
|
Total
|
Program's Study Plan
Study Plan (Thesis Option / Non-Thesis Option )
Program's Courses Description
Master of Science in Software Engineering (Courses)
Program Information
Software engineering is an established discipline based on requirement analysis, design, construction, testing, maintenance, economics, and ma`s that build and sell computers, research and development laboratories, aerospace companies, government contractors, banks, insurance companies, and manufacturing organizations. Software engineers are concerned with the theoretical and practical aspects of technology, cost, and social impact of software systems that are both effective and efficient.
The Master of Science Degree in Software Engineering is designed for software engineers who want to expand their knowledge and experience in developing and modifying large, complex software systems. It emphasizes technical and management aspects of the software engineering process. The program offers experience from both academic and industrial perspectives. Through challenging curricula, innovative courses, and a technical emphasis, students learn and apply practices, tools, and techniques in a real-world project environment. The program is designed to produce industry leaders and researchers who are technically astute and possess advanced managerial, leadership, and communication kills.
Individuals completing this program will be able to lead and improve the industry and the state of the practice in the years to come. This may certainly contribute to the diversification and strengthening of the Saudi economy, as measured by job creation, and new industry development and growth in GDP per capita.
Degree Name
Master of Science (MSc.) in Software Engineering.
Degree Requirment
In addition to the general requirements of the university, the MS in Software Engineering (option II) requires the student to fulfill the following in order to be awarded the Master’s Degree in Software Engineering:
- Completion of 42 credit hours (SWE Master’s Degree Program courses and project) as follows:
- Minimum of 8 core courses (3 Credit Hours each) including the graduation project.
- Minimum of 6 elective courses (3 Credit Hours each).
By default all the new students will be in the courses/project track. However, based on the student request and department approval, he/she can move to thesis track later.
Program Educational Objectives
The program is designed to achieve the following:
- Producing industry leaders and practitioners who are technically astute and possess advanced managerial, leadership, and communication skills in software engineering field.
- Producing researchers, in the field of software engineering, who can pursue further post-graduate studies and contribute to the research community in Saudi Arabia.
- Producing research studies in the field of software engineering that contribute to advancing the technology in Saudi Arabia.
Admission
Admission Requirements
In addition to the general admission requirements of the university, the applicant to the MSc. Program in Software Engineering must meet the following requirements:
- Applicant should hold a B.Sc. degree from an accredited university in Software Engineering, Information Systems, Information Technology, Computer Science, or Computer Engineering. (Applicants with other equivalent B.Sc. degree in Computing may be considered with some prerequisite courses to meet the core courses of the Software Engineering B.Sc.)
- Applicants should have earned a grade point average of “Very Good” or better in the courses of undergraduate study.
- Applicant should have an English proficiency exam by submitting one of the following tests:
- TOEFL with minimum of 450 (paper based), 45 (internet based), or 133 (computer based).
- IELTS with minimum of 4.
- STEP with minimum of 67
- Applicant should have the ability of problem-solving by submitting the GRE quantitative reasoning part with minimum of 144
- For Saudi students, the GRE requirements can be alternatively fulfilled by Qudarat exam with a score 70 or above.
Selection Criteria
The final recommendation for admission to SWE master program will be based on the following criteria:
- GPA
- GAT general aptitude test (GRE/ Qudarat) & English proficiency (TOEFL/ IELTS/ STEP)
- Previous university status/ranking
- Previous degree program
- Program nature (full time)
- Practical/Academic experience in related field/industry
- Publication of conference/journal papers
Study Plan
LEVEL ONE |
Code |
Course Name |
Hours |
Pre-/Co- requesites |
SWE501 |
Object-Oriented Software Engineering |
3 |
|
SWE502 |
Software Design and Architecture |
3 |
|
SWE503 |
Software Requirements Engineering |
3 |
|
Sub Total |
|
9 |
|
LEVEL TWO |
Code |
Course Name |
Hours |
Pre-/Co- requesites |
SWE504 |
Distributed Software Engineering |
3 |
|
SWE505 |
Software Testing and Quality |
3 |
|
SWE506 |
Software Project Management |
3 |
|
Sub Total |
|
9 |
|
LEVEL THREE |
Code |
Course Name |
Hours |
Pre-/Co- requesites |
SWExxx |
Elective Course I |
3 |
|
SWExxx |
Elective Course II |
3 |
|
SWExxx |
Elective Course III |
3 |
|
SWE598 |
Project - Part I |
3 |
|
Sub Total |
|
12 |
|
LEVEL FOUR |
Code |
Course Name |
Hours |
Pre-/Co- requesites |
SWExxx |
Elective Course I |
3 |
|
SWExxx |
elective Course II |
3 |
|
SWExxx |
Elective Course III |
3 |
|
SWE599 |
Project - Part II |
3 |
|
Sub Total |
|
12 |
|
Bachelor of Science in Software Engineering
Vision:The SWE program aims to become the top education program in Software Engineering at the national, regional, and international levels. Mission:The SWE program is committed to producing highly qualified software engineers that serve society needs and contribute to transforming society into a Knowledge-based Society.
Professional and Academic AccreditationThe B.Sc. program in Software Engineering is accredited by the Engineering Accreditation Commission of ABET | https://www.abet.org | The B.Sc. program In Software Engineering is professionally accredited by the Education & Training Evaluation Commission (ETEC) |  | The B.Sc. program in Software Engineering is Professionally accredited by The Saudi Council of Engineers |  |
Program InformationThe department of Software Engineering (SWE) is the latest addition to the college of computer and information sciences. It was founded on 8/5/1427H as an evolution of the department of computer technology. The study plan of the SWE bachelor program was adopted by the board of the college of computer and information sciences on14/4/1428H and was approved by the council of the University on 4/6/1428H. The first batch of male SWE students were accepted in 1429H (2008) and later graduated in summer 1432H (July 2011). Three years later, the first batch of female SWE students joined the department in fall 1436H (September 2015) and graduated in 1439H (2018). Career OpportunitiesThe need for highly skilled software engineers is growing day after day. Graduates from the SWE program will have various career opportunities in the software and IT industry including the following: - Software architect
- Software designer
- Software systems analyst
- Software business analyst
- Software engineer
- Software quality assurance specialist
- Software project manager
Postgraduate Studies Graduates from the SWE program will have the opportunity to pursue postgraduate studies and succeed in academic and research careers. They can apply for the postgraduate programs offered by the Software Engineering: -MSc in Software Engineering, open since Fall 2012 and offering both Courses Track and Thesis Track. -PhD in Software Engineering, open since Fall 2019.
Program Educational Objectives- Possess essential professional software engineering skills that make them confident to develop high-quality software solutions in various application domains under various realistic constraints.
- Engage and succeed in their professional careers through teamwork, ethical behavior, proactive involvement and effective communication.
- Demonstrate an understanding of the importance of life-long learning through professional development, practical training, and specialized certifications.
- Assume progressively managerial, leading and influential roles in their organizations and communities.
- Pursue postgraduate studies and succeed in academic and research careers.
Student OutcomesIn concordance with ABET requirements for SWE programs, graduates from the SWE B.Sc. program will possess by the time of graduation the following essential computing and engineering skills: SO1. an ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics SO2. an ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors SO3. an ability to communicate effectively with a range of audiences SO4. an ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts SO5. an ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives SO6. an ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions SO7. an ability to acquire and apply new knowledge as needed, using appropriate learning strategies
AdmissionThe requirement for the admission of students to the College of Computer and Information Sciences is based on a composite average not less than 75% which is calculated as follows: - 25% of General Aptitude Test
- 25% of Subject Achievement Test
- 25% of GPA in CFY
- 25% of Math Courses in CFY
The priority of acceptance for admission is given to those applicants with the highest composite average.
Accepted and graduated students in the Department of Software EngineeringAcademic Year | Number of Enrolled Students in the BSc Software Engineering program | Number of Graduates from the BSc Software Engineering program | 2020-2021 | 701 | 153 | 2019-2020 | 659 | 173 | 2018-2019 | 658 | 120 | 2017-2018 | 615 | 94 | 2016-2017 | 577 | 44 | 2015-2016 | 534 | 56 | 2014-2015 | 489 | 72 | 2013-2014 | 456 | 53 | 2012-2013 | 423 | 31 | 2011-2012 | 370 | 34 | 2010-2011 | 305 | 9 | 2009-2010 | 217 | - | 2008-2009 | 82 | - |
VisionThe SWE program aims to become the top education program in Software Engineering at the national, regional, and international levels
MissionThe SWE program is committed to producing highly qualified software engineers that serve society's needs and contribute to transforming society into a Knowledge-based Society.
Chairman's Message On behalf of the Software Engineering Department's Faculty and Staff, it is my pleasure to welcome you. The Software Engineering Department (SWE) is one of the most recently established departments in the College of Computer and Information Sciences (CCIS). Our mission is to make a significant contribution to the national goal of promoting the knowledge society through high-quality education, innovative research, and services to the community in the field of software engineering. Currently, the Department offers a number of scientific programs including: *Bachelor of Science in Software Engineering *Master of Science in Software Engineering (Thesis Path) *Master of Science in Software Engineering (Project Path) *Ph.D. in Software Engineering (Thesis with some Courses Option) Our curriculum focuses on the theory and practice of design, development, testing, and maintenance of software systems. We are committed to equipping students with the skills needed in today's labor market. This is why we routinely update our study plans to reflect the industry needs. I am pleased to invite you all to learn more about our programs and study plans by browsing our department website. Best Regards,
Head of Software Engineering Department
Subscribe to
|