Module Description:
This course is the first of a two-course sequence in which the students will develop a complete software system. The second stage will be carried out in CAP 497. Students will work in groups of 3-5 students; each group will have a supervisor to guide them through the system development process using a specific methodology. In this first part, each group must identify a problem domain, define the problem, identify and specify the requirements, document the current system, analyze it, propose alternative systems, and design a solution. The design must include the definitions of all the required system models, such as the data model and the functional model. At the end of the course, each group must submit a formal report documenting the complete process.
Module Aims:
· The course enables students to demonstrate their theoretical knowledge and professional skills.
· An ability to design and conduct experiments, as well as to analyze and interpret data.
· An ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability.
· An ability to function on multidisciplinary teams.
· An understanding of professional and ethical responsibility.
· An ability to communicate effectively.
· The broad education necessary to understand the impact of information systems in a global, economic, environmental, and societal context.
· A recognition of the need for, and an ability to engage in life-long learning.
· A knowledge of contemporary issues.
Learning Outcomes:
· An ability to apply knowledge of computing and mathematics appropriate to the discipline
· An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution
· An ability to use current techniques, skills, and tools necessary for computing practice.
· An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs
· An ability to analyze the local and global impact of computing on individuals, organizations, and society
· An ability to function effectively on teams to accomplish a common goal
· An understanding of professional, ethical, legal, security and social issues and responsibilities
· Recognition of the need for and an ability to engage in continuing professional development
· An ability to communicate effectively with a range of audiences