
SOFTWARE DESIGN
This course provides an overview of the software
engineering process. Topics include requirement analysis, analysis modeling,
software design fundamentals, software testing, quality assurance, quality
processes and software maintenance. Principles of object-oriented programming,
programming languages, and object-oriented modeling are also discussed

Mathematics in the Modern World
This course deals with the nature of mathematics, appreciation of its practical, intellectual, and aesthetic dimensions, and application of mathematical tools in daily life. The course begins with an introduction to the nature of mathematics as an exploration of patterns and as an application of inductive and deductive reasoning. By exploring these topics, students are encouraged to go beyond the typical understanding of mathematics as merely a set of formulas that is study of mathematical language and symbols but as a source of aesthetics in patterns of nature, for example, and a rich language in solving problem governed by logic and reasoning. The course then proceeds to survey ways in which mathematics provides a tool for understanding and dealing with various aspects of present-day living. These mathematics as a tool include mathematical system, data management, logic, and mathematics of graphs. These aspects will provide opportunities for doing mathematics in a broad range of exercises that bring out the various dimensions of mathematics as a way of knowing and test the students’ understanding and capacity.

DATA STRUCTURES AND ALGORITHMS
This course provides an introduction to computer algorithms and data structures. It covers the design, analysis, and implementation of data structures and algorithms to solve engineering problems using and aobject-oriented programming language. Topics include elementary data structures, (including arrays, stacks, queues, and lists), advance data structures (including trees and graphs), the algorithms used to manipulate these structures, and their application to solving practical engineering problems, and other topics that include sorting and searching algorithms.

CPE Laws and Professional Practice (BSCpE 3rd Year)
This course provides the importance of the professional and ethical responsibilities of practicing computer engineers and the effects of their
work on society, the importance of understanding contemporary issues, lifelong learning strategies, and applicable IT laws in the field of
computer engineering.

Discrete Mathematics
This
course includes the study of the foundations of logics and proofs; basic
structures of sets, functions, sequences, sums, and matrices; algorithms;
number theory and cryptography; induction and recursion; counting; discrete
probability; advanced counting techniques; relations; graphs; trees; Boolean
Algebra; and modeling computation.