The 2-year recommended curriculum is presented in Table No. 1. Students may spread out their studies over three years, in order to ease the burden on those who work full time or whoever requires supplemental courses. In total, the student is required to accumulate at least 38 credits, of which 5 are for required courses, 12 credits for the final project (appears in Table No. 1 as two semester courses) and 11 credits for elective courses. In the future, additional courses that have not yet been developed will be added to the list of elective courses that appear in Table No. 2.
The programs mandatory courses are: Advanced Methodologies for Software Development, Machine Learning, Software Quality Assurance and Improvement of Processes, Software Project Management, Software Development Team Management and Final Project.
The goal of the final project is to obtain an in-depth understanding of the curriculum subjects through conducting an actual project. In the framework of the project, the students will be engaged in solving a problem, whose solution requires coping with a complex algorithm or paradigm. The data regarding the problem will be provided by the project supervisor or by the organization. The students receive the problem data and the supervisor instructs them on how to perform the analysis, characterization and implementation. The project is conducted in groups according to the scope of the project. The final project includes in-depth study, including a literature review and implementation of all the life cycle stages of software development. Experience in conducting the project on a large scale is important for acquiring skills for managing and leading software projects. Evaluation of the project will include a personal component; and consequently, team members will be required to refer to the subjects for which they were responsible in the project. In the personal part of the evaluation of the project, the team members’ aptitude will be examined in the fields of their contribution.
The program’s elective courses include the following courses: Select Topics in Coding Theory, Approximation Algorithms, Advanced Algorithms in Bioinformatics, Seminar on Advanced Topics in Database Management Systems, Numeric Approximation Theory, Advanced Topics in Software Engineering, Ecological Systems Modeling, and Individualized Training in Software Engineering, Usability and User Interface. Not all elective courses will be offered every year and their number will be determined according to the number of students studying in the program in that year.
Table No. 1: Description of Recommended Curriculum
Year and Semester |
Course Name |
Lecture Hours |
Weekly Hours |
Credits |
Total |
Year 1
Winter Semester |
Advanced Methodologies for Software Development |
3 |
3 |
3.0 |
9
Hours,
9
Credits |
Machine Learning |
3 |
3 |
3.0 |
Elective Course1 |
3 |
3 |
3.0 |
Year 1 Spring Semester |
Software Project Management |
3 |
3 |
3.0 |
9
Hours,
9
Credits |
Advanced models in Computational Complexity Theory |
3 |
3 |
3.0 |
Elective Course1 |
3 |
3 |
3.0 |
Year 2
Winter Semester |
Software Quality Assurance and Process Improvement |
3 |
3 |
3.0 |
11
Hours,
11
Credits |
Advanced Numeric Analysis |
3 |
3 |
3.0 |
Elective Course1 |
2 |
2 |
2.0 |
Final project 1 |
3 |
3 |
3.0 |
Year 2 Spring Semester |
Temporal Logic and System Validation |
3 |
3 |
3.0 |
9
11
Hours,
11
Credits |
Elective Course1 |
3 |
3 |
3.0 |
Final project 2 |
3 |
3 |
3.0 |
|
Total: |
38 |
38 |
38 |
|
1 Elective courses appear in Table 2, each student will select at least 11 credits from this table
Table No. 2: Elective Courses
Course Name |
Lecture Hours |
Weekly Hours |
Credits |
Seminar oin Requirements Engineering2 |
3 |
3 |
3 |
Select Topics in the Coding Theory |
2 |
2 |
2 |
Aproximation Algorithms |
3 |
3 |
3 |
Seminar on Advanced Topics in Database Management Systems |
3 |
3 |
3 |
Numeric Approximation Theory |
3 |
3 |
3 |
Advanced Algorithms in
Bioinformatics |
3 |
3 |
3 |
Advanced Topics in Software Engineering |
3 |
3 |
3 |
Ecological Systems Modeling |
3 |
3 |
3 |
Usability and User Interfaces2 |
3 |
3 |
3 |
Individualized Training in Software Engineering |
3 |
3 |
3 |
2Students who have taken these courses as part of their first degree may not take them again