“Le système de formation nord-américain adopté par l’IIHEM se distingue des autres écoles et offre aux étudiants une grande flexibilité.” Amina & Radia Saadaoui, IIHEM Laureates - 2010
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.
SEMESTER 1 | SEMESTER 2 | ||
---|---|---|---|
CODE | COURSE | CODE | COURSE |
ENG072 | Listening and Speaking | CMP120 | Computer Information Systems Applications |
ENG082 | Grammar | PHY105 | General Technical Physics I |
ENG092R | Reading | MAT115 | Analytic Geometry and Calculus II |
ENG092W | Writing | MAT135 | Linear Algebra II |
ENG062 | Preparation for the TOEFL | ENG100 | Fundamental Reading and Writing Skills |
MAT105 | Analytic Geometry and Calculus I | CHE200 | General Chemistry I |
MAT125 | Linear Algebra I |
SEMESTER 3 | SEMESTER 4 | ||
---|---|---|---|
CODE | COURSE | CODE | COURSE |
CMP150 | Advanced Computer Information Systems Applications | CMP130 | Introduction to Computer Programming |
PHY200 | General Technical Physics II | EE250 | Circuits and Systems |
CHE210 | General Chemistry II | CMP250 | Computer Information Systems Development |
MAT215 | Analytic Geometry and Calculus III | MAT225 | Mathematical Methods for Engineering Analysis |
ENG110 | Freshman Composition | IE240 | Management for Engineers I |
IE350 | Engineering Probability | ENG201 | Advanced Reading and Writing |
IE360 | Engineering Research Methods |
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 |
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 |
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 |
The Software and Network Engineering curriculum consists of intensive studies related to different aspects of the software life cycle coupled with in-depth studies in computer network design, deployment and maintenance. Its curriculum covers the fundamental theory and practice of computer science that are necessary for software engineers and computer network managers: design and development of algorithms, automata theory, computer architecture, software analysis and modeling, software design, artificial intelligence and computer networks. Graduates of the Software and Network Engineering program will be professionals involved in software development, software development management, information systems management, IT technology management, computer network development and computer network management.
Holders of software engineering diplomas may wish to pursue advanced studies in specialized fields related to their fields of study. Graduate university programs permit engineers to hone their skills and acquire professional profiles that are in great demand in the industrial and service sectors. Many software engineering and computer science university departments offer such graduate programs, leading to Master's and Doctoral degrees. Among the degree programs that can be pursued are the following:
Most of the above Master's programs also have a continuation path to a Doctoral program.
Copyright © 1988-2019 IIHEM - www.iihem.ac.ma
Home | Courseware | Webmail | Contact Us