SEMESTER 1
CII1A3 – 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.
CII1B3 – 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.
CII1C2 – 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
UAJX_2 - Religion
This course depends on the religion of student.
UKJXB2 – 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.
CII1D3 – 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.
CII1E3 – 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.
SEMESTER 2
CII1F4 – 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.
CII1G3 – 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.
UWJXA2 – English: Basic
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.
CII1H3 – 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.
UKJXC2 – 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.
CII1I3 – 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.
CII1J3 – 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.
SEMESTER 3
CII2A3 – 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.
CII2B4 – 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)
CII2C2 – 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.
CII2D3 – 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)
CII2I2 – 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.
CII2F3 – 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.
CII2G3 – Probabilistic Theory
Probability Theory is a mandatory fundamental course in informatics major, that learn the basic concepts of calculating probability values, random variable, and problem solving using a random variable distribution approach and profes chains. The scope of material learned in this course is probability, random variables, distribution of discrete and continuous random variables, and rofes chains.
SEMESTER 4
CII2H3 – 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.
CII2J4 – 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.
CII2K3 – Algorithm Strategies
The course introduces various algorithm design paradigm in solving certain problems. It is expected that the students are able to compare and analyze 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.
CII2L3 – Language 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.
CII2M3 – Introduction to Artificial Intelligence
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.
CIJ2A3 – Software Engineering: Requirement and Design
SE: Software Analysis and Design is a course that discusses the science of Software Engineering and the methods used for modelling-based software development. This course will focus on the Software Requirements Engineering and Software Design phases.
SEMESTER 5
CII3D4 – 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 Inter-process Communication, Remote Procedure Call, Indirect communication, MPI, etc) and gain practical experience in designing and implementing parallel and distributed systems.
CII3A3 – 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.
CII3C3 – 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.
CIJ3A3 – Software Engineering: Implementation and Testing
SE: Software Implementation and Testing is a continuation of the course SE: Software Analysis and Design in the Informatics study program. This course aims to teach the construction and testing phases of the software life cycle. This course will discuss construction management planning, implementation of interfaces, databases, and code of software models, and their testing.
CII3B4 – 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.
CII3E3 – 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.
SEMESTER 6
CII3G3 – ICT Project Management
This course provides knowledge and understanding of management, project management, the complete cycle of project management processes, as well as several scientific areas in the field of project management.
CII3H4 – Platform-based Application
This course discusses the concepts and techniques of system development by utilizing the integration of web platform technologies (server side) and mobile (client side).
CII3K2 – 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 professionalism, including responsibility, ethics, decision making, and required soft skills.
CII3I3 – English for Presentations
This course aims to develop students’ ability to organize information from multiple sources, construct acceptable paraphrases, perform verbal and non-verbal skills, as well as assess and respond interactively to audience.
CII3F1 – Informatics for Society
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.
CII3R3 – 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.
SEMESTER 7 & 8
CII4A2 – 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.
CII4B3 - 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.
UWJXF2 – Entrepreneurship
This course talks about how to become entrepreneurship.
CII4D3 - English for Career
This course aims to help students preparing their English skill for job hunting, e.g. for proficiency test, writing resume, and job interview.
CII4E4 - 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).
UKJXA2 – Civics
This course is about Indonesian civic.