مقرارت قسم هندسة البرمجيات
مقررات الفصل الدراسي الأول
No # |
Course ID |
Course name |
Credits |
Pre-requisite |
Requirements |
1 |
ITS101 |
English I |
3 |
None |
University |
2 |
IT102 |
Programming I |
3 |
None |
School |
3 |
IT 103 |
Fundamental of IT |
3 |
None |
School |
4 |
IT104 |
Math I |
3 |
None |
School |
5 |
IT 105 |
General Physics |
3 |
None |
School |
6 |
IT001 |
Arabic Language |
3 |
None |
University |
Total credits |
18 |
توصيف مقررات الفصل الدراسي الأول
- English I
Course ID |
ITS101 |
Course title |
English I |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
None |
Requirement |
University |
Course description |
|||
This course emphasizes the fundamental language skills of reading, writing, speaking, listening, thinking, viewing and presenting. An emphasis on vocabulary and composition skills will be an on-going part of the program. The course includes studies of various literary genres: short story, poetry, novel, drama, and non-fiction. The development of critical reading and writing skills is a major emphasis of the course. |
|||
Reference |
|||
- Programming I
Course ID |
IT102 |
Course title |
Programming I |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
None |
Requirement |
School |
Course description |
|||
An introductory course in program engineering and applications. The course introduces students to the fundamentals of computer programming. Students will learn to design, code, and test their own programs while applying mathematical concepts. Teachers introduce basic coding concepts and problem-solving skills. |
|||
Reference |
|||
|
- Fundamental of Information Technology
Course ID |
IT103 |
Course title |
Fundamental of IT |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
None |
Requirement |
School |
Course description |
|||
The main objective is to introduce IT in a simple language to all undergraduate students, regardless of their specialization. It will help them to pursue specialized programs leading to technical and professional careers and certifications in the IT industry. This course also covers the explanation of technology and computer hardware and software basics, peripheral devices, mobile technology, and compatibility issues associated with computer hardware. |
|||
Reference |
|||
|
- Math I
Course ID |
IT104 |
Course title |
Math I |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
None |
Requirement |
School |
Course description |
|||
This course involves the study of basic functions: polynomial, rational, exponential, logarithmic, and trigonometric. Topics include a review of the real number system, equations and inequalities, graphing techniques, and applications of functions. A problem-solving lab is an integral part of the course. Permission of instructor is required. This course does not count toward the major or minor in mathematics |
|||
Reference |
|||
|
- General Physics
Course ID |
IT105 |
Course title |
General Physics |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
None |
Requirement |
University |
Course description |
|||
This course covers the principles of mechanics, heat, fluids, oscillations, waves and sound. Emphasis is on conceptual development and numerical problem solving. The course consists of two hours of lecture, one hour of recitation, one hour of quiz, and two hours of lab per week. A detailed schedule of topics can be found later in this syllabus. |
|||
Reference |
|||
|
- Arabic Language
Course ID |
IT001 |
Course title |
Arabic Language |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
None |
Requirement |
University |
Course description |
|||
Reference |
|||
مقررات الفصل الدراسي الثاني
No # |
Course ID |
Course name |
Credits |
Pre-requisite |
Requirements |
7 |
ITS102 |
Math II |
3 |
IT104 |
School |
8 |
ITS102 |
English II |
3 |
ITS101 |
University |
9 |
IT202 |
Programming II |
3 |
IT102 |
School |
10 |
IT203 |
Digital Logic Design |
3 |
None |
School |
11 |
IT204 |
Introduction to Probability & Statistics |
3 |
None |
School |
12 |
IT002 |
Islamic Studies |
3 |
None |
University |
Total credits |
18 |
توصيف مقررات الفصل الدراسي الثاني
- Math II
Course ID |
ITS102 |
Course title |
Math II |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
IT104 |
Requirement |
School |
Course description |
|||
his course covers elementary discrete mathematics for computer science and engineering. It emphasizes mathematical definitions and proofs as well as applicable methods. Topics include formal logic notation, proof methods; induction, well-ordering; sets, relations; elementary graph theory; integer congruences; asymptotic notation and growth of functions; permutations and combinations, counting principles; discrete probability. Further selected topics may also be covered, such as recursive definition and structural induction; state machines and invariants; recurrences; generating functions |
|||
Reference |
|||
|
- English II
Course ID |
ITS102 |
Course title |
English II |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
ITS101 |
Requirement |
University |
Course description |
|||
This class will challenge students to develop their intellectual initiative through extensive study of literature, refinement of the writing process, and stimulation of high-level thinking skills. In order to prepare to English III, challenging homework, frequent writing, and extensive readings outside of class are necessary. |
|||
Reference |
|||
Glendining , E, McEwan , J . (2002) Basic English for Computing . New York : Oxford. Jordan ,R.R.(1997)Academic Writing Course “Study Skills in English ” Cambridge University Press,.3rd Ed. Pp 34-63 |
- Programming II
Course ID |
IT102 |
Course title |
Programming II |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
IT102 |
Requirement |
School |
Course description |
|||
In this continuation of Programming I, students are introduced to the programming tools required to solve a more advanced set of problems. Students further develop their knowledge of the principles of object-oriented design and programming, including the use of interfaces and inheritance, and learn the fundamentals of sorting data and data structures |
|||
Reference |
|||
|
- Digital Logic Design
Course ID |
IT203 |
Course title |
Digital Logid Design |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
None |
Requirement |
School |
Course description |
|||
This course provides a modern introduction to logic design and the basic building blocks used in digital systems. It starts with a discussion of combinational logic: logic gates, minimization techniques, arithmetic circuits, and modern logic devices such as field programmable logic gates. The second part of the course deals with sequential circuits: flip-flops, synthesis of sequential circuits, and case studies, including counters, registers, and random-access memories. Different representations including truth table, logic gate, timing diagram, switch representation, and state diagram will be discussed. |
|||
Reference |
|||
|
- Introduction to Probability and Statistics
Course ID |
IT204 |
Course title |
Intro. to probability & statistics |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
None |
Requirement |
School |
Course description |
|||
Probability & Statistics introduces students to the basic concepts and logic of statistical reasoning and gives the students introductory-level practical ability to choose, generate, and properly interpret appropriate descriptive and inferential methods. In addition, the course helps students gain an appreciation for the diverse applications of statistics and its relevance to their lives and fields of study. The course does not assume any prior knowledge in statistics and its only prerequisite is basic algebra. |
|||
Reference |
|||
|
- Islamic Studies
Course ID |
IT002 |
Course title |
Islamic Studies |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
None |
Requirement |
University |
Course description |
|||
Reference |
|||
مققرات الفصل الدراسي الثالث
No # |
Course ID |
Course name |
Credits |
Pre-requisite |
Requirements |
13 |
IT301 |
Linear Algebra |
3 |
IT201 |
School |
14 |
IT302 |
English III |
3 |
ITS102 |
University |
15 |
IT303 |
Object Oriented Programming (OOP) |
3 |
IT202 |
School |
16 |
IT304 |
Introduction to Internet Programming |
3 |
IT202 |
School |
17 |
IT305 |
Database Systems |
3 |
None |
School |
18 |
SE306 |
Introduction to Software Engineering |
3 |
None |
School |
Total credits |
18 |
توصيف مقررات الفصل الدراسي الثالث
- Linear Algebra
Course ID |
IT301 |
Course title |
Linear Algebra |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
IT201 |
Requirement |
School |
Course description |
|||
This is an undergraduate course in linear algebra for students of engineering, science, and mathematics. Linear algebra is the study of linear systems of equations, vector spaces, and linear transformations. Solving systems of linear equations is a basic tool of many mathematical procedures used for solving problems in science and engineering. In this class we will concentrate on the mathematical theory and methods of linear algebra. The student will become competent in solving linear equations, performing matrix algebra, calculating determinants, and finding eigenvalues and eigenvectors |
|||
Reference |
|||
|
- English III
Course ID |
IT302 |
Course title |
English III |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
ITS102 |
Requirement |
University |
Course description |
|||
English III specifically is a rigorous course in which students will study the development of American thought and the American voice in literature. Students will critically read and evaluate various forms and types of texts including novels, poetry, informational texts and visual texts |
|||
Reference |
|||
|
- Object Oriented Programming
Course ID |
IT303 |
Course title |
Object Oriented Programming |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
IT202 |
Requirement |
School |
Course description |
|||
This course introduces advanced programming skills and focuses on the core concepts of object-oriented programming and design using a high-level language, either Python or Java. Object-oriented programming represents the integration of software components into a large-scale software architecture. Software development in this way represents the next logical step after learning coding fundamentals, allowing for the creation of sprawling programs |
|||
Reference |
|||
|
- Introduction to Internet Programming
Course ID |
IT304 |
Course title |
Internet programming |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
IT202 |
Requirement |
School |
Course description |
|||
This course is an introduction to Internet programming and Web application development. Subjects covered include basic web page development and an introduction to dynamic web page development using client-side scripting, server-side scripting, and database connectivity. Topics included in this course, hyper-text markup language (HTML), cascading styling sheet (CSS), javascript and asp.net. |
|||
Reference |
|||
|
- Database Systems
Course ID |
IT305 |
Course title |
Database Systems |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
None |
Requirement |
School |
Course description |
|||
The course covers fundamental techniques for developing data management and data analytics applications. The main part of the course deals with traditional relational database processing, including the theory and practice of modelling and querying a database. In the latter part of the course, the focus is on new developments for both traditional database applications and for modern data analytics applications. |
|||
Reference |
|||
|
- Introduction to Software Engineering
Course ID |
SE306 |
Course title |
Introduction to Software Engineering |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
None |
Requirement |
School |
Course description |
|||
The purpose of this course is to present software engineering as a body of knowledge. The course is designed to present software engineering concepts and principles in parallel with the software development life cycle. The course will begin with an introduction to software engineering, giving you a definition of this body of knowledge, as well as a discussion of the main methodologies of software engineering. You will then learn about the Software Development Life Cycle (SDLC), major methodologies followed by software modeling using Unified Modeling Language (UML), a standardized general-purpose modeling language used to create visual models of object-oriented software |
|||
Reference |
|||
|
مقررات الفصل الدراسي الرابع
No # |
Course ID |
Course name |
Credits |
Pre-requisite |
Requirements |
19 |
IT401 |
Discrete Math |
3 |
IT301 |
School |
20 |
IT402 |
Data Structures |
3 |
IT303 |
School |
21 |
IT403 |
Multimedia Technology |
3 |
None |
School |
22 |
IT404 |
Introduction to Information System |
3 |
SE306 |
School |
23 |
IT405 |
Introduction to Programming .Net |
3 |
None |
School |
24 |
IT406 |
Advanced Database Systems |
3 |
IT305 |
School |
Total credits |
18 |
توصيف مقررات الفصل الدراسي الرابع
- Discrete Math
Course ID |
IT401 |
Course title |
Discrete Math |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
IT301 |
Requirement |
School |
Course description |
|||
This is a first course in discrete mathematics. Topics include number theory, sets, functions and sequences, relations, recurrence relations, counting techniques, logic and techniques of proof, graphs, and algorithms. The purpose of this course is to understand and use (abstract) discrete structures that are backbones of computer science. In particular, this class is meant to introduce logic, proofs, sets, relations, functions, counting, and probability, with an emphasis on applications in computer science |
|||
Reference |
|||
|
- Data Structures
Course ID |
IT402 |
Course title |
Data Structures |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
IT303 |
Requirement |
School |
Course description |
|||
This course introduces the advanced programming topics focused on logical structures of data as well as the design, implementation and analysis of algorithms operating on these structures, graphs and An overview of data structure concepts, arrays, stack, queues, trees, graphs and analysis of efficiency.. Discussion of various implementations of these data objects, programming styles, and run-time representations. Course also examines algorithms for sorting, searching and some graph algorithm |
|||
Reference |
|||
|
- Multimedia Technology
Course ID |
IT403 |
Course title |
Multimedia Technology |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
None |
Requirement |
School |
Course description |
|||
Multimedia Technologies is an indispensable part of modern computing environments. This course will explain the technologies underlying digital images, videos and audio contents, including various compression techniques and standards, and the issues to deliver multimedia content over the Internet. The component of multimedia elements are also provided in this course. |
|||
Reference |
|||
|
- Introduction to Information System
Course ID |
IT404 |
Course title |
Introduction to Information System |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
SE306 |
Requirement |
School |
Course description |
|||
Introduction to Business Information Technology is based on the fundamental premise that the major role of information technology (IT) is to support organizational personnel, regardless of their functional area or level in the organization. Topics include hardware and software fundamentals, use of software packages, effective use of networks, Internet, and other communication tools, the design of management information systems, as well as the ethical use of computers in business and society. Hands-on experience is provided |
|||
Reference |
|||
|
- Introduction to Programming .Net
Course ID |
IT405 |
Course title |
Introduction to Programming.Net |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
None |
Requirement |
School |
Course description |
|||
This course provides an introduction to software development in visual basic (VB) programming language in the Microsoft .NET environment. Students practice development of programs in VB using the Microsoft Visual Studio Integrated Development Environment (IDE). The course presents elements of the VB language including decisions, loops, arrays, and exception handling. Topics include object-oriented programming, methods, collections, file input and output, and databases. Emphasis is on the creation of object-oriented, hands-on programming projects as an integral part of the course |
|||
Reference |
|||
|
- Advanced Database Systems
Course ID |
IT406 |
Course title |
Advanced Database Systems |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
IT305 |
Requirement |
School |
Course description |
|||
The course presupposes a basic knowledge of conceptual modelling for data base systems and implementation using relational DBMS and SQL. The covered topics include database architecture, storage manager, data models, indexing, transaction processing (ACID, concurrency control), crash recovery, parallel architectures (multi-core, distributed). These topics will be valuable to students who plan to work in the data science industry but also to students who want to do research in the area of data management. The programming component of this course will writing SQL queries. |
|||
Reference |
|||
|
مقررات الفصل الدراسي الخامس
No # |
Course ID |
Course name |
Credits |
Pre-requisite |
Requirements |
25 |
SE501 |
Introduction to Computer Networks |
3 |
None |
Department |
26 |
SE502 |
Computer Architecture |
3 |
None |
Department |
27 |
SE503 |
Numerical Analysis I |
3 |
IT301 |
Department |
28 |
SE504 |
Software Requirements & Specifications (SRS) |
3 |
SE306 |
Department |
29 |
SE505 |
Software Development Process |
3 |
SE306 |
Department |
30 |
SE506 |
Data Analysis & Algorithms |
3 |
IT402 |
Department |
Total credits |
18 |
توصيف مقررات الفصل الدراسي الخامس
- Introduction to Computer Netowrks
Course ID |
SE501 |
Course title |
Introduction to Computer Networks |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
None |
Requirement |
Department |
Course description |
|||
The main emphasis of this course is on the organization and management of local area networks (LANs). The course objectives include learning about computer network organization and implementation, obtaining a theoretical understanding of data communication and computer networks, and gaining practical experience in installation, monitoring, and troubleshooting of current LAN systems. Students are introduced to computer communication network design and its operations, and discuss the following topics: Open Systems Interconnection (OSI) communication model; error detection and recovery; local area networks; bridges, routers and gateways; network naming and addressing; and local and remote procedures. On completion of the course, students should be able, in part to design, implement and maintain a typical computer network (LAN). |
|||
Reference |
|||
|
- Computer Architecture
Course ID |
SE502 |
Course title |
Computer Architecture |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
None |
Requirement |
Department |
Course description |
|||
This course provides students with a solid understanding of fundamental architectural techniques used to build today’s high-performance processors and systems. Course topics include pipelining, superscalar, out of order execution, multithreading, caches, virtual memory, and multiprocessors. It covers data representation, basic digital logic circuits, memory types and hierarchies, I/O and Storage devices, CPU architectures such as RISC, CISC, parallel, multi-core and GPGPU systems |
|||
Reference |
|||
|
- Numerical analysis I
Course ID |
SE503 |
Course title |
Numerical Analysis I |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
IT301 |
Requirement |
Department |
Course description |
|||
This course will emphasize the development of numerical algorithms to provide solutions to common problems formulated in science and engineering. The primary objective of the course is to develop the basic understanding of the construction of numerical algorithms, and perhaps more importantly, the applicability and limits of their appropriate use. The emphasis of the course will be the thorough study of numerical algorithms to understand (i) the guaranteed accuracy that various methods provide, (ii) the efficiency and scalability for large scale systems. and (iii) issues of stability. Topics include the standard algorithms for numerical computation |
|||
Reference |
|||
|
- Software Requirements Specification
Course ID |
SE504 |
Course title |
Software Requirements & Specification |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
SE306 |
Requirement |
Department |
Course description |
|||
Software requirements engineering is the process of determining what is to be produced in a software system. The course will also discuss the concepts for systematically establishing, defining and managing the requirements for a large, complex, changing and software-intensive systems, from technical, organizational and management perspectives. The use of standardized documents, IEEE, ISO, Volere, to document the requirements is included in this course. |
|||
Reference |
|||
|
- Software Development Process
Course ID |
SE505 |
Course title |
Software Development Process |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
SE306 |
Requirement |
Department |
Course description |
|||
The development of software system is a complex and intensive task due to its complexity and constant demanding on evolution to better more efficient versions. This process cannot be managed with ad-hoc approaches and models. The modern development of software system requires more robust and flexible pre-defined process models to guarantee that quality of the produced product. Following protocol in software development boost the development in more formal and productive direction. Thus, this course offers a variety of software process models to produce quality software products. These models are different in the way to manage development from raw idea to final product. Students enrolled in this course should employ one of the models in the graduation plan. |
|||
Reference |
|||
|
- Data Analysis & Algorithms
Course ID |
SE506 |
Course title |
Data Analysis & Algorithms |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
IT402 |
Requirement |
Department |
Course description |
|||
This course introduces basic methods for the design and analysis of efficient algorithms emphasizing methods useful in practice. Different algorithms for a given computational task are presented and their relative merits evaluated based on performance measures. The following important computational problems will be discussed: sorting, searching, elements of dynamic programming and greedy algorithms, advanced data structures, graph algorithms (shortest path, spanning trees, tree traversals), string matching, elements of computational geometry, NP completeness. |
|||
Reference |
|||
|
مقررات الفصل الدراسي السادس
No # |
Course ID |
Course name |
Credits |
Pre-requisite |
Requirements |
31 |
SE601 |
Operating Systems |
3 |
SE502 |
Department |
32 |
SE602 |
Advanced Internet Programming |
3 |
IT405 |
Department |
33 |
SE603 |
Software Design & Architecture |
3 |
SE504 SE506 |
Department |
34 |
SE604 |
Human Computer Interaction |
3 |
SE306 |
Department |
35 |
SE605 |
Re-use & Component Based Development |
3 |
SE505 |
Department |
36 |
SE606 |
Ethics of the Profession |
3 |
None |
Department |
Total credits |
18 |
توصيف مقررات الفصل الدراسي السادس
- Operating Systems
Course ID |
SE601 |
Course title |
Operating Systems |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
SE502 |
Requirement |
Department |
Course description |
|||
Introduction to Operating Systems is a graduate-level introductory course in operating systems. This course teaches basic operating system abstractions, mechanisms, and their implementations. The core of the course focuses on OS support for concurrency (threads) and synchronization, resource management (CPU, memory, I/O), and distributed services. The practical component of the course teaches multithread programming, inter-process communication, and distributed interactions |
|||
Reference |
|||
|
- Advanced Internet Programming
Course ID |
SE602 |
Course title |
Advanced Internet Programming |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
IT405 |
Requirement |
Department |
Course description |
|||
In this subject, student create sophisticated web applications for deployment to production. The subject provides knowledge and skills in advanced internet technologies particularly related to server-side internet programming and business-to-business systems. It covers topics relevant to advanced internet programming including web development stacks, n-tier architectures, standards, transactions, security, dependency injection, layering, web-service integration, and deployment. |
|||
Reference |
|||
|
- Software Design & Architecture
Course ID |
SE603 |
Course title |
Software Design & Architecture |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
SE504 – SE506 |
Requirement |
Department |
Course description |
|||
Object-oriented technology has become the dominant programming style in late decades. Due to this popularity, software engineering has adopted new analysis and design models to support object-oriented methodology. Therefore, this course aims at develop a solid understanding of software design concepts, i.e., modularity, data abstraction, information hiding and functional independence. Design patterns are also included in this course as a solution to the most common design problems faced by designers. The Unified Modeling Language UML is used to model and visualize the processes and represent software architecture and structure. |
|||
Reference |
|||
|
- Human Computer Architecture
Course ID |
SE604 |
Course title |
Human Computer Interaction |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
SE306 |
Requirement |
Department |
Course description |
|||
This course provides an introduction to and overview of the field of human-computer interaction (HCI). HCI is an interdisciplinary field that integrates theories and methodologies from computer science, cognitive psychology, design, and many other areas. The central focus of the course is a semester-long team project, in which students will design, implement and evaluate a user interface |
|||
Reference |
|||
|
- Reuse & Component-based Development
Course ID |
SE605 |
Course title |
Re-use & Component-Based Development |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
SE505 |
Requirement |
Department |
Course description |
|||
Detailed study of interlocking business, organizational, and technical issues in large-scale software reuse and component-based software engineering. Topics include architecture, design for reuse, domain engineering, model-driven development, domain-specific kits, components, frameworks, software agents, generators, problem-oriented languages, library design, reuse tools, patterns, and aspects. Assumes prior exposure to software engineering topics. |
|||
Reference |
|||
|
- Ethics of the Profession
Course ID |
SE606 |
Course title |
Ethics of the Profession |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
None |
Requirement |
Department |
Course description |
|||
A study of ethical principles and of ethical problems in the professional world. The course is intended to provide students with the ability to analyze ethical situations within a specific profession such as health care, business, and public administration. This course is also designed to familiarize students with professional practice in computer science, and to enable them to: identify ethical conflicts, identify their responsibilities and options, and think through the implications of possible solutions to ethical conflicts |
|||
Reference |
|||
|
مقررات الفصل الدراسي السابع
No # |
Course ID |
Course name |
Credits |
Pre-requisite |
Requirements |
37 |
SE701 |
Software Metrics and Testing |
3 |
SE306 |
Department |
38 |
SE702 |
Formal Specifications & Design Methods |
3 |
SE505 |
Department |
39 |
SE703 |
Distributed Systems |
3 |
SE601 |
Department |
40 |
SE704 |
Artificial Intelligence |
3 |
SE506 |
Department |
41 |
SE705 |
Technical Writing Projects |
3 |
None |
Department |
42 |
SE706 |
Graduation Project I |
3 |
None |
Department |
Total credits |
18 |
توصيف مقررات الفصل الدراسي السابع
- Software Metrics and Testig
Course ID |
SE701 |
Course title |
Software Metrics and Testing |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
SE306 |
Requirement |
Department |
Course description |
|||
The objective of this course is to provide students with a working knowledge of the state of research and practice on software product and process evaluation and improvement. Students completing this course should be able to evaluate both software artifacts and software processes. Software product evaluation includes the evaluation of external characteristics such as usability and functionality, as well as internal characteristics such as design structure, testability and maintainability. Software process evaluation addresses the problem of understanding the software development process, assessing the quality of the process, and developing plans for process improvement |
|||
Reference |
|||
|
- Formal Specifications and Design Methods
Course ID |
SE702 |
Course title |
Formal Specifications & Design Methods |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
SE505 |
Requirement |
Department |
Course description |
|||
Complex large software systems often have intricate system states and process control structures involving concurrency and real-time interactions. A major problem in developing such large software systems is to be able to initially characterize precisely what is to be built. Recently developed methods for tackling this problem are based on mathematics and logic (so-called formal specification, a critical part of formal methods). |
|||
Reference |
|||
|
- Distributed Systems
Course ID |
SE703 |
Course title |
Distributed Systems |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
SE601 |
Requirement |
Department |
Course description |
|||
Distributed systems help programmers aggregate the resources of many networked computers to construct highly available and scalable services. This class teaches the abstractions, design and implementation techniques that enable the building of fast, scalable, fault-tolerant distributed systems. A selection of topics from the following: the challenges faced in constructing client/server software: partial system failures, multiple address spaces, absence of a single clock, latency of communication, heterogeneity, absence of a trusted operating system, system management, binding and naming. |
|||
Reference |
|||
|
- Artificial Intelligence
Course ID |
SE704 |
Course title |
Artificial Intelligence |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
SE506 |
Requirement |
Department |
Course description |
|||
This course gives a basic introduction to machine learning and artificial intelligence. Through an algorithmic approach, the students are given a practical understanding of the methods being taught, in particular through making their own implementations of several of the methods. The course covers supervised classification based on e.g., artificial neural networks (deep learning), as well as unsupervised learning (clustering), regression, optimization (evolutionary algorithms and other search methods) and reinforcement learning, in addition to design of experiments and evaluation. |
|||
Reference |
|||
|
- Technical Writing Projects
Course ID |
SE705 |
Course title |
Technical Writing Projects |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
None |
Requirement |
Department |
Course description |
|||
Reference |
|||
- Graduation Project I
Course ID |
SE706 |
Course title |
Graduation Project I |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
None |
Requirement |
Department |
Course description |
|||
Preparatory studies of the literature and data collection for the graduation project in a particular area of concentration and under the supervision of one of the faculty members. The course covers directed readings in the literature of civil engineering, introduction to research methods, seminar discussions dealing with special engineering topics of current interest. Planning, design, construction and management of an engineering project. Writing a technical report. |
|||
Reference |
|||
مقررات الفصل الدراسي الثامن
No # |
Course ID |
Course name |
Credits |
Pre-requisite |
Requirements |
43 |
SE801 |
Software Maintenance and Evolution |
3 |
SE701 |
Department |
44 |
SE802 |
Software Quality |
3 |
SE603 |
Department |
45 |
SE803 |
Software Project Management |
3 |
SE306 |
Department |
46 |
SE804 |
Agents Systems |
3 |
SE603 |
Department |
47 |
SE805 |
Software Design Patterns |
3 |
SE701 |
Department |
48 |
SE806 |
Graduation Project II |
3 |
SE706 |
Department |
Total credits |
18 |
توصيف مقررات الفصل الدراسي الثامن
- Software Maintenance and Evolution
Course ID |
SE801 |
Course title |
Software Maintenance and Evolution |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
SE701 |
Requirement |
Department |
Course description |
|||
Evolving a software system, to ensure its continued integration and usefulness, is complex, human-intensive, costly, and an error-prone process. Therefore, practitioners are continually designing creative techniques and tools to improve maintenance and evolution. These techniques rely using data mining and intelligent and machine learning algorithms to tackle maintainability problems and software refactoring. This course explores the foundations of software maintenance by introducing several challenges linked to software evolution along with support tools to approach them. Also, the course covers various concepts related of software analysis and testing, along with practical tools. |
|||
Reference |
|||
|
- Software Quality
Course ID |
SE802 |
Course title |
Software Quality |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
SE603 |
Requirement |
Department |
Course description |
|||
This course introduces concepts, metrics, and models in software quality assurance. The course covers components of software quality assurance systems before, during, and after software development. It presents a framework for software quality assurance and discuss individual components in the framework such as planning, reviews, testing, configuration management. It also discusses metrics and models for software quality as a product, in process, and in maintenance. The course will include case studies and hands on experiences. Students will develop an understanding of software quality and approaches to assure software quality. |
|||
Reference |
|||
|
- Software Project Management
Course ID |
SE803 |
Course title |
Software Project Management |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
SE306 |
Requirement |
Department |
Course description |
|||
This course is aimed at introducing the primary important concepts of project management related to managing software development projects. They will also get familiar with the different activities involved in Software Project Management. Further, they will also come to know how to successfully plan and implement a software project management activity, and to complete a specific project in time with the available budget |
|||
Reference |
|||
|
- Agent Systems
Course ID |
SE804 |
Course title |
Agent Systems |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
SE603 |
Requirement |
Department |
Course description |
|||
The course gives an overview of the main aspects of multi-agent systems, for example coordination of the behavior of various agents sharing the same environment. Both cooperative and selfish agents and interactions between them will be discussed. Central to the course is interaction protocols such as auctions, negotiations, etc. Game theory will be a significant part of the course |
|||
Reference |
|||
|
- Software Design Patterns
Course ID |
SE805 |
Course title |
Software Design Patterns |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
SE701 |
Requirement |
Department |
Course description |
|||
This course approaches object-oriented software design from three perspectives: the software engineering principles that enable development of quality software, the modeling of software components using the Unified Modeling Language (UML), and the application of design patterns as a means of reusing design models that are accepted best practices. |
|||
Reference |
|||
|
- Graduation Project II
Course ID |
SE806 |
Course title |
Graduation Project II |
Program |
Bachelor |
Credits |
3 |
Pre-requisite |
SE706 |
Requirement |
Department |
Course description |
|||
The graduation project challenges students to go beyond the learning that occurs as the result of their prescribed educational program by developing projects that demonstrate their intellectual, technical and creative abilities. Students shall complete their projects in areas of concentrated study under the direction and supervision of faculty members. The projects will demonstrate the students’ ability to apply, analyze, synthesize, evaluate information, and communicate significant knowledge and comprehension. Personal growth and satisfaction are associated with the graduation projects. Students will derive sense of accomplishment through the completion and “ownership” of bodies of works that are reflections of their interests and abilities. Opportunities to expand their personal knowledge and explore careers and apply learning to real life situations will serve to benefit the students’ growth and promote lifelong learning |
|||
Reference |
|||