Software engineering is concerned with the requirements analysis, design, implementation, testing, production, improvement and maintenance of complex software systems that behave reliably and efficiently and are deployed in local or networked environments. Software engineering differs from other engineering disciplines due to the intangible nature of software and to the rapid development of the software life cycle. It seeks to integrate the principles of mathematics and computer science with the engineering practices developed for tangible, physical artifacts.
Software Engineering education is designed to enhance the ability to apply the principles and techniques of computer science, engineering and mathematical analysis to the software development process. Software engineers must be capable of developing complex application software or designing computer-based systems that pilot different types of computer systems or components (embedded systems), allowing such systems to perform together seamlessly. Software engineers may also be engaged as information system specialists, primarily concerned with the information that computer systems can provide to aid an enterprise in defining and achieving its goals, and the processes that an enterprise can implement and improve using information technology. They understand both technical and organizational factors and help an organization determine how information and technology-enabled processes can provide a competitive advantage.
| YEAR ONE |
 |
 |
 |
 |
 |
| SEMESTER 1 |
SEMESTER 2 |
| CODE |
COURSE |
CODE |
COURSE |
| ENG077 |
Listening and Initiation to TOEFL |
CMP132 |
Introduction to Computer Programming |
| ENG088 |
Grammar |
PHY105 |
General Technical Physics I |
| ENG099 |
Reading and Writing |
MAT115 |
Analytic Geometry and Calculus II |
| MAT105 |
Analytic Geometry and Calculus I |
MAT135 |
Linear Algebra II |
| MAT125 |
Linear Algebra I |
CMP105 |
Discrete Structures I |
| CMP122 |
Computer Information Systems Applications |
ENG100 |
Fundamental Reading and Writing Skills |
| AF100 |
Techniques de Communication I |
AF110 |
Techniques de Communication II |
 |
| YEAR TWO |
 |
 |
 |
 |
 |
| SEMESTER 3 |
SEMESTER 4 |
| CODE |
COURSE |
CODE |
COURSE |
| CMP240 |
Structured and Object Oriented Programming |
CMP340 |
Information Systems Programming |
| PHY200 |
General Technical Physics II |
EE250 |
Circuits and Systems |
| CHE200 |
General Chemistry I |
CHE210 |
General Chemistry II |
| MAT215 |
Analytic Geometry and Calculus III |
MAT225 |
Mathematical Methods for Engineering Analysis |
| IE240 |
Management for Engineers I |
PHY210 |
Statics and Dynamics |
| ENG110 |
Freshman Composition |
ENG201 |
Advanced Reading and Writing |
| IE350 |
Engineering Probability |
IE360 |
Engineering Research Methods |
 |
| YEAR THREE |
 |
 |
 |
 |
 |
| SEMESTER 5 |
SEMESTER 6 |
| CODE |
COURSE |
CODE |
COURSE |
| CMP305 |
Discrete Structures II |
CMP330 |
Data Structures |
| CMP315 |
Numerical Methods with Programming |
CMP370 |
Database Management |
| OR325 |
Operations Research Techniques I |
CMP375 |
Automata, Computability and Complexity |
| EE340 |
Electronic Devices |
OR335 |
Operations Research Techniques II |
| IE390 |
Engineering Economy I |
CMP410 |
Program Specification and Design |
| CMP360 |
Introduction to Computer Systems |
IE475 |
Management for Engineers II |
| ENG210 |
Analytical Reading and Writing Skills |
IE395 |
Engineering Economy II |
 |
| YEAR FOUR |
 |
 |
 |
 |
 |
| SEMESTER 7 |
SEMESTER 8 |
| CODE |
COURSE |
CODE |
COURSE |
| CMP320 |
Information Systems Analysis and Design |
EE325 |
Digital Design |
| CMP420 |
Machine Architecture |
CMP560 |
Advanced Computer Networks |
| CMP445 |
Analysis of Algorithms |
CMP415 |
Management Information Systems |
| CMP480 |
Software Engineering |
CMP425 |
Operating Systems |
| CMP450 |
Computer Networks and Protocols |
CMP470 |
Artificial Intelligence |
| MNG405 |
Technical Communication |
CMP430 |
Computer Graphics |
 |
| YEAR FIVE |
 |
 |
 |
 |
 |
| SEMESTER 9 |
SEMESTER 10 |
| CODE |
COURSE |
CODE |
COURSE |
| CMP475 |
Software Project Management |
CMP537 |
Advanced Information Technology Systems |
| CMP520 |
Programming Languages and Compilers |
CMP575 |
Software Engineering Laboratory II |
| CMP570 |
Software Engineering for Web Applications |
EE560 |
Embedded Systems II |
| EE550 |
Embedded Systems I |
CMP592 |
Senior Project in Software and Networks Engineering |
| MNG415 |
Advanced Technical Communication |
|
|
| CMP545 |
Software Engineering Laboratory I |
|
|
 |