FIRST YEAR
Fall Semester
Code  Title 
Prereq.

Credits


CHEM101  Chemistry 
4


CS122  Prog. and Problem Solving 
4


ENG101  English I 
3


MAT101  Calculus I 
4


MAT111  Linear Algebra 
3


PHY101  Physics I 
4


Total Credits 
22

Spring Semester
Code  Title 
Prereq.

Credits


CS132  Object Oriented Programming 
CS122

3

ENG102  English II 
ENG101

3

MAT102  Calculus II 
MAT101

4

MAT122  Discrete Mathematics 
3


PHY102  Physics II 
PHY101

4

AIT101  Reforms 
0


TUR100  Students 
0


Total Credits 
17

SECOND YEAR
Fall Semester
Code  Title 
Prereq.

Credits


CS221  Algorithms 
CS132

3

ECE201  Digital Circuits and Systems 
MAT122

3

MAN201  Introduction to Management 
3


MAT250  Probability and Statistics 
MAT111

4

SE201  Principles of Software Eng. 
CS132

3

Total Credits 
16

Spring Semester
Code  Title 
Prereq.

Credits


CE254  Computer Organization 
ECE201

3

CS222  Database Systems 
CS221

3

ECO202  Introduction to Economics 
3


SE202  Software Construction 
SE201

4

SE234  HumanComputer Interaction 
SE201

3

Total Credits 
16 
THIRD YEAR
Fall Semester
Code  Title 
Prereq.

Credits


CS323  Operating Systems 
CE254

3

CS330  Programming Languages I 
CS221

3

ISE303  Management Information Systems 
MAN201

4

SE301  Software Design and Architecture 
SE202

4

NTE  Elective (NonTechnical) 
3


Total Credits 
17

Spring Semester
Code  Title 
Prereq.

Credits


CS322  Internet Programming 
CS330

3

ECE322  Networking and Data Communications 
ECE201

3

ENG302  Technical Report Writing and Presentation 
ENG102

3

SE302  Software Quality Assurance and Testing 
SE301

4

SE304  Software Requirements Analysis 
SE301

3

Total Credits 
16

FOURTH YEAR
Fall Semester
Code  Title 
Prereq.

Credits


ISE403  Principles of Information Security 
ECE322

3

SE401  Software Project Management 
SE304

3

SE491  Senior Project I 
4


NTE  NonTechnical Elective 
3


TE  Technical Elective 
3


TE  Technical Elective 
3


Total Credits 
19

Spring Semester
Code  Title 
Prereq.

Credits


SE402  Information Ethics 
3


SE492  Senior Project II 
ISE491

4

TE  Technical Elective 
3


TE  Technical Elective 
3


TE  Technical Elective 
3


Total Credits 
16

Undergraduate Course Descriptions
CS122 Programming and Problem Solving
This course provides an introduction to fundamental concepts of programming and use of builtin data structures in solving problems using the Python generalpurpose programming language. In this course, students study how write userdefined functions using iteration as well as recursion. This course also stresses the importance of programming tools such as programming editors and debuggers. The students are expected to work within a GNU/Linux environment. The course provides a basic introduction into objectoriented programming.
CHEM101 General Chemistry
A basic course with emphasizing the metric system. Introduction to atomic theory, stoichiometry. The structural and physical properties of matter. Periodic relationship among elements and periodic table. Gaseous state. Thermochemistry. Energy and enthalpy. Electronic structure of atoms. Chemical bonding.
MAT101 Calculus I
Functions, limits and continuity. Derivatives. Mean value theorem. Sketching graphs. Definite integrals, infinite integrals (antiderivatives). Logarithmic, exponential, trigonometric and inverse trigonometric functions and their derivatives. L’Hospital’s rule. Techniques of integration. Applications of the definite integral, improper integrals.
PHY101 General Physics I
Measurement, vectors, kinematics, force, mass. Newton’s laws, applications of Newton’s laws. Work and kinetic energy. Conservation of linear momentum. Impulse, collisions, rotation, moments of inertia. Torque, angular momentum, conservation of angular momentum, static equilibrium.
CS132 Object Oriented Programming
This course provides an indepth discussion of objectoriented programming and how objectoriented programming can be used in solving reallife problems. This course requires a more advanced use of programming tools (mainly editors and debuggers) that were introduced in CS162 (Programming and Problem Solving). This course uses Python 3 to teach the fundamental concepts of objectoriented programming. The students are expected to work within a GNU/Linux environment. The course builds upon the knowledge of CS122 and CS221 and is the third course in line that uses Python as programming language. The students who wish to take this course are expected to have a good understanding of basic Python programming, data structures and algorithms.
MAT122 Discrete Mathematics
Sets and Logic, Proofs, Functions, Sequences and Relations, Algorithms, Introduction to Number Theory, Counting Methods and the Pigeonhole Principle, Recurrence Relations, Graph Theory, Trees, Network Models, Boolean Algebras and Combinatorial Circuits, Automata, Grammars and Languages, Computational Geometry.
CS221 Data Structures and Algorithms
This course comprises an introductory exploration into the design and implementation of Abstract Data Types (ADTs) along with the study of algorithm design and complexity analysis. Even though the discussions during lectures about ADTs are language independent, this course uses Python, a very highlevel general programming language, to implement these ideas using objectoriented programming. This class starts with a brief introduction to objectoriented programming.
ENG101 English I
This course offers intermediate levels include wide range of grammatical structures and vocabulary of English in order to built onto the foundation established at the Preparatory School. This course aims to bring the students to a level that will enable them fulfill the requirements of main courses of their departments. Students will be encouraged to read a variety of texts as well as chapters from textbooks so that they can pursue their undergraduate studies at the university without major difficulty. ENG 101 is designed to improve the students’ presentation ability. Students are expected to do an oral presentation. At the end of the course they submitted their written projects.
ENG102 English II
This course offers the students a wide range of grammatical structures and key language and vocabulary of English in the technical, industrial, and scientific sectors at intermediate level for everyday communication at work. This course aims to bring the students to a level that will enable them to ful fill the requirement so the main courses of the departments. The ability to evaluate, analyze and synthesize information in written discourse will be highlighted. Documentation in writing will be introduced at the beginning of the course, in order to solidly establish the skill by the end. Students will learn the discourse patterns and structures to be used in different essay types that they need for real life, handson tasks like explaining process, organizing schedules, reporting or progress, or analyzing risk.
MAT102 Calculus II
Plane and polar coordinates, area in polar coordinates, arc length of curves. Limit, continuity and differentiability of function of several variables, extreme values, method of Lagrange multipliers. Double integral, triple integral with applications. Line integrals, Green’s theorem. Sequences, infinite series, power series, Taylor’s series. Complex numbers.
MAT111 Linear Algebra
Systems of linear equations and Matrices : elementary row operations, echelon forms, Gaussian elimination method, matrices and matrix operations , invertible matrices, diogonal,triangular and symmetric matrices. Determinants: determinants by cofactor expantion ,evaluating determinants by row reduction,adjoint and inverse matrices, Cramer’s rule. Euclidean vector spaces: Euclidean nspace, linear transformation from R n to Rm.General vector spaces: Real vector spaces,subspaces, linear independence, basis and dimensions, row space ,column space,and nullspace, rank and nullity. Inner product spaces: inner products, orthogonality in inner product spaces,orthonormal bases,CauchySchwarz inequality, GramSchmidt orthogonalization,change of bases,orthogonal matrices. Eigenvalues and eigenvectors: Eigenvalues and eigenvectors,diagonalization,orthogonal diagonalization.
PHY102 General Physics II
Electrical charges. Coulomb’s law. Electrical fields. Gauss’s law. Electrical potential. Capacitance and dielectrics. Current and resistance. Direct current circuits. Magnetic fields. Sources of the magnetic field. Faraday’s law of induction. Inductance and inductors.
MAN201 Introduction to Management
Principles of management. Functions of managers. Organisation and environment. Marketing management. Production management. Personnel management. Managerial control. Accounting and financial reports. Budgeting and overall control.
ECE201 Digital Circuits and Systems
Digital Systems and Information, Combinational Logic Circuits, Combinational Logic Design, Arithmetic Functions and HDLs, Sequential Circuits, Selected Design Topics, Registers and Register Transfers, Memory Basics, Computer Design Basics, Instruction Set Architecture, RISC and CISC Processors, InputOutput and Communication, Memory Systems.
MAT250 Probability and Statistics
Statistics, Data and Statistical Thinking, Methods for Describing Sets of Data, Probability, Random Variables and Probability Distributions, Inferences Based on Samples, Design of Experiments and Analysis of Variance, Categorical Data Analysis, Simple Linear Regression, Multiple Regression and Model Building, Methods for Quality Improvement: Statistical Process Control, Time Series, Nonparametric Statistics.
ENG302 Technical Report Writing and P.
To reinforces and consolidates the language and 4 skills that students have learned from earlier courses, as well as developing their level of knowledge, communicative capacity, and ability to analyse and reflect on language. Course on upper intermediate AND ADVANCED levels include interesting and uptodate topics, encouraging students to recognize the importance of acquiring a foreign language in a modern context; prepare them to for their future professional life.
ECO202 Introduction to Economics
Principles and economic analysis of engineering decision making. Cost concept. Economic environment. Price and demand relations. Competition. Makeversuspurchase studies. Principles and applications of moneytime relations. Depreciation. Many and banking. Price changes and inflation. Business and company finance.
CS222 Database Systems
Introduction to Databases, Relational Data Model and SQL, Conceptual Modeling and Database Design, Models, Database Programming Techniques, Database Normalization Theory, File StructuresIndexing and Hashing, Query ProcessingOptimization and Database Tuning, Transaction ProcessingConcurrency Control and Recovery, Security and Distribution, Advanced Database ModelsSystems and Applications.
CE254 Computer Organisation
Introduction to computers. Microprogramming control. Memory organization. Input/output system. Nonstandard computer architectures, pipeline, RISC and vector computers.
CS323 Operating Systems
Principles of operating systems. Memory management. Multiprocessing. Virtual memory concepts. Memory protection. Scheduling. Process management. Timeslicing and priorities, deadlocks and process synchronization. Peripheral control. Filing system management. Resource control and monitoring. Linux and Windows Operating Systems.
CS330 Programming Languages I
Introduction to Visual Basic. Components of Visual Basic projects. Labels, text boxes, command buttons, list boxes, combo boxes, timers, image boxes, picture boxes. Organization of Forms and units. Properties of components and the available options. Events and event triggering. File structure of a Visual Basic project. Small Visual Basic application programs.
SE201 Introduction to Software Engineering
Principles of software engineering: Requirements, design and testing. Review of principles of object orientation. Object oriented analysis using UML. Frameworks and APIs. Introduction to the clientserver architecture. Analysis, design and programming of simple servers and clients. Introduction to user interface technology.
SE202 Software Construction
General principles and techniques for disciplined lowlevel software design. BNF and basic theory of grammars and parsing. Use of parser generators. Basics of language and protocol design. Formal languages. Statetransition and tablebased software design. Formal methods for software construction. Techniques for handling concurrency and interrocess communication. Techniques for designing numerical software. Tools for modelriven construction. Introduction to Middleware. Hotspot analysis and performance tuning.
SE234 Human Computer Interaction
Psychological principles of humancomputer interaction. Evaluation of user interfaces. Usability engineering. Task analysis, usercentered design, and prototyping. Conceptual models and metaphors. Software design rationale. Design of windows, menus, and commands. Voice and natural language I/O. Response time and feedback. Color, icons, and sound. Internationalization and localization. User interface architectures and APIs. Case studies and project.