Recent developments in computer hardware, software, and communication technologies have offered new exciting opportunities and challenges for the creation of innovative learning environments for Computer Science and its curricula design. One of the key elements here is to prepare the graduates for the future. The challenge of getting all newly emerging technologies incorporated into the curriculum is becoming pivotal for curricula effectiveness. There is a need for curricula structure that can grow as we put new demands on it. The curriculum is required to provide integration of all components and the foundations that allow accessing to all the latest knowledge and technology to fulfill the vision of the future.

The primary intention of an academic program in Computer Science is to develop the student’s critical professional thinking and intuition. The curriculum must be structured to provide a balanced mixture of theory and practical experiences at foundation and advance levels to make the graduate capable of sound professional decisions. As a result, the graduate should assume responsible positions in business, government and at research level. The Program should also provide an excellent foundation for further formal learning and training.

The Computer Science curriculum is expected to provide an environment to put into practice the principles and techniques learned the implementation of the academic Program. The following summarizes some key characteristics for consideration as a basis of a successful academic program in Computer Science.