In curriculum 2020 we have three schemes

1. Regular scheme

2. Project scheme

3. Entrepreneurship scheme

#### List of courses for regular scheme

#### Short description of courses

KODE | NAMA MATA KULIAH | COURSE NAME | Description |
---|---|---|---|

UKI-1C2 | Bahasa Indonesia | Indonesian Language | This lecture gives students opportunity to practice writing in a guided manner with material covering 1) spelling, 2) grammar, sentences, and paragraphs, 3) grammar of terms and definitions, 4) selection of topics to the preparation of scientific paper work, 5) chapters introduction, literature review, analysis, conclusions, initial supplement, final supplement, 6) conventions of scientific papers, and 7) plagiarism. |

UKI-1B2 | Pancasila | Pancasila | Pancasila and Civics is a course that the aim is to establish and to develop the personality of students as citizens of Indonesia. Thus, the education of civics will foster awareness to defend the country and think comprehensively and integrally in order to strengthen national resilience. |

CII-1A3 | Pengenalan Pemrograman | Introduction To Programming | This course is the first course on computer programming which is the foundation of computer science. Students will learn to design, write and debug computer programs using Python. The programming approach used is imperative programming. |

CII-1B3 | Logika Matematika | Mathematical Logic | Mathematical Logic A course provides a rigorous exposure concerning mathematical logic for computer science. There are five main topics in this course, i.e.: propositional logic, first-order predicate logic, mathematical proof methods, mathematical induction, and elementary set theory. These topics are grouped into four course learning outcomes (CLO), namely: CLO 1 (propositional logic), CLO 2 (first-order predicate logic), CLO 3 (mathematical proof methods and mathematical induction), and CLO 4 (elementary set theory). The materials relating to propositional logic include: truth value of a propositional formula, conversion of natural language sentences to propositional formulas, and inference methods for propositional calculus. For predicate logic topic, the materials include: interpretation and truth of simple predicate formulas, conversion of natural language sentences to predicate formulas, inference method for predicate calculus, and introduction to Prolog as declarative-logic programming framework. The students will also learn elementary mathematical proof methods and two elementary types of mathematical induction (the ordinary mathematical induction and the strong induction).The final topic of the course is elementary set theory, which covers set definition and notation, elementary set relation, basic set operations, and inclusion-exclusion principle. |

CII-1C2 | Statistika | Statistics | This course aims to provide students with an understanding of descriptive statistics. The material that will be provided is the types of data, one-dimensional, two-dimensional and multi-dimensional data exploration and text data exploration |

CII-1D3 | Kalkulus | Calculus | This course provides a mathematical foundation for students to form a logical and systematic mindset to solve various problems in the realm of Informatics. This course provides students with the ability to master mathematical concepts with a limit process that includes real numbers, functions, continuity, derivatives, and integrals. Delivery of the concepts is through definitions, related properties and theorems, and their application. |

CII-1E3 | Pendidikan Karakter | Character Education | Character Education courses are mandatory subjects that are conducted by Informatics faculty students in semester 1 (one). Character Education courses encourage students to have values of the culture of harmony, excellence, and integrity at Telkom University. Character Education courses aim to build leadership, provide communication skills to build relationships and cooperation, cultivate collaboration, think critically in dealing with problems, and are creative and innovative to students. In this course, students are required to be active in lectures both in the classroom and in activities outside the classroom with a small independent group pattern (2-5 people). The courses are conducted as many as 16 meetings that are conducted in a variety of ways, discussions, presentations, assignments, and final assignments. |

UAI-1_2 | Agama | Religion | This course depends on the religion of student. |

UWI-1A2 | Bahasa Inggris | English | This course provides students with SQ3R technique for reading technical text book through the stages of previewing, predicting, skimming, and scanning, identifying contextual reference, and providing the capabilities of reporting text or simple experiments, describing sequence and process, understanding the use of complex sentence, and reading flowchart. |

CII-1F4 | Algoritma Pemrograman | Programming Algorithm | In this course students will learn to design, test, and implement algorithmic solutions to computational problems with computational thinking approaches. The four pillars of computational thinking approach are decomposition, pattern recognition, abstraction, and algorithms. Some examples of problems that will be discussed include searching and sorting data. |

CII-1G3 | Matematika Diskrit | Discrete Mathematics | Discrete Mathematics - A provides a rigorous exposure concerning discrete structure and their relevant properties for computer science. This course supports the discrete structure materials used in data structure and other relevant foundations in algorithms. There are four main topics in this course which correspond to four course learning outcomes. The first topic discusses relation, function, and simple homogenous recurrence relation. The students will learn the definition of relation and function as well as their representation and mathematical characteristics. In addition, the students will learn recurrence relation that will be used in algorithm analysis. The second topic is pertaining to combinatorial mathematics. The student will study the basic counting principle, pigeonhole principle, permutations and combinations, as well as their generalization. The third topic is about graph and tree. In this topic the students will be exposed to the formal definition of graph, some properties of graphs, and some elementary graph algorithm (algorithm for solving vertex coloring problem, shortest path problem, and minimum spanning tree problem). Finally, in the last topic the students will learn elementary number theory, which contains the discussion about divisibility, greatest common divisor, least common multiple, and their applications, and elementary modular arithmetic as well as their related algorithms. |

CII-1H3 | Kalkulus Lanjut | Advanced Calculus | This course provides a mathematical foundation for students to form a logical and systematical thinking for solving various problems in Informatics. The course is a continuation of the (basic) Calculus Course. The course gives foundation for students regarding the mathematical concepts of technique of integration, series and sequence, vector function, function of multiple variables and their derivations, two-fold integral and three-fold integral. The concept is delivered through definitions, related properties and theorems, and their applications. |

CII-1I3 | Sistem Digital | Digital Systems | A Bachelor of Informatics graduate must be able to understand the workings of the computer, specifically the processor. Digital systems teach how a processor is arranged from a series of logic gates. Digital circuits are designed using logical equations. These logic gates will form units of blocks which are grouped into combinational or sequential circuits. |

CII-1J3 | Pemodelan Basis Data | Database Modelling | In this course, we will learn basic database concepts, conceptual modeling using Entity Relationship Diagrams (ERD), logical modeling using Relational models, normalization, and implementation using Structured Query Language (SQL). The course is the foundation of data analytics which is a major component in intelligent systems. |

CII-2A3 | Organisasi dan Arsitektur Komputer | Organization and Computer Architecture | Programming for Performance is a term that means, when a student makes a program, the program will be more optimal if the student understands how the computer hardware works. Computer Organization and Architecture is a course that teaches students how the computer hardware works. |

CII-2B4 | Struktur Data | Data Structures | This subject teaches a variety of data structures that can be implemented in a computer program. Discussions includes: Abstract Data Type (ADT), linear data structure representations and its primitives (arrays, linked lists, variations of linked lists, stacks, queues), non-linear data structure representations and its primitives (tree, graph, multilist), also search and traversal algorithms ( preorder, inorder, postorder, BFS, DFS) |

CII-2C2 | Analisis Kompleksitas Algoritma | Analysis of Algorithm Complexity | This course introduces analysis of the correctness of algorithms and the complexity of their time in solving certain problems by applying the concepts of mathematical induction and other mathematical expressions. It is expected that students will be able to formulate the strengths and weaknesses of various algorithms, and apply the appropriate algorithm in terms of its efficiency. |

CII-2D3 | Matriks dan Ruang Vektor | Matrix and Vector Spaces | Matrix and Vector Space Course provide students with experience in mastering basic techniques in Linear Algebra. In addition, in this course, the students will have the opportunity to work with objects other than numbers in a manipulative way, especially matrices and vectors. There are 8 topics that will be discussed in this lecture, which are further grouped into four learning outcomes (Course Learning Outcome, CLO) |

CII-2E2 | RPL: Analisis Kebutuhan | SE: Requirement Analysis | Requirement Analysis is the opening course in a series of courses that discuss software engineering in the undergraduate of informatics program. This course will teach requirement analysis as a gateway into the software engineering. During this course, students will gain knowledge about the position of requirement analysis in the overall software development, requirement elicitation techniques, and specification methods that can be used to describe the requirements. |

CII-2F3 | Sistem Basis Data | Database System | In this course, we will learn basic concepts and database system architecture, file and index structure, query processing, transaction processing, and database recovery. This course is the foundation of data management that supports the performance of intelligent systems in processing data and producing information precisely (consistently) and efficiently. |

CII-2G3 | Teori Peluang | Probabilistic Theory | Probability Theory is a mandatory fundamental course in undergradute informatics major, that learn the basic concepts of calculating probability values, random variable, and problem solving using a random variable distribution approach and markov chains. The scope of material learned in this course is probability, random variables, distribution of discrete and continuous random variables, and markov chains |

CII-2H3 | Sistem Operasi | Operating System | In this course students will learn about how the computer's resources (CPU, memory, I/O) are managed by the operating system to meet end-users need. Students are taught basic concepts in operating systems such as: process, scheduling, virtual memory, virtual machines and security. After attending this lecture students will have a complete understanding of how the operating system works and manage resources. Students are also expected to be able to make simple programs on the operating system. |

CII-2I2 | Wawasan Global TIK | ICT Global Insight | This course aims to develop an understanding of development in the field of Informatics and current global issues from the point of view of practitioners. In addition, students are required to be able to use supporting tools (tools or software applications) that support student expertise in the field / specialization of the study program. |

CII-2J4 | Jaringan Komputer | Computer Network | This course (i) explains the main principles underlying network design and operation correctly and completely; (ii) Explain the principles to support scalability, mobility, resource management and network security aspects ; (iii) Building simple network-based applications. |

CII-2K3 | Strategi Algoritma | Algorithms Strategies | The course introduces various algorithm design paradigm in solving certain problems. It is expected that the students are able to compare and anayze the strengths and weaknesses of various algorithms and could apply appropriate algorithmic strategies to certain problems from the point of view of time efficiency and order of growth. |

CII-2L3 | Teori Bahasa dan Automata | Languages and Automata Theory | In this course students will learn the basic concepts of Automata and Language Theory: grammar, Chomsky language hierarchy, Finite Automata, Pushdown Automata, Turing Machines, and NP problem. Furthermore, students will learn to model a problem solution using FA, Pushdown Automata, and Turing Machine. |

CII-2M3 | Pengantar Kecerdasan Buatan | Introduction to AI | The course of Introduction to AI learns four techniques in building machine intelligence, namely Searching, Reasoning, Learning, and Planning. Each technique and method is proportionally given for theory and practice. Discussion of the theory is carried out in general, starting from motivation, basic notions, differences among the techniques and methods, to the design and implementation in detail through a number of case studies. |

UWI-3A2 | Kewirausahaan | Entrepreneurship | This course talks about how to become entrepreneurship. |

CII-3A3 | Interaksi Manusia Komputer | Human Computer Interaction | Human and Computer Interaction courses are fundamental material in Informatics. Human and Computer Interaction is a course that teaches students about how Human Computer Interaction and its role in creating appropriate and useful software for its users. This course also presents the stages in the process of designing the user interface (User Interface / UI) including usability testing, as well as the latest UI design trends. In this lecture will equip informatics students to think analytically and logically. |

CII-3B4 | Pemrograman Berorientasi Objek | Object-Oriented Programming | This course studies the basic concepts in object oriented programming (OOP), such as classes and objects, encapsulation, inheritance, polymorphism, interfaces, abstract classes, inner classes, collections and generics. Specifically these concepts will be learned with the help of the Java programming language. In addition to the basic concept of OOP, this subject will also study object and Swing persistence as a basis for object-oriented application development. In addition, the MVC architecture will be studied as a standard architecture in object-oriented application development. |

CII-3C3 | Pembelajaran Mesin | Machine Learning | The course of Machine Learning (MCL) trains students to understand basic ideas, intuitions, concepts, algorithms, and techniques to make computers more intelligent through the process of learning from data sets. The materials include unsupervised learning, supervised learning, ensemble learning, and reinforcement learning. |

CII-3D4 | Sistem Paralel dan Terdistribusi | Parallel and Distributed Systems | The Parallel and Distributed Systems course is an introductory course in parallel and distributed systems. Students will learn the basic concepts of parallel and distributed systems (such as Interprocess Communication, Remote Procedure Call, Indirect communication, MPI, etc) and gain practical experience in designing and implementing parallel and distributed systems. |

CII-3E3 | Keamanan Siber | Cyber Security | his unit aims at providing students with fundamental and conceptual aspects of cybersecurity. The unit covers threat landscape in the cyberspace, appropriate steps when defences fail, managing security risks, identifying types of cybersecurity based on human behaviours, cryptography, hash function, authentication, malware, digital forensic, and network security. Mata kuliah ini bertujuan untuk membekali mahasiswa dengan pondasi dan konsep keamanan siber. Mata kuliah ini mencakup threat landscape in the cyberspace, appropriate steps when defences fail, managing security risks, identifying types of cybersecurity based on human behaviours, cryptography, hash function, authentication, malware, digital forensic, dan network security. |

CII-3F1 | Informatika untuk Masyarakat | Information for The Public | This course includes an understanding of the needs or problems related to technical and non-technical matters of a targeted community and the implementation of activities or products that can meet the needs or solve the problem. |

CII-3G3 | Manajemen Proyek | Project Management | This course gives students an understanding of how the basic principles of managing a project, stages, and knowledge of how a project is said to be successful which is seen from the primary needs of the project. Project experience will be provided in a planning the main and supporting stages of the project to produce proper documentation using clear and systematic communication. |

CII-3H4 | Aplikasi Berbasis Platform | Platform-based Application | |

CII-3I3 | Bahasa Inggris untuk Presentasi | English for Presentations | |

CII-3J4 | RPL: Desain dan Implementasi | SE: Design and Implementation | Design and Implementation is one of the courses in a series of software engineering courses in the undergraduate of informatics program. This course discusses the implementation phase of the design and implementation of the software life cycle. This course discusses about the design concepts, models that can be used, the implementation of these models, and tools and techniques that can be used for software implementation. |

CII-3K2 | Sosio-Informatik dan Keprofesian | Socio-Informatic and Professionalism | This course provides an introduction to social context in IT development:: how technology can be parts of solutions for social problems and how social phenomena can influence the development of technology. This course also introduces big data, as well as tools to visualize and methods to process it.. Other topics students will learn in this course are privacy, ethical issues, and principles in profesionalism, including responsibility, ethics, decision making, and required soft skills. |

CII-3_3 | MK Pilihan Peminatan 1 | Elective Track Course 1 | See Elective Track Course 1 |

CII-4A2 | Penulisan Proposal | Proposal Writing | Proposal Writing is the preparation of a Final Project plan in the form of the Proposal Writing of Final Project. Proposal Writing is the beginning of a series of Final Project intended to train students' independence and scientific responsibility. Specifically, students are expected to be able to analyze, identify, summarize and apply all of their learning experiences to solve problems in the computing family in a systematic, logical, creative, critical, original and weighted (have added value / contribution or innovate new technology) based on accurate current data / information and supported by appropriate analysis. |

CII-4B3 | Kerja Praktek | Practical Work | Practical work is an implementation of the knowledge and skills students during studying. In the implementation of practical work, students are required to develop themselves, develop IT scientific innovations and contribute in helping solving problems in various companies / agencies and industries. The contribution can be in the form of an analysis document and the results or recommendations for solving a problem, making a product / software, design and planning documents, training modules, work procedures modules, etc. |

CII-4C3 | Tata Tulis Ilmiah | Scientific Writing | This course discusses academic writing and its presentation techniques for informatics. By completing this course, students are expected to be able to produce standard academic articles, especially their final project report, make its slides and present them. |

CII-4D3 | Bahasa Inggris untuk Karir | English For Career | |

CII-4_3 | MK Pilihan Peminatan 2 | Elective Track Course 2 | See Elective Track Course 2 |

CII-4_3 | MK Pilihan 1 | Elective Free Course 1 | See Elective free course |

CII-4E4 | Tugas Akhir | Final Project | Final Project is a course that cover the making of scientific papers or products obtained from the results of research or solving a problem carried out systematically through analysis activities (proposed solutions and results). |

CII-4_3 | MK Pilihan 2 | Elective Free Course 2 | See Elective free course |

CII-4_3 | MK Pilihan 3 | Elective Free Course 3 | See Elective free course |

#### Elective track course 1

KODE | NAMA MATA KULIAH | ELECTIVE COURSE NAME | Description |
---|---|---|---|

CII-3L3 | Pembelajaran Mesin Lanjut | 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). |

CII-3M3 | Representasi Pengetahuan | 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. |

CII-3N3 | Sistem Multi Agen | Multi Agent System | 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. |

CII-3O3 | IoT dengan Kemampuan Cerdas | AI-enabled IoT | This course elaborates the application of intelligent systsem for conceptual design and immplentation in IoT area, including classification, regression and interpolation, Fuzzy logic method for controler wit IoT based, Application of intelligentsystem for smart building, growth network, sensor network, and environmental control. Students are expected to active in the class and outside class (laboratorium) uisng team works base (2-3 people). The course is in 7 times meeting for IoT prokject such as literature study, design and implementation of project. |

CII-3P3 | Pemodelan dan Simulasi | 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. |

CII-4F3 | Pemrosesan Citra digital | 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. |

#### Elective track course 2

KODE | NAMA MATA KULIAH | ELECTIVE COURSE NAME | Description |
---|---|---|---|

CII-4G3 | Pemrosesan Bahasa Alami | 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. |

CII-4H3 | Sistem Pemberi Rekomendasi | Recommender system | 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. |

CII-4I3 | Penambangan Data | 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. |

CII-4J3 | Analisis Performansi Jaringan Komputer | 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. |

CII-4K3 | Sistem Keamanan Cerdas | Intelligent Security System | This unit aims at providing students conceptual and practical aspects of how artificial intelligence (AI) can be used in the context of system security in both offense and defense. The unit covers fundamentals of system security, network specific threats and attack types, architectures for secure networks, examples of malware, defense mechanisms and countermeasures, fundamentals of AI for system security, AI-based approaches for defending against attacks, and seven use cases of the implementation of AI in system security: malware identification, threat detection, proactive response, autonomous patch deployment, adapt to changing threats, spam and phishing detection, and categorise attacks. |

CII-4L3 | Visualisasi Data | 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. |

CII-4M3 | Metode Numerik untuk Informatika | 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 image processing. |

#### Elective free course

KODE | NAMA MATA KULIAH | ELECTIVE COURSE NAME | Description |
---|---|---|---|

CII-4N3 | Desain Interaksi | 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. |

CII-4O3 | Analisis Jejaring Sosial | 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. |

CII-4P3 | Komputasi Berkinerja Tinggi | High Performance Computing | High performance computing subject will provide lecture on latest technology in the area of computing, it will expand the students knowledge to learn the cutting-edge technology in the scientific and artificial intelligence area. Students will be encouraged to learn and experience the parallel computing technique in the real supercomputer, starting from the basic concept of SIMD (Single Instruction Multiple Data) and MIMD (Multi Instruction Multiple Data) until the programming implementation in the real computing challenge case. Students will be able to learn CUDA and MPI programming as the low level programming language, also they will be stimulated to use the high level language framework based on python such as Tensorflow, PyTorch, or Caffe that executed at the high performance hardware. We expect by mastering this abilities, students can tackle future challenging problem in their own fields. |

CII-4Q3 | Penglihatan Komputer | 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. |

CII-4R3 | Forensik Digital | 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. |

CII-4S3 | Verifikasi dan Validasi Perangkat Lunak | Software Verification and Validation | Software Verification and Validation is an elective course in a series of software engineering courses in the undergraduate of computer science program. This course describes the software verification and validation concepts and its implementation, to assure the quality of software. In this course, student will learn about quality concepts and quality models, distinguish between program validation and verification, the different types and levels of software testing , and tools that can be used in the validation of software, create and document a set of tests for a medium-size code segment , describing how to select good regression tests and automate them, and use a defect tracking tool to manage software defects in a small software project. |