The content of the course discusses the Software Quality issues much beyond the classic boundaries of custom-made software development by large established software houses. It dedicates significant attention to the other software development and maintenance environment that reflect the current state of industry. This course is designed to provide students within depth knowledge on software testing and its test process. The course covers the basic principles of software testing and test activities that include the test plan, test design, monitoring, implementation and test closure. The students will also learn various categories of test design techniques and methods used in both black-box and white-box testing. At the end of this course, students should be able to recognize various types and levels of testing as well as categorizing and applying software testing process and techniques.
This course is designed to give students an introduction to an engineering approach in the development of high-quality software systems. It will discuss the important software engineering concepts in the various types of the common software process models. The students will also learn the concepts and techniques used in each software development phase including requirements engineering, software design and software testing. This course will also expose the students to utilizing object-oriented method (e.g. UML) and tools in analyzing and designing the software. At the end of this course, students are expected to be able to appreciate most of the common software engineering concepts and techniques as well as producing various software artifacts and deliverables.
This course provides the students with an in-depth look at the theory and practice of software architecture and design. It introduces the important concepts related to software architecture and design. It emphasizes on the design and (faithful) implementation of a large scale software using the widely accepted architecture styles and design patterns. It will also expose students to the use of the industrial strength design notations (e.g. UML) and CASE tools (e.g. Ent Arch, Visual Studio). In addition, it provides other aspects of a large and complex software design such as user interface design, management, leadership, and ethics. At the end of this course, the students should be able to use the techniques, architectural styles, and design patterns in software design.
This course equips the students with knowledge in embedded real-time systems and real- time software development particularly on how software engineering approaches assist real-time software development. The knowledge unit for this course area emphasize the following topics; realtime concepts, embedded real-time development methodologies, real-time operating systems, embedded real-time hardware fundamental and real-time analysis. The objective of this course is to introduce students with key software engineering practices in real-time software development and the research areas in developing embedded real-time software using appropriate software methods and tools.
The main focus of this course is to provide a practical approach of systems analysis and designing skills for the students using structured methodology. Hence, the course enables students to study information system requirements for any system application within an organizational context. The contents are sequentially organized directly from planning, analysis, designing and implementation phases. From the resulting output of the planning and analysis phase shall enable students to form input, output and interface design. Hence a prototype design can be demonstrated.
This course introduces students to the fundamentals of strong and weak artificial intelligence (AI). It discusses the theoretical and practical aspects of several approaches in AI. Approaches which emphasize on machine learning such decision trees, regression, artificial neural network and clustering will be discovered in this course. Furthermore, the courses also introduce the students with recent deep learning approach such as Convolutional Neural Network and how to implement this approach in solving real problem. Students will be given problem sets and hands-on simulation in developing a model of cognitive system to effectively solve real world problems.