The Study Program

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