a series of events covering a broad spectrum of software-related topics. The conference covered f... more a series of events covering a broad spectrum of software-related topics. The conference covered fundamentals on designing, implementing, testing, validating and maintaining various kinds of software. The tracks treated the topics from theory to practice, in terms of methodologies, design, implementation, testing, use cases, tools, and lessons learnt. The conference topics covered classical and advanced methodologies, open source, agile software, as well as software deployment and software economics and education. The conference had the following tracks: ï‚· Advances in fundamentals for software development ï‚· Advanced mechanisms for software development ï‚· Advanced design tools for developing software ï‚· Software engineering for service computing (SOA and Cloud) ï‚· Advanced facilities for accessing software ï‚· Software performance ï‚· Software security, privacy, safeness ï‚· Advances in software testing ï‚· Specialized software advanced applications ï‚· Web Accessibility ï‚· Open source software ï‚· A...
Auditory Rehabilitation for children with cochlear implants is part of the implant process. Young... more Auditory Rehabilitation for children with cochlear implants is part of the implant process. Young children with a cochlear implant require a comprehensive rehabilitation program to help them utilize the auditory signal and to naturally integrate the various components of communication including listening, speech, language, reading and thinking. In this paper, we introduce "9ootik We9al" which is an e-learning environment for a rehabilitation program for Arabic speaking children with cochlear implants developed by us. It can be used in clinics, hospitals or schools. The purpose of the project is to provide Arabic speaking children with hearing impairment, especially those with cochlear implants, with computer software that works as a rehabilitation program in order to build their communication skills. General Terms Education, e-learning for rehabilitation.
Service Oriented Computing (SOC) is the new emerging paradigm for Distributed computing and e-bus... more Service Oriented Computing (SOC) is the new emerging paradigm for Distributed computing and e-business processing that is changing the way software applications are designed, architected, delivered and consumed. Services are autonomous platform-independent computational elements that can be described, published, discovered, orchestrated and programmed using standard protocols for the purpose of building agile networks of collaborating business applications distributed within and across organizational boundaries. Engineering and modeling service-oriented architectures need extensions to existing modeling techniques and methodologies. In this paper, we propose a UML profile for service-oriented architectures. We consider this a step towards properly engineering web-services.
Component-based development (CBD) has been widely applied in different areas and has proven to be... more Component-based development (CBD) has been widely applied in different areas and has proven to be successful; especially in interactive service oriented systems. In such systems, the user usually need not interact with the whole system at one time; thus the overhead incurred in CBD can be tolerated. However, the applicability of such development methodology in high-performance systems is questioned since it involves overheads that will degrade system performance and render it of low quality. In this paper, we claim that CBD is not the right choice for high performance system. As a proof of concept, we will use the Apache HTTP web server as an example of a performance-entailing system.
Proceedings of the First Kuwait Conference on e-Services and e-Systems, 2009
Teaching professional ethics for computer science and information systems students is a challenge... more Teaching professional ethics for computer science and information systems students is a challenge. The students mostly view the course as an abstract and theoretical course. In this paper, we show how we created a creative environment for the professional ethics course at the American University of Kuwait (AUK). Our main idea is to introduce many course activities using e-learning environments
2013 35th International Conference on Software Engineering (ICSE), 2013
ABSTRACT There are hundreds of general contests targeting undergraduate and graduate students. Th... more ABSTRACT There are hundreds of general contests targeting undergraduate and graduate students. The prizes vary from cash, trip, fame, conference participation and others. Contests could be class, school, national, regional or global contests. In this paper, we compare between existing student contests that can be integrated with software engineering courses. We classify the contests and propose a framework to choose which one to suit curriculum. We also include best practices and samples of our practices in integrating software engineering course with class, regional, national and global contests.
20th Conference on Software Engineering Education & Training (CSEET'07), 2007
Developing a curriculum in Software Engineering is challenging. Many technical, cultural and ethi... more Developing a curriculum in Software Engineering is challenging. Many technical, cultural and ethical issues have to be considered. This paper summarizes our experience in developing a B.Sc. degree in Computer Science with specialization in Software Engineering for the British University in Egypt (BUE). We will present the methodology we followed to design the curriculum. In addition, we will present the structure of the degree and we will give examples to show some courses that we had to introduce to handle some of the issues relevant to the local and global market needs. In addition, we will present some factors that had to be considered like the maturity of local software industry and awareness of copyright issues.
2015 IEEE Frontiers in Education Conference (FIE), 2015
Global software engineering is a growing field of research. The ability to develop software at re... more Global software engineering is a growing field of research. The ability to develop software at remote sites provides means to utilize talents and skills in different parts of the world. Organizations and companies benefit from such diverse pool of developers. Recently, global software engineering courses started to be popular in academic settings to prepare generations of developers who can function in a professional way in such distributed setting. Courses are normally offered as part of computer science or software engineering degrees. There are different challenges pertaining to team members, environment and the interlacing factors like time zones, cultural diversity of team members, location barriers and gender issues. Simulation games have been used to teach classical software engineering courses. Simulation games can be used to illustrate and experiment with concepts like team management, performance and tool selection. SimSE is an educational simulation tool that provides graphical simulation environment to help students to practice anticipated challenges during software development. In this paper, we propose a model for distributed global software development simulation games. The model includes factors like time zones, cultural diversity of users (mainly Hofstede's culture dimensions are used), location barriers and gender issues. These factors will result in game triggers that may affect the development of the virtual project. The model is then implemented using the SimSE model builder. The game will be illustrated showing how it can be used in teaching global software engineering courses. The results will be verified using existing models.
The complexity of design and implementation of Intelligent Tutoring Systems (ITS) is caused by th... more The complexity of design and implementation of Intelligent Tutoring Systems (ITS) is caused by the lack of a clear road map or implementation methodology. This has led us to investigate the role of patterns in ITS implementation in order to provide software developers with solutions to recurring ITS design problems. In this research work, we highlight the role of adaptive patterns in intelligent tutoring system implementation. We explain how those patterns were used in building The Arabic tutor, an Intelligent Language Tutoring System over the World Wide Web for teaching a subset of the Arabic Language that combines the flexibility and intelligence of Intelligent Tutoring Systems with the availability of the World Wide Web applications. The implementation process of the Arabic Tutor was our proof of concept for the validity and usefulness of adaptive patterns in ITS implementation.
18th Conference on Software Engineering Education & Training (CSEET'05), 2005
The concept of object-oriented frameworks is not easy to grasp. As a result of the complex nature... more The concept of object-oriented frameworks is not easy to grasp. As a result of the complex nature of frameworks, teaching framework development is a challenging task. Using traditional software engineering methodologies for teaching practical framework development in an academic environment may not be helpful. In addition, there is no standard process to teach framework development. In this paper, we propose a new technique for teaching framework development. We introduce PBA, (a Peer-Review Based Approach) that helps students grasp the concept of framework, conceive the importance of developing frameworks and ensure a well designed and better quality delivered frameworks. We provide a comprehensive presentation of the process; and also present our own experience trying to put the new process into practice.
Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications, 2008
Both Academia and Industry have intensified their efforts to realize the potential of Service Ori... more Both Academia and Industry have intensified their efforts to realize the potential of Service Oriented Computing and Service Oriented Architecture (SOA). There are many obstacles yet to overcome in the commercial adoption, design and implementation of SOA. This workshop seeks insight from academia and industry to describe the problems encountered and formulate theoretical and propose practical solutions for their resolution from industry and academia perspectives.
2011 Frontiers in Education Conference (FIE), 2011
ABSTRACT Changing from a co-education to a single-gender learning environment could be an opportu... more ABSTRACT Changing from a co-education to a single-gender learning environment could be an opportunity and a challenge to any institute. Software engineering is one of the fields that could be affected by gender-segregation policies. Teaching the subject involves group and individual activities which could be dramatically affected in single-gender settings. In this paper, we present our experience in teaching software engineering in gender segregated classes. We will compare the performance of students before and after gender segregation. We will show samples of the activities and the findings. We will have a discussion about the impact of gender segregation on the overall course performance. Our findings could be useful in providing strategies to enhance the higher education learning experience and to eliminate future gender divide issues in the workplace.
Proceeding of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications - OOPSLA '09, 2009
The explosion of Cloud computing propaganda has forced many companies to quickly move towards thi... more The explosion of Cloud computing propaganda has forced many companies to quickly move towards this new technology. Particularly given the current economic climate it seems like a prudent way to dynamically increase and decrease infrastructure at low cost. However, past experience with SOA has taught us that lack of commercial adaption and a proliferation of unusable standards may hinder this technology. Support from IBM and Microsoft for cloud is promising and leads to the need for strong design of cloud based systems to ensure quality and productivity. Issues already identified in Grid Computing and SOA will certainly prove important in the design of cloud based systems Due to the speed of network development due to cloud architectures, an increasing level of importance must be placed on the design to regulate issues such as: instance access control, regulatory issues, development practices, security and practical operational issues. Capturing and discussing best practices on these subjects will contribute to a healthy movement in the right direction for those who will develop the Service Cloud.
International Journal of Computer Applications, 2014
Delivering affordable education is one of the main millennium goals of the United Nations. Scienc... more Delivering affordable education is one of the main millennium goals of the United Nations. Science labs are relatively expensive and hazardous. Dangerous chemical reactions, misusing the burners are two good examples of possible hazards. In this paper, we present KinEd which is a Kinectbased platform that provides students and teachers with an environment where they can download and upload different mini-games and learning tools for different school subjects in a way that encourages human interaction with the material to be learned. Students interact with KinEd using body gestures and postures to perform their experiments. We developed an API for gestures and postures then used it to develop KinEd. The current version of KinEd includes mini-games for chemistry, biology, physics and Mathematics. We will introduce the analysis and design of the tool and the API together with some snapshots of the environment and samples of the mini-games. We will also include initial assessments to verify the feasibility of using KinEd.
International Journal of Computer Applications, 2011
Programming is one of the activities that need talent and persistence. Physically challenged peop... more Programming is one of the activities that need talent and persistence. Physically challenged people avoid programming jobs and related academic degrees due to lack of tools that accommodate their disabilities. Most people think to program for the physically challenged. Our approach is different, we provide tools to make the physically challenged write computer programs in an easy and affordable way. In this paper, we introduce Proviac (Programming Via Voice) which is a software that helps physically challenged programmers to write their programs in a friendly way. Proviac currently supports C# but it could be extended to include other programming languages. Proviac can be considered a step towards providing IDEs tailored for physically challenged programmers.
a series of events covering a broad spectrum of software-related topics. The conference covered f... more a series of events covering a broad spectrum of software-related topics. The conference covered fundamentals on designing, implementing, testing, validating and maintaining various kinds of software. The tracks treated the topics from theory to practice, in terms of methodologies, design, implementation, testing, use cases, tools, and lessons learnt. The conference topics covered classical and advanced methodologies, open source, agile software, as well as software deployment and software economics and education. The conference had the following tracks: ï‚· Advances in fundamentals for software development ï‚· Advanced mechanisms for software development ï‚· Advanced design tools for developing software ï‚· Software engineering for service computing (SOA and Cloud) ï‚· Advanced facilities for accessing software ï‚· Software performance ï‚· Software security, privacy, safeness ï‚· Advances in software testing ï‚· Specialized software advanced applications ï‚· Web Accessibility ï‚· Open source software ï‚· A...
Auditory Rehabilitation for children with cochlear implants is part of the implant process. Young... more Auditory Rehabilitation for children with cochlear implants is part of the implant process. Young children with a cochlear implant require a comprehensive rehabilitation program to help them utilize the auditory signal and to naturally integrate the various components of communication including listening, speech, language, reading and thinking. In this paper, we introduce "9ootik We9al" which is an e-learning environment for a rehabilitation program for Arabic speaking children with cochlear implants developed by us. It can be used in clinics, hospitals or schools. The purpose of the project is to provide Arabic speaking children with hearing impairment, especially those with cochlear implants, with computer software that works as a rehabilitation program in order to build their communication skills. General Terms Education, e-learning for rehabilitation.
Service Oriented Computing (SOC) is the new emerging paradigm for Distributed computing and e-bus... more Service Oriented Computing (SOC) is the new emerging paradigm for Distributed computing and e-business processing that is changing the way software applications are designed, architected, delivered and consumed. Services are autonomous platform-independent computational elements that can be described, published, discovered, orchestrated and programmed using standard protocols for the purpose of building agile networks of collaborating business applications distributed within and across organizational boundaries. Engineering and modeling service-oriented architectures need extensions to existing modeling techniques and methodologies. In this paper, we propose a UML profile for service-oriented architectures. We consider this a step towards properly engineering web-services.
Component-based development (CBD) has been widely applied in different areas and has proven to be... more Component-based development (CBD) has been widely applied in different areas and has proven to be successful; especially in interactive service oriented systems. In such systems, the user usually need not interact with the whole system at one time; thus the overhead incurred in CBD can be tolerated. However, the applicability of such development methodology in high-performance systems is questioned since it involves overheads that will degrade system performance and render it of low quality. In this paper, we claim that CBD is not the right choice for high performance system. As a proof of concept, we will use the Apache HTTP web server as an example of a performance-entailing system.
Proceedings of the First Kuwait Conference on e-Services and e-Systems, 2009
Teaching professional ethics for computer science and information systems students is a challenge... more Teaching professional ethics for computer science and information systems students is a challenge. The students mostly view the course as an abstract and theoretical course. In this paper, we show how we created a creative environment for the professional ethics course at the American University of Kuwait (AUK). Our main idea is to introduce many course activities using e-learning environments
2013 35th International Conference on Software Engineering (ICSE), 2013
ABSTRACT There are hundreds of general contests targeting undergraduate and graduate students. Th... more ABSTRACT There are hundreds of general contests targeting undergraduate and graduate students. The prizes vary from cash, trip, fame, conference participation and others. Contests could be class, school, national, regional or global contests. In this paper, we compare between existing student contests that can be integrated with software engineering courses. We classify the contests and propose a framework to choose which one to suit curriculum. We also include best practices and samples of our practices in integrating software engineering course with class, regional, national and global contests.
20th Conference on Software Engineering Education & Training (CSEET'07), 2007
Developing a curriculum in Software Engineering is challenging. Many technical, cultural and ethi... more Developing a curriculum in Software Engineering is challenging. Many technical, cultural and ethical issues have to be considered. This paper summarizes our experience in developing a B.Sc. degree in Computer Science with specialization in Software Engineering for the British University in Egypt (BUE). We will present the methodology we followed to design the curriculum. In addition, we will present the structure of the degree and we will give examples to show some courses that we had to introduce to handle some of the issues relevant to the local and global market needs. In addition, we will present some factors that had to be considered like the maturity of local software industry and awareness of copyright issues.
2015 IEEE Frontiers in Education Conference (FIE), 2015
Global software engineering is a growing field of research. The ability to develop software at re... more Global software engineering is a growing field of research. The ability to develop software at remote sites provides means to utilize talents and skills in different parts of the world. Organizations and companies benefit from such diverse pool of developers. Recently, global software engineering courses started to be popular in academic settings to prepare generations of developers who can function in a professional way in such distributed setting. Courses are normally offered as part of computer science or software engineering degrees. There are different challenges pertaining to team members, environment and the interlacing factors like time zones, cultural diversity of team members, location barriers and gender issues. Simulation games have been used to teach classical software engineering courses. Simulation games can be used to illustrate and experiment with concepts like team management, performance and tool selection. SimSE is an educational simulation tool that provides graphical simulation environment to help students to practice anticipated challenges during software development. In this paper, we propose a model for distributed global software development simulation games. The model includes factors like time zones, cultural diversity of users (mainly Hofstede's culture dimensions are used), location barriers and gender issues. These factors will result in game triggers that may affect the development of the virtual project. The model is then implemented using the SimSE model builder. The game will be illustrated showing how it can be used in teaching global software engineering courses. The results will be verified using existing models.
The complexity of design and implementation of Intelligent Tutoring Systems (ITS) is caused by th... more The complexity of design and implementation of Intelligent Tutoring Systems (ITS) is caused by the lack of a clear road map or implementation methodology. This has led us to investigate the role of patterns in ITS implementation in order to provide software developers with solutions to recurring ITS design problems. In this research work, we highlight the role of adaptive patterns in intelligent tutoring system implementation. We explain how those patterns were used in building The Arabic tutor, an Intelligent Language Tutoring System over the World Wide Web for teaching a subset of the Arabic Language that combines the flexibility and intelligence of Intelligent Tutoring Systems with the availability of the World Wide Web applications. The implementation process of the Arabic Tutor was our proof of concept for the validity and usefulness of adaptive patterns in ITS implementation.
18th Conference on Software Engineering Education & Training (CSEET'05), 2005
The concept of object-oriented frameworks is not easy to grasp. As a result of the complex nature... more The concept of object-oriented frameworks is not easy to grasp. As a result of the complex nature of frameworks, teaching framework development is a challenging task. Using traditional software engineering methodologies for teaching practical framework development in an academic environment may not be helpful. In addition, there is no standard process to teach framework development. In this paper, we propose a new technique for teaching framework development. We introduce PBA, (a Peer-Review Based Approach) that helps students grasp the concept of framework, conceive the importance of developing frameworks and ensure a well designed and better quality delivered frameworks. We provide a comprehensive presentation of the process; and also present our own experience trying to put the new process into practice.
Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications, 2008
Both Academia and Industry have intensified their efforts to realize the potential of Service Ori... more Both Academia and Industry have intensified their efforts to realize the potential of Service Oriented Computing and Service Oriented Architecture (SOA). There are many obstacles yet to overcome in the commercial adoption, design and implementation of SOA. This workshop seeks insight from academia and industry to describe the problems encountered and formulate theoretical and propose practical solutions for their resolution from industry and academia perspectives.
2011 Frontiers in Education Conference (FIE), 2011
ABSTRACT Changing from a co-education to a single-gender learning environment could be an opportu... more ABSTRACT Changing from a co-education to a single-gender learning environment could be an opportunity and a challenge to any institute. Software engineering is one of the fields that could be affected by gender-segregation policies. Teaching the subject involves group and individual activities which could be dramatically affected in single-gender settings. In this paper, we present our experience in teaching software engineering in gender segregated classes. We will compare the performance of students before and after gender segregation. We will show samples of the activities and the findings. We will have a discussion about the impact of gender segregation on the overall course performance. Our findings could be useful in providing strategies to enhance the higher education learning experience and to eliminate future gender divide issues in the workplace.
Proceeding of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications - OOPSLA '09, 2009
The explosion of Cloud computing propaganda has forced many companies to quickly move towards thi... more The explosion of Cloud computing propaganda has forced many companies to quickly move towards this new technology. Particularly given the current economic climate it seems like a prudent way to dynamically increase and decrease infrastructure at low cost. However, past experience with SOA has taught us that lack of commercial adaption and a proliferation of unusable standards may hinder this technology. Support from IBM and Microsoft for cloud is promising and leads to the need for strong design of cloud based systems to ensure quality and productivity. Issues already identified in Grid Computing and SOA will certainly prove important in the design of cloud based systems Due to the speed of network development due to cloud architectures, an increasing level of importance must be placed on the design to regulate issues such as: instance access control, regulatory issues, development practices, security and practical operational issues. Capturing and discussing best practices on these subjects will contribute to a healthy movement in the right direction for those who will develop the Service Cloud.
International Journal of Computer Applications, 2014
Delivering affordable education is one of the main millennium goals of the United Nations. Scienc... more Delivering affordable education is one of the main millennium goals of the United Nations. Science labs are relatively expensive and hazardous. Dangerous chemical reactions, misusing the burners are two good examples of possible hazards. In this paper, we present KinEd which is a Kinectbased platform that provides students and teachers with an environment where they can download and upload different mini-games and learning tools for different school subjects in a way that encourages human interaction with the material to be learned. Students interact with KinEd using body gestures and postures to perform their experiments. We developed an API for gestures and postures then used it to develop KinEd. The current version of KinEd includes mini-games for chemistry, biology, physics and Mathematics. We will introduce the analysis and design of the tool and the API together with some snapshots of the environment and samples of the mini-games. We will also include initial assessments to verify the feasibility of using KinEd.
International Journal of Computer Applications, 2011
Programming is one of the activities that need talent and persistence. Physically challenged peop... more Programming is one of the activities that need talent and persistence. Physically challenged people avoid programming jobs and related academic degrees due to lack of tools that accommodate their disabilities. Most people think to program for the physically challenged. Our approach is different, we provide tools to make the physically challenged write computer programs in an easy and affordable way. In this paper, we introduce Proviac (Programming Via Voice) which is a software that helps physically challenged programmers to write their programs in a friendly way. Proviac currently supports C# but it could be extended to include other programming languages. Proviac can be considered a step towards providing IDEs tailored for physically challenged programmers.
Uploads
Papers by Amir Zeid