There are three tracks that can be selected by students: Advanced AI, IoT, Modelling and Simulation. For each track, students can choose at least two elective track courses, one from Elective Track Course 1 and another one from Elective Track Course 2. Note that every course listed below has 3 credits.
Students also must take at least three elective free courses. Students can choose any of courses in the above list (that are not chosen as their Elective Track Course) as elective free course. On top of that, students may also choose the elective free course from the following list:
CII4N3 - Interaction Design
CII4O3 - Social Network Analysis
CII4P3 - Distributed Parallel Programming
CII4Q3 - Computer Vision
CII4R3 - Digital Forensics
CII4S3 - Software Verification and Validation
NOTE that in total, students must take minimum of 15 credits (5 courses) of elective courses, that are:
One Elective Track Course 1
One Elective Track Course 2
Three any Elective Track Courses
CII3L3 - Advanced Machine Learning
Advanced Machine Learning - The course of Advanced Machine Learning (AML) trains students to understand basic notions, intuitions, concepts, techniques, and algorithms to develop a machine learning model based on the given data sets. The material includes evolutionary computation (EC), swarm intelligence (SI), evolutionary shallow learning (ESL), evolutionary deep learning (EDL), evolutionary ensemble learning (EEL), and evolutionary reinforcement learning (ERL).
CII3M3 - Knowledge Representation
This course is to provide an introduction to knowledge representation and reasoning, which is one of the fundamental areas in artificial intelligence. The course begins with a review of first order logic and resoning/inference. The main concepts students will learn in this course are description logic and its representation in ontology in OWL. Ontology evaluation and query are also introduced to give students knowledge about processes to have valid ontologies and information retrieval from ontologies. Finally, logic and probability will be introduced to give students a view how the concepts of knowledge representation and reasoning can be combined with the concepts of probability in intelligent systems.
CII3N3 - Multi Agent Systems
In this course students will be introduced to the concept of intelligent agents and the main issues surrounding the design of intelligent agents. Students will also discuss the key issues in designing multiagent society that involves communication, cooperation, and strategies for decision making.
CII3O3 - AI-enabled IoT
This course elaborates the application of intelligent systems for conceptual design and implementation in IoT area, including classification, regression and interpolation, Fuzzy logic method for controllers with IoT based, Application of intelligent system for smart building, growth network, sensor network, and environmental control. Students are expected to active in the class and outside class (laboratories) using team works base (2-3 people). The course is in 7 times meeting for IoT project such as literature study, design and implementation of project.
CII3P3 - Modelling and Simulation
Modeling and Simulation course provides the knowledge and basic skill to be able to create a model and make a simulation of daily life phenomena. Generally, the course material consists of two types of modeling, i.e. deterministic and stochastic modeling.
CII4F3 - Digital Image Processing
This course provide the understanding of image representation, basic image operations, image enhancement, convolution and fourier transformation processes, image segmentation, image morphology processes, image compression and Fidelity Criteria for various operations on digital images.
CII4G3 - Natural Language Processing
In this course, students will learn about language processing on lexical, syntactic, and semantic levels. The approach discussed focuses on machine learning based methods, including deep learning. At the end of the lecture, the popular NLP applications will be discussed as the implementation of material studied before.
CII4H3 - Recommender Systems
This course studies the recommendation system's methods, which are based on: collaborative, content, context, knowledge and hybrids. Besides students will learn how to recommend a item to the group, explain the recommendations to users, as well as deep learning applications in the recommendation system.
CII4I3 - Data Mining
In this course students learn the definitions of Data Mining, the Background of Data Mining and the benefits of Data Mining in supporting decision making in business. Good decision making must be based on information supported by data held by the organization, both from within the organization itself and data from outside the organization. To produce this information various techniques such as classification, clustering and association analysis will be used.
CII4J3 - Analysis of Computer Network Performance
This lecture discusses the modeling and analysis of computer networks performance. The lecture materials include network protocols, and applications. At the end of this lecture, students are expected to be able to use mathematical modeling of computer networks to analyze network performances. The topics discussed in this lecture include the characteristics of IP traffic and network performance monitoring, review of congestion control, fairness and scheduling, and queuing systems to model performance.
CII4K3 - Intelligent Security System
This lecture discusses the modeling and analysis of computer networks performance. The lecture materials include network protocols, and applications. At the end of this lecture, students are expected to be able to use mathematical modeling of computer networks to analyze network performances. The topics discussed in this lecture include the characteristics of IP traffic and network performance monitoring, review of congestion control, fairness and scheduling, and queuing systems to model performance.
CII4L3 - Data Visualization
This course is all about data visualization, the art and several techniques of turning data into readable graphics presentation. We will learn how to design and create the visualization based on the available data and the goal to be achieved. Students will create their own data visualization and learn how to use a tools such a Gnuplot, Matplotlib, and interactive data visualization with Python's Bokeh.
CII4M3 - Numerical Method for Informatics
This course elaborates some numerical methods for solving several problems in application of computer science or informatics area. Moreover, this course will be focused on numerical approach for tackling the Artificial Intelligent problems such as classification and computer vision.
CII4N3 - Interaction Design
This course will provide an overview of the basic concepts used in Interaction Design that originate from research. Students will be given knowledge of how a designer thinks in answering a problem. Then proceed with the stages in making an interaction design solution that starts from user research and defining the problem, understanding the user, making the design of the solution to become a prototype that will be evaluated by testing usability and UX. This course can provide students with sufficient knowledge in supporting intelligent system-based software by considering user convenience for best user experience.
CII4O3 - Social Network Analysis
In this course students learn about: (1) the definition and fundamental models of Social Network Analysis; (2) network types, structures, models, and dynamic processes on social networks; (3) calculation methods of the social networks centrality; (4) methods for identifying communities in social networks; (5) software for implementing social network analysis; (6) visualization of social networks. This course uses Twitter social network case studies.
CII4O3 - Distributed Parallel Programming
This course will talk about how to use parallel programming to solve numerical problem. Here, OpenMP, MPI and GPU programming will be elaborated. Students will learn how to tackle hig complexity using Parallel and Distibuted programming
CII4Q3 - Computer Vision
This course provides a foundation for the concept of building recognition system that tries to imitate the human ability in recognizing visual object by using classical methods and state-of-the-art methods. Many machine learning and deep learning methods in building recognition system are introduced to students so students are able to design, implement and measure the performance of a recognition system.
CII4R3 - Digital Forensics
The course provides insight into the scope of the digital forensic field which generally consists of two parts, namely mobile phone forensics and multimedia forensics. Mobile phone forensics focuses on the latest forensic techniques in the investigation of mobile devices across various mobile platforms, especially on iOS, Android and Windows 10. We will learn on retrieving data from a mobile phone under forensically sound conditions. Whereas multimedia forensics studies a set of scientific techniques for analyzing multimedia signals (audio, video, images) in order to recover probative evidences to reveal the history of digital content which includes identification of acquisition devices that produced the data, and validation of content integrity.
CII4S3 - Software Verification and Validation
Software Verification and Validation Course is an elective course in the software engineering cluster, which discusses aspects related to quality, concepts and techniques of Software verification and validation. This course provides an understanding of the concept of software quality, concepts and verification and validation techniques, including various PL testing techniques, both static, dynamic and automation.