Curriculum 2020

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

UKI-1C2Bahasa IndonesiaIndonesian LanguageThis 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-1B2PancasilaPancasilaPancasila 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-1A3Pengenalan PemrogramanIntroduction To ProgrammingThis 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-1B3Logika MatematikaMathematical LogicMathematical 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-1C2StatistikaStatisticsThis 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-1D3KalkulusCalculusThis 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-1E3Pendidikan KarakterCharacter EducationCharacter 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_2AgamaReligionThis course depends on the religion of student.
UWI-1A2Bahasa InggrisEnglishThis 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-1F4Algoritma PemrogramanProgramming AlgorithmIn 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-1G3Matematika DiskritDiscrete MathematicsDiscrete 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-1H3Kalkulus LanjutAdvanced CalculusThis 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-1I3Sistem DigitalDigital SystemsA 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-1J3Pemodelan Basis DataDatabase ModellingIn 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-2A3Organisasi dan Arsitektur KomputerOrganization and Computer ArchitectureProgramming 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-2B4Struktur DataData StructuresThis 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-2C2Analisis Kompleksitas AlgoritmaAnalysis of Algorithm ComplexityThis 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-2D3Matriks dan Ruang VektorMatrix and Vector SpacesMatrix 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-2E2RPL: Analisis KebutuhanSE: Requirement AnalysisRequirement 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-2F3Sistem Basis DataDatabase SystemIn 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-2G3Teori PeluangProbabilistic TheoryProbability 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-2H3Sistem OperasiOperating SystemIn 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-2I2Wawasan Global TIKICT Global InsightThis 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-2J4Jaringan KomputerComputer NetworkThis 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-2K3Strategi AlgoritmaAlgorithms StrategiesThe 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-2L3Teori Bahasa dan AutomataLanguages ​​and Automata TheoryIn 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-2M3Pengantar Kecerdasan BuatanIntroduction to AIThe 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-3A2KewirausahaanEntrepreneurshipThis course talks about how to become entrepreneurship.
CII-3A3Interaksi Manusia KomputerHuman Computer InteractionHuman 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-3B4Pemrograman Berorientasi ObjekObject-Oriented ProgrammingThis 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-3C3Pembelajaran MesinMachine LearningThe 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-3D4Sistem Paralel dan TerdistribusiParallel and Distributed SystemsThe 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-3E3Keamanan SiberCyber Securityhis 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-3F1Informatika untuk MasyarakatInformation for The PublicThis 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-3G3Manajemen ProyekProject ManagementThis 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-3H4Aplikasi Berbasis PlatformPlatform-based Application
CII-3I3Bahasa Inggris untuk PresentasiEnglish for Presentations
CII-3J4RPL: Desain dan ImplementasiSE: Design and ImplementationDesign 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-3K2Sosio-Informatik dan KeprofesianSocio-Informatic and ProfessionalismThis 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_3MK Pilihan Peminatan 1Elective Track Course 1See Elective Track Course 1
CII-4A2Penulisan ProposalProposal WritingProposal 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-4B3Kerja PraktekPractical WorkPractical 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-4C3Tata Tulis IlmiahScientific WritingThis 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-4D3Bahasa Inggris untuk KarirEnglish For Career
CII-4_3MK Pilihan Peminatan 2Elective Track Course 2See Elective Track Course 2
CII-4_3MK Pilihan 1Elective Free Course 1See Elective free course
CII-4E4Tugas AkhirFinal ProjectFinal 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_3MK Pilihan 2Elective Free Course 2See Elective free course
CII-4_3MK Pilihan 3Elective Free Course 3See Elective free course

Elective track course 1

CII-3L3Pembelajaran Mesin LanjutAdvanced Machine LearningAdvanced 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-3M3Representasi PengetahuanKnowledge RepresentationThis 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-3N3Sistem Multi AgenMulti Agent SystemIn 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-3O3IoT dengan Kemampuan CerdasAI-enabled IoTThis 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-3P3Pemodelan dan SimulasiModelling and SimulationModeling 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-4F3Pemrosesan Citra digitalDigital Image ProcessingThis 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

CII-4G3Pemrosesan Bahasa AlamiNatural Language ProcessingIn 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-4H3Sistem Pemberi RekomendasiRecommender systemThis 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-4I3Penambangan DataData MiningIn 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-4J3Analisis Performansi Jaringan KomputerAnalysis of Computer Network PerformanceThis 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-4K3Sistem Keamanan CerdasIntelligent Security SystemThis 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-4L3Visualisasi DataData VisualizationThis 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-4M3Metode Numerik untuk InformatikaNumerical Method for InformaticsThis 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

CII-4N3Desain InteraksiInteraction DesignThis 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-4O3Analisis Jejaring SosialSocial Network AnalysisIn 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-4P3Komputasi Berkinerja TinggiHigh Performance ComputingHigh 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-4Q3Penglihatan KomputerComputer VisionThis 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-4R3Forensik DigitalDigital ForensicsThe 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-4S3Verifikasi dan Validasi Perangkat LunakSoftware Verification and ValidationSoftware 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.