After successfully completing the Software Engineering program, the graduate should be able to:
Recognize problems that are amenable to software engineering, and knowledge of the tools necessary for solving such problems.
Understand basics of software development life cycle (SDLC), design and analysis, information security, data mining, and crisis management.
Understand and apply a wide range of principles and tools of software engineering, such as design methodologies, choice of algorithm, language, software libraries, and user interface techniques.
Implement solutions using appropriate programming languages, web-based systems and tools, design methodologies, and database systems.
Design, implement, and evaluate a computer-based systems, process, component, or program.
Use knowledge and understanding in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoff involved in design choices.
Specify, design, and implement computer-based information systems, and evaluate them in terms of general quality attributes and possible tradeoffs presented within the given problem.
Perform troubleshooting in software systems.
Describe characteristics of various components of information systems, use the appropriate tools and techniques to analyze, design, and construct information systems.
Communicate effectively and efficiency by oral, written, and visual means.
Work effectively as an individual or as a member of a team in designing and implementing software systems.
Perform independent and efficient time management.
Analyze the local and global impact of computing on individuals, organizations, and society.
Aware of key ethical issues affecting information systems and their responsibilities as information science professionals.
Present effectively communication ideas and concepts by oral, written, and visual means clearly and in an organized manner.
Intellectual Skills
Solve problems mathematically.
Model problems using programming and information technology.
Model problems using software engineering techniques.
Create and/or design software components, objects, and classes.
Collect the essential facts, concepts, principles, and theories relating to computer science and their relationship to one another.
Select appropriate solutions for problems in software design and development.
Analyze risks and economical aspects in the management of software projects.
Assess and evaluate the performance of software systems.
Solve the problems encountered in software design and production.
Apply computer science in solving problems with numerical tools, constraints using recent developments in computer technology.
Select appropriate tools and technologies used in software engineering.
Model the practical criteria and constraints in the adoption of the software systems in business environment.
Analyze the results of computational models.
Organize the crucial role of intellectual properties (IP) in organizations of different industrial sectors for the purposes of product and technology development
Revise activities and categorize IP infringements and the remedies available to the IP owner and describe the precautious steps to be taken to prevent infringement of proprietary rights in products and technology development
Estimate the quality and reliability of software systems.
Judge the environmental impact of the adoption of the software.
Analyze systems.
Apply interpersonal communication skills to diagnose and analyze organizational and behavioral problems and recommend appropriate courses of action
Perform comparisons between algorithm, methods, techniques etc.
Perform classification of data, results, methods, techniques, algorithm etc.
Illustrate attributes, components, relationships, patterns, main ideas, and errors of the system
Investigate advanced tools in software engineering.
Intellectual skills are developed through successful completion of set assessment tasks, self-appraisal and self-evaluation, and critical evaluation of concepts, assumptions, arguments and data.