Engineering
Software Engineering
Overview of the Program
Language English
Duration 3 Years
Level Undergraduate
Approach Hybrid
The Software Engineering program is designed to give students a thorough understanding of the specification, development, implementation, testing, maintenance, and evolution of software systems ranging from embedded systems to large information systems. Training in the core traditional areas of computer science and engineering is coupled with exposure to emerging trends and computing models such as cloud computing, sensor networks, and big data. Graduates also benefit from a solid training in business management and entrepreneurship. During the final year of the program, students can select one of three potential specialization tracks: (i) Web and Mobile Development, (ii) Artificial Intelligence, or (iii) Cybersecurity & BlockChain.
Admission requirements
Students can join the engineering program through one of several possible avenues. The first is successfully completing the foundational pre-engineering program at MUST. The second is completing the pre-engineering program at an accredited Tunisian university and then passing the national pre-engineering exam. In this case, students must also demonstrate sufficient command of the English language as demonstrated by a good performance in one of the international standardized tests such as TOEFL or TOEIC. Additionally, students can apply to join the engineering program after successfully completing a Licence degree in a related discipline while demonstrating a strong academic record.
Program objectives
After successful completion of the program, students shall be qualified to:
- Master the various stages of the software life cycle from requirements analysis to design, implementation, testing, and maintenance.
- Lead a team to design innovative software solutions to complex engineering and business problems.
- Evaluate, select, integrate and maintain complex software applications to achieve business objectives.
Target careers
Within a few years of successfully completing the Software Engineering program, graduates are expected to be:
- Employed in industry and demonstrating career advancement through leadership responsibility, significant technical achievement, or other recognition of their contributions.
- Continuing their formal education towards a graduate degree or other professional certification in the field, or leading their own technology venture.
- Applying gained knowledge and expertise to design, develop, implement, and maintain complex software applications and systems.
- Working as software engineers, analysts, architects, and consultants as well as research engineers, or information system managers.
- Demonstrating an in-depth understanding of the software development challenges faced by industry and society and the state-of-the-art approaches, concepts, techniques, and tools that can be used to elaborate software applications to specifications, on time, and within budgets. Responsible, thanks to an understanding of the ethical, privacy and sustainable development issues for today’s industry and society.
Certifications
Graduates of the software engineering program often acquire a number of professional certifications in parallel with their engineering training thanks to the courses offered by MUST’s centre for professional and executive education.
Certifications are available in various areas including system & network management, cloud computing, cybersecurity, data science, and database management.
Program course description
Semester 1 | ||||
---|---|---|---|---|
Course Code | Course Title | Credits | Coefficient | Mode |
TMATH 348 | Graph Theory & Applications | 5 | 5 | Hybird |
CS 303 | Operating Systems | 6 | 6 | Hybird |
CS 331 | Database Management Systems | 6 | 6 | Hybird |
TCS 321 | Principles of Software Engineering | 5 | 5 | Hybird |
TCS 370 | User Interfaces and Human Computer Interaction | 3 | 3 | Hybird |
ACC 101 | Principles of Accounting | 5 | 5 | Hybird |
Semester 2 | ||||
---|---|---|---|---|
Course Code | Course Title | Credits | Coefficient | Mode |
CS 420 | Design and implementation of programming languages | 5 | 5 | Hybird |
CS 411 | Computer Networks | 5 | 5 | Hybird |
CS 425 | Web Application Development | 5 | 5 | Hybird |
CS 421 | Software Modeling and Analysis | 5 | 5 | Hybird |
CS 428 | Software Testing and Quality Assurance | 5 | 5 | Hybird |
H.ELECTV | Humanities Elective | 5 | 5 | Hybird |
Semester 3 | Web and Mobile Development Track | |||
---|---|---|---|---|
Course Code | Course Title | Credits | Coefficient | Mode |
CS 423 | Software Design and Architecture | 5 | 5 | Hybird |
CS 442 | Advanced Algorithm Design and Analysis | 5 | 5 | Hybird |
CS 424 | E-Commerce Application Development | 5 | 5 | Hybird |
CS 412 | Computer and Network Security | 5 | 5 | Hybird |
ISS 485 | Entrepreneurial Design Thinking | 5 | 5 | Hybird |
P.ELECTV | Entrepreneurship and Practical Training Elective | 5 | 5 | Hybird |
Semester 4 | Web and Mobile Development Track | |||
---|---|---|---|---|
Course Code | Course Title | Credits | Coefficient | Mode |
CS 422 | Software Requirements Analysis and Specification | 5 | 5 | Hybird |
CS 441 | Theory of Computation & complexity | 5 | 5 | Hybird |
CS 426 | Mobile Application Development | 5 | 5 | Hybird |
CS 451 | Distributed Systems | 5 | 5 | Hybird |
CS 429 | Software Process & Project Management | 5 | 5 | Hybird |
H.ELECTV | Humanities Electives | 5 | 5 |
Semester 5 | ||||
---|---|---|---|---|
Course Code | Course Title | Credits | Coefficient | Mode |
T.ELECTV | Technical Elective | 5 | 5 | Hybird |
T.ELECTV | Technical Elective | 5 | 5 | Hybird |
PHIL 422 | Contemporary Issues in Ethics | 5 | 5 | Hybird |
MGMT 281 | Leadership Development | 5 | 5 | Hybird |
S.ELECTV | Social Analysis and Decision-Making Elective | 5 | 5 | Hybird |
P.ELECTV | Entrepreneurship and practical training elective | 5 | 5 | Hybird |
Semester 6 | ||||
---|---|---|---|---|
Course Code | Course Title | Credits | Coefficient | Mode |
ISS 522 | Capstone Project | 30 | 30 |