Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
2020
SYLLABUS Computer Science School of Computing
Telkom University
P a g e | 1
Course ID UKI-1C2
Course Name Indonesian Language
Credits 2
Description
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.
Syllabus:
1. The importance of Indonesian language skills, common mistakes in Indonesian, the standard
language and its functions.
2. Spelling Terms and definitions
3. Words, Sentences, and Paragraphs
4. Scientific papers
Course ID UKI-1B2
Course Name Pancasila
Credits 2
Description
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.
Syllabus:
1. Introduction to Pancasila Education
2. Historical, political, and sociological sources of Pancasila Education
3. The essence and urgency of Pancasila education in the future
4. Concept and Urgency of Pancasila Education
5. Dynamics, Essence and Urgency of Pancasila Education
6. The reason why Pancasila Education is needed
7. Building Arguments about the Dynamics and Challenges of Pancasila Education
P a g e | 2
Course ID CII-1A3
Course Name Introduction to Programming
Credits 3
Description
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.
Syllabus:
1. – Introduction to programming, Interpreter vs Compiler
2. – Basic of Data types, Variable, Assignment, Input/Output, Arithmetic Operator
3. - Comparison Operator, If-elif-else
4. - Operator logic, While loop, list and range, For loop
5. – Study case of selection and looping
6. - Decomposition and Abstraction, Function, Parameter, Argument, Variable Scope, Python
Function (abs, power, max, min, math, rand)
7. – Testing, Debugging, Assertion, Exception
8. Python data structure: List, Tuple, Dictionary, Set
9. - String Manipulation, Regular Expression
10. - Building Simple Website with Flask, Building Simple Game with PyGame
11. Project
12. Project
13. Project
14. Project Exhibition
Course ID CII-1B3
Course Name Mathematical Logic
Credits 3
Description
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.
P a g e | 3
Syllabus:
1. Introduction to proposition, Propositional operators and compound proposition (negation,
conjunction, disjunction, xor, implication, and bi-implication).
2. Interpretation and semantics of propositional formulas. Satisfiability, validity, contradiction, and
contingency. Logical consequence and logical equivalence.
3. Interpretation and semantics of propositional formulas. Satisfiability, validity, contradiction, and
contingency. Logical consequence and logical equivalence.
4. Introduction and motivation to predicate. Quantification and quantifier. Bounded and free
variables, quantifier scope. Precedence of quantifier and other logical operators.
5. Truth of formulas with one quantifier. Truth of formulas with two or more quantifiers
6. Translation from natural language to first-order predicate logic. Negation of quantified
statements. Inference in first-order predicate logic.
7. Introduction to Prolog. Knowledge base in Prolog. Variable and query ini Prolog.
8. High-school mathematics review: integer arithmetic, fractions, exponents, and algebraic
ideintities.
9. Mathematical terminology. Mathematical definition. Structure of mathematical proof. Direct
proof methodology. Indirect proof using contraposition.
10. Indirect proof using contradiction. Proving equivalent statements. Refuting mathematical
statements using counterexamples
11. Motivation and definition of ordinary mathematical induction. The principle of ordinary
mathematical induction.
12. Limitation of ordinary mathematical induction. Motivation and definition of strong mathematical
induction. The principle of strong mathematical induction.
13. Basic set notations dan set definitions. Subset, superset, and set equality. Prominent set of
numbers. Cardinality of finite sets.
14. Elementary set operations. Cartesian product. Inclusion-exclusion principle.
Course ID CII-1C2
Course Name Statistics
Credits 2
Description
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
Syllabus:
1. Type and attribute of data. The use and application of data.
2. History of the presence many data and complexity of data.
3. Data exploration, Data modelling and data analysis.
4. Box diagram dan histogram a, mean dan median
5. Measurement of data distribution.
6. Box plot
7. Case study using data real
8. Diagram, heat map, dan line diagram of data I 2-D
9. Scatter plot
10. Correlation
11. Correlation and Casuality
12. Case study using data real
13. Data multi dimension
14. Exploration of unstructured data
P a g e | 4
Course ID CII-1D3
Course Name Calculus
Credits 3
Description
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.
Syllabus:
1. Properties of real numbers, inequality, inequality of absolute value.
2. Equation and Graphic: lines, parabola, circle and root of equation.
3. Domain, range, operation of function, composition and invers of function.
4. Formula dan graphic of function: linear, parabola, root, exponential, logarithm and
trigonometric.
5. Definition of limit, partial limit, theorem of limit.
6. Infinite limit, exponential function and real logarithmic.
7. Continuous function.
8. Definition of derivative, rules to find derivative: power rule.
9. Rule chain, implicit derivative, derivative of exponential function and logarithmic, derivative of
trigonometric.
10. Tangential, velocity, monotone and concavity
11. Maximum-minimum, L’hopital rule.
12. Area of domain as integral (sum Riemann), fundamental theorem of calculus.
13. Calculating integral as anti-integral. Substitution method, Integral for exponential and
logarithmic function.
14. The use of Integral to calculate the area of domain and volume a cylinder.
Course ID CII-1E3
Course Name Character Education
Credits 3
Description
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.
Syllabus:
1. Terminology and terms from Telkom University HEI culture
2. Creator Vs Victim Mindset & Discovering Self Motivation
P a g e | 5
3. Culture and society
4. Principles of organisation communication
5. Tel-U Green Metric
6. Personality types
7. Learning Style
8. Intercultural communication
9. Resilience and Personal identity
10. Creative thinking and Critical thinking
11. My Strength, Weakness , Oppotunity & Threat
12. Form study habits
13. Principles of human communication, Effective Communication, Interpersonal communication
14. Basic psychology/Communication psychology, Emotional intellegence, The importance of
mental health
15. Presentation Techniques
Course ID UAI-1A2
Course Name Islamic Religious and Ethical Education
Credits 2
Description
The PAEI subject has a strategic role and position, because the KBM does not only develop intellectuality, enhance Islamic insights and experience skills of Islamic teachings, but also to hone qolbu (heart), which gives birth to faith, devotion and morality.
Syllabus:
1. Qur'an recitation
2. The Urgency of Islam
3. Islamic Science and Technology.
4. Mosque and Da'wah
5. Islamic Marriage.
6. Tawhid: Concept of Allah and the Messenger
7. Sharia Aqidah and Akhlaq.
8. Islamic economics.
9. Ghazwul Fikri
10. Ukhuwah and Tasamuh (Brotherhood and Tolerance.
11. Nature and Man as creation
12. Al-Qur'an As-Sunnah and Ijtihad
13. Work ethic, business ethics and entrepreneurship
14. Politics and Civil Society
Course ID UAI-1B2
Course Name Christian Religious Education and Ethics
Credits 2
Description
This Christian Religious Ethics Education subject aims to form the character of students, so that they become "generations of God's arrows" that do not only exist in the midst of family, church, community and nation. But also being and impacting others and their surroundings.
P a g e | 6
Course ID UAI-1C2
Course Name Religious Education and Catholic Ethics
Credits 2
Description
This subject discusses the importance of building awareness and increasing the capacity of Catholic students who understand the origin, nature and purpose of life with dignified humans. Catholic students who are inspired by the lifestyle of Jesus Christ in the Bible, who are able to work together with other religious communities, respond to actual problems and realize the Church of one soul and soul share joy (church and community).
Course ID UAI-1D2
Course Name Hindu Religious Education and Ethics
Credits 2
Description
Hindu Religious and Ethical Education contains the teachings of God, humanity, morality, the universe, and motivates to have noble character, based on universal Hindu values. Teaches a work ethic, clear thinking concepts, commitment, and integrity, dedication, loyalty, sense of brotherhood, togetherness and responsibility.
Course ID UAI-1E2
Course Name Religious Education and Buddhist Ethics
Credits 2
Description
Buddhist education is an effort to produce Indonesian people who are able to understand, live, and practice/apply the Dharma in accordance with the Buddhist teachings contained in the Tipitaka/Tripitaka Scriptures so that they become responsible humans (according to Dharma principles) in everyday life.
Course ID UAI-1B2
Course Name Religious and Ethical Education Khong Hu Cu
Credits 2
Description
This material covers the urgency of religion in daily life with the right attitude, understanding of the legal source of Confucius, knowing the history of Confucius, being able to explain the Sacred Path that is taught by the Great Teachings (Thai Rights), able to explain about "examining the nature of each case ", Knowing Kong Hu Cu's role in the development of science and technology.
P a g e | 7
Course ID UWI-1A2
Course Name English
Credits 2
Description
English is a university subject with a focus on speaking skills integrated with other English language skills such as grammar, listening, and reading. The chosen language learning content is Cross Culture Understanding in the professional context in accordance with the study program.
Syllabus:
1. Introduction to Intercultural Communication
2. Complex sentences in Present Tense
3. Simple sentence in present tense
4. Compound sentences in Present Tense
Course ID CII-1F4
Course Name Programming Algorithm
Credits 3 (theory) + 1 (Practice)
Description
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.
Syllabus:
1. Introduction to Computational thinking: Decomposition, pattern recognition, data representation
and abstraction, algorithms.
2. Implementation of framework Computational Thinking for solving a problem.
3. Exploration of syntax pseudo-code for basic command in algorithm
4. Creating test-case for evaluating the solution of algorithm in covering all aspect of logic
5. Identification of iterative patterns and the sets of arrays.
6. Merging and finding insertion arrays
7. Problem solving with arrays.
8. Linear search and Binary search
9. Linear search and factorial with recursive
10. Searching and recursive
11. Selection and Insertion sort
12. Merge and Quick sort
13. Project sorting
14. Presentation project
P a g e | 8
Course ID CII-1G3
Course Name Discrete Mathematics
Credits 3
Description
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.
Syllabus:
1. Relation definition. Relation representation: arrow diagram, ordered pair, matrix, digraph. Set
operations on relations.
2. Properties of binary relations: reflexive, irreflexive, symmetric, anti-symmetric, asymmetric, and
transitive. Relation composition.
3. Function definition. Function representation: arrow diagram, ordered pairs, and mathematical
formulas. Properties of function: injectivity, surjectivity, and bijectivity. Special function: floor
and ceil.
4. Definition of recurrence relation. Problem modeling using recurrence relation. Characteristics
equation and its roots. Solution for second- order homogenous linear recurrence relations.
5. Basic counting techniques: addition rule (sum rule). multiplication rule (product rule),
subtraction rule (principle of inclusion-exclusion), and division rule.
6. Pigeonhole principle and its generalization.
7. Permutation and combination. Generalized permutation and combination.
8. Basic graph terminologies: nodes/vertices, edges/arcs, and neighbors. Handshaking theorem.
Subgraph, spanning subgraph, complementary graph, and graph union. Graph with special
structure (complete graph, circle graph, wheel graph, regular graph, bipartite graph). Graph
representation using matrices and lists.
9. Graph isomorphism. Connectivity. Euler and Hamilton paths and circuits
10. Planar graph. Vertex coloring. Optimization problem using vertex coloring.
11. Shortest path problem. Dijkstra’s algorithm. Tree definition. Rooted tree. Properties of m-ary
tree.
12. Spanning tree and minimum spanning tree. Prim’s algorithm. Kruskal’s algorithm.
13. Divisibility. Prime numbers. Prime factorization. Integer representation in decimal, binary, octal,
and hexadecimal notations.
14. Greatest common divisor. Least common multiple. Euclid’s algorithm for gcd calculation. gcd
as a linear combination. Modular congruence. Modular arithmetic. Modular inverse.
P a g e | 9
Course ID CII-1H3
Course Name Advanced Calculus
Credits 3
Description
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.
Syllabus:
1. Integral partial, integral trigonometric
2. Integral with substitution of Trigonometric and root and integral of rational function.
3. Convergence of sequence and an infinite series.
4. Positive series test i.e., Integral test, p-series test, limit comparison test, etc.
5. Changing sign of integral limit and absolute convergence.
6. Power series and its operation. Taylor series and MacLaurin series.
7. Real domain, graphic from vectorize function, derivative and tangential of vectors.
8. Kinematics particle and curvature.
9. Surface in ℝ3, function with two variables. Graphics of a function with two variables. Contours.
10. Partial derivatives, chain rules for derivation of multi variable function and gradient vectors.
11. Directional derivative from two variable function and tangent of surface and normal lines.
12. Extreme value from two variable function.
13. Doubles integral of rectangle and arbitrary shape.
14. Change the order of integral and boundaries problem.
Course ID CII-1I3
Course Name Digital System
Credits 3
Description
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.
Syllabus:
1. Conversion of Basis number
2. Signed numbers
3. Floating Point,
4. Conversion of basis number, signed number, and Floating Point
5. SOP/POS, K-Map
6. MEV
7. Digital circuit
8. Combinational Jig circuit
9. Combinational Saw circuit
10. Application of combinational circuits
P a g e | 10
11. Combination Circuits
12. Finite State Machine
13. Flip-Flop dan Counter
14. Detector and analysis of sequential circuits
Course ID CII-1J3
Course Name Database Modeling
Credits 3
Description
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.
Syllabus:
1. Introduction to database
2. Process of developing database (Life cycle)
3. Modeling data in organization
4. Advanced E-R modeling
5. Logical Database Design and Relational model
6. Normalisation
7. Review
8. Physical Database Design
9. Implementation
10. Table process (Basic Query)
11. Table process (Basic Query 2)
12. Processing some tables (Clausa Join)
13. Subquery
14. Review Implementation Database
Course ID CII-2A3
Course Name Organization and Computer Architecture
Credits 3
Description
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.
Syllabus:
1. System computer
2. Input/Output and Bus
3. Hierarchy and organization of Memory
4. Main memory and Hamming Code
5. Magnetic memory, RAID and Optic memory
6. Designing Memory Cache 1
7. Designing Memory Cache 2
P a g e | 11
8. Architecture SAP-1
9. Architecture SAP-2
10. Architecture SAP-3
11. Architecture MIPS
12. Instruction MIPS
13. Assembly MIPS
14. Compilation Assembly MIPS
Course ID CII-2B4
Course Name Data Structures
Credits 3 (theory) + 1 (practice)
Description
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)
Syllabus:
1. Algorithm and programming in C++ languange, Data Types
2. Pointer and ADT
3. Single linked list 1
4. Single linked list 2
5. Double linked List
6. Circular linked List
7. Stack
8. Queue
9. Graph
10. Multi linked list
11. Tree
12. Recursive in Tree
13. Review graph and Tree
14. Presentation of Project
Course ID CII-2C2
Course Name Analysis of Algorithm Complexity
Credits 2
Description
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.
P a g e | 12
Syllabus:
1. Introduction to analysis of algorithm complexity.
2. Correctness proof of iterative algorithm
3. Recall on recursive algorithm
4. Correctness proof of recursive algorithm
5. The importance of developing efficient algorithms
6. Input's size, basic operation, worst/average/best case
7. Time complexity and asymptotic and its definition.
8. Mathematical analysis of non-recursive algorithms
- Extreme values
- Unique elements"
9. Mathematical analysis of non-recursive algorithms
- Binary digits
- Evaluation on various algorithms"
10. Mathematical analysis of recursive algorithms
- Solving recurrences by substitution "
11. "Solving recurrences by characteristic equation (homogeneous)
- Evaluation"
12. Solving recurrences by characteristic equation (nonhomogeneous)
13. Solving recurrences by changing the domain variable
14. Solving several sample problems on correctness and complexity
Course ID CII-2D3
Course Name Matrix and Vector Space
Credits 3
Description
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)
Syllabus:
1. Matrix and its operation: Introduction
2. Matrix and its operation: Invers using OBE
3. Determinant of Matrix
4. Linear system of equations: Definition and solution using OBE
5. System of equations: Solution using Invers, and Crammer and SPLHomogen
6. Euclidean vector space: vector in plane and space, Norm, Dot product and distance
7. Euclidean vector space: Orthogonality and Cross Product
8. Generalized vector space: Definition of vector space
9. Generalized vector space: subspace
10. Generalized vector space: Basis
11. Dot product of vector space
12. Linear Transformation
P a g e | 13
13. Eigen space: Definition of value and vector eigen
14. Eigen space: Orthogonal and Application of Eigen as a solution for system of ODE
Course ID CII-2E2
Course Name SE: Requirement analysis
Credits 2
Description
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.
Syllabus:
1. Overview software engineering
2. Life cycle of developing software engineering
3. Requirements definition, requirements engineering, and its activity
4. Types of requirements: User/System, Functional-Non Functional
5. Techniques of elicitation
6. Role play elicitation
7. Modeling software engineering
8. Specification of needs based on natural language
9. Goal-modeling
10. Use Case
11. Data Flow Diagram
12. Introduction to Class and Entity Relational Diagram
13. Template-based requirement specification
14. Presentation project
Course ID CII-2F2
Course Name Database System
Credits 3
Description
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.
Syllabus:
1. Introduction to Database system
2. Storage Management
3. Indexing
4. Indexing Project
5. Query Processing
6. Query Processing (2)
7. Query optimization
8. Transaction
- Transaction Concept
- Transaction State
- Concurrent Execution
9. Transaction (2)
- Conflict Serializability
- View Serializability
10. Transaction (3)
- Recoverable Schedule
- Levels of consistency
- Transaction definition in SQL
11. Concurrency Control (1)
- Lock-based Protocols
- Deadlock Handling
12. Concurrency Control (2)
- Two-phase Locking Protocols
13. Recovery
14. Review
Course ID CII-2G2
Course Name Probability Theory
Credits 3
Description
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
Syllabus:
1. Introduction
- review measurements of statistics
- Experiments, Outcomes and Probability
2. Calculating probability value using combinatoric analysis
3. Conditionally probability and Theorem Bayes
4. Random variables
- Definition and basic concept
- Probability function and distribution
5. Random variables :
- Expectation and varians
6. Bivarate random variables: Discrete
7. Bivarate random variables: Continuous
8. Distribution: Bernoulli, Binomial, Hypergeometric, dan Poisson.
9. Distribution: Binomial, Poisson dan Hypergeometric.
10. Distribution: Uniform dan Exponential.
11. Parameters of sampling distribution and central limit theorem
12. Distribution Total sample and average Sample.
13. Stochastic process and Markov chain
14. Application of Markov chain
P a g e | 1
Course ID UKI-2A2
Course Name Civics Education
Credits 2
Description
In this subject, students are taught starting from basic knowledge about Indonesian citizenship, including definition, developing positive attitudes, national spirit, love for the motherland and defending the country, national integration, constitutional norms, the 1945 Constitution of the Republic of Indonesia and certain legal provisions, rights and obligations , democracy, archipelago insight.
Syllabus:
1. The background and learning objectives of Civics Education. National and terrestrial dynamics
Explanation of national identity and related matters, including Pancasila, 1945 Constitution,
defending the country
2. Indonesian ethnicity and culture Bhineka Tunggal Ika the function of the constitution in national
and state life.
3. Archipelago insights and national resilience. The basic concept of the state of law Law number
31 of 1999 on corruption offenses and Law number 20 of 2001 on its changes
4. Jurisprudence of court decisions on criminal conduct Good and smart citizenship
5. The background and learning objectives of Civics Education. National and terrestrial dynamics
Explanation of national identity and related matters, including Pancasila, 1945 Constitution,
defending the country
6. Indonesian ethnicity and culture Bhineka Tunggal Ika the function of the constitution in national
and state life.
7. Archipelago insights and national resilience The basic concept of the state of law Law number
31 of 1999 on corruption offenses and Law number 20 of 2001 on its changes
8. Jurisprudence of court decisions on criminal conduct Good and smart citizenship
9. The background and learning objectives of Civics Education. National and terrestrial dynamics
Explanation of national identity and related matters, including Pancasila, 1945 Constitution,
defending the country
10. Indonesian ethnicity and culture Bhineka Tunggal Ika the function of the constitution in national
and state life.
11. Archipelago insights and national resilience The basic concept of the state of law Law number
31 of 1999 on corruption offenses and Law number 20 of 2001 on its changes
Course ID CII-2H3
Course Name Operating System
Credits 3
Description
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.
P a g e | 2
Syllabus:
1. Definition, goal and the function of operating system with case study (Analysis OS modern:
evolution, efficiency, compability, etc)
2. Abstraction, process, resource, Kernel structure (monolitic, micro kernel, modular, etc)
3. interrupts: method and implementation; concept: user/system state and protection, transition to
kernel mode;Syscall
4. Process and thread
5. Structure (ready list, process control blocks, etc); Dispatching ,state and context switching
6. Atomic access pada OS
7. Implementation method of primitive synchronization (mutex, semaphore, dll)
8. Main concepts in operating system, process, thread and synchronize process
9. Scheduling in OS; types of scheduling (short term, long term); scheduling performance
10. Preemptive and non-preemptive scheduling
11. definition of virtual memory; guidence virtual memory and indirection; types of virtual memory
12. Page table; Working set, thrashing
13. Virtual machine; implementation method in virtual machine
14. Overview system security
15. Security methods in OS
16. Scheduling, virtual memory, virtual machine and security in OS
Course ID CII-2I3
Course Name ICT Global Insight
Credits 2
Description
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.
Syllabus:
We will invite 4 speakers (Researcher, practitioner, etc) outside of Telkom University or overseas to
give new insight of ICT. Therefore, the topic will be depend on speakers.
Course ID CII-2J4
Course Name Computer networks
Credits 3 (theory) + 1 (practice)
Description
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.
P a g e | 3
Syllabus:
1. Organization of the Internet (Internet Service Providers, Content Providers, etc.)
• Roles of the different layers (application, transport, network, datalink, physical)
• Physical pieces of a network, including hosts, routers, switches, ISPs, wireless, LAN,
access point, and firewalls
2. Ethernet
• Local Area Networks
• End-to-end versus network assisted approaches
3. Switching
• Switching techniques (e.g., circuit, packet)
• Layering principles (encapsulation, multiplexing)
4. IPv4
5. Routing versus forwarding
• Static routing
6. IPv6
7. UDP
8. TCP
• Multiplexing with TCP and UDP
9. Principles of congestion control
• Approaches to Congestion (e.g., Content Distribution Networks)
10. Naming and address schemes (DNS, IP addresses, Uniform Resource Identifiers, etc.)
• Distributed applications (client/server, peer-to-peer, cloud, etc.)
• HTTP as an application layer protocol
• Socket APIs
11. Error control (retransmission techniques, timers)
• Flow control (acknowledgements, sliding window)
• Performance issues (pipelining)
12. Fairness
• Multiple Access Problem
• Common approaches to multiple access (exponential-backoff, time division
multiplexing, etc)
• Need for resource allocation
• Fixed allocation (TDM, FDM, WDM) versus dynamic allocation
13. Security Threats
• Mitigating Security Threats
14. Principles of cellular networks
• 802.11 networks
Course ID CII-2K3
Course Name Algorithm Strategies
Credits 3
Description
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.
P a g e | 4
Syllabus:
1. Introduction to course policies
- Recall on asymtotic complexity
- Explain on simple numerical algorithms, such as computing the average of a list of
numbers, finding the min, max, and mode in a list, approximating the square root of a
number, or finding the greatest common divisor
2. Brute force strategy
- Definition
- Its characteristics
- Examples on exponentiation, string matching etc
3. Brute force on exhaustive search:
- Knapsack problem
- TSP
4. Greedy strategy
- Definition and its characteristic
- Sample cases: coin change, scheduling, MST : Prim & Kruskal algorithm; Shortest
path: Dijsktra; Huffman code
5. Greedy strategy
- 0/1 & fraction knapsack: greedy by profit, weight, density
- Comparison analysis with exhaustive search
6. Divide Conquer (DC)
- Definition and general scheme of DC
- A sample case: Finding extreme values, do comparison with Brute force
- Other cases: Exponentiation, Matrix multiplication, etc.
- The difference between recursive algorithm and DC scheme.
7. Divide conquer
- Sorting algorithm: Merge sort & Quick sort
- Analyze their complexities on worst/average cases.
8. Dynamic programming
- Definition of DP
- The deference between DC
- Case study Fibonacci & binomial coefficients
- Concept of memoization pada 0/1 Knapsack
- Another case of optimization
9. Backtracking
- Definition and overview of DFS
- State-space tree construction
- Sample cases: N-queens problem, Permutation, 0/1 Knapsack, Subset-sum
- Other examples/cases.
10. Branch bound
- Definition and overview of BFS
- State-space tree construction
- Understanding the bound function
- Sample cases: 0/1 Knapsack, TSP.
- Do comparison with Backtracking
11. Introduction to computational complexity: Sorting Algorithm (worst case quadratic sorting:
selection and insertion)
12. Introduction to computational complexity: Searching Algorithm
13. Limitations of Algorithmic Power:
- P and NP Problems
- NP-complete Problems
- Approximation algorithms for NP-hard
14. FINAL PROJECT
P a g e | 5
Course ID CII-2K3
Course Name Languages and Automata Theory
Credits 3
Description
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.
Syllabus:
1. Introduction to Languages and Automata Theory, hierarchy of Chomsky language
2. Finite Automata, transition diagram and tables
3. Fully-defined DFA, conversion NFA -> DFA
4. NFA with Epsilon move, conversion NFA with Epsilon move -> DFA
5. Minimum DFA
6. Union operation of FA, Regular expression
7. Conversion Regular expression to FA and vice versa
8. Pushdown Automata
9. CFG, Conversion CFG -> PDA
10. LL parsing
11. CNF grammar
12. Machine Turing
13. Combination of Machine Turing, block Machine Turing
14. Introduction to NP problem
Course ID CII-2M3
Course Name Introduction to Artificial Intelligent
Credits 3
Description
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.
Syllabus:
1. Definition of AI.
•Foundation of AI.
•History of AI.
•Future of AI.
•Risk and benefit of AI.
2. Representation of condition space.
•Blind (Uninformed) Search.
3. Heuristic (Informed) Search
•Best First Search, A*
•Simulated Annealing
4. Metaheuristic Search
•Genetic Algorithm (GA)
5. Knowledge-based Agents
•Propositional Logic
6. First-Order Logic
•Knowledge Engineering
7. Fuzzy Set and Fuzzy Rule
•Fuzzy Rule-Based Systems
8. Forms of learning.
•Linear regression.
P a g e | 1
9. k-nearest neighbor (kNN)
•Advanced kNN methods
10. Decision tree.
•Entropy, Information Gain, Gain Ratio.
•ID3 Algorithm.
11. C4.5 Algorithm
•Multivariate Splitting
12. Path Planning.
•Classical Planning.
13. Real World Planning.
•Job-Shop Scheduling Problem.
•Heuristic-based Scheduling.
14. Metaheuristic-based Scheduling.
•GA-based Scheduling
.
Course ID UWI-3A2
Course Name Entrepreneurship
Credits 2
Description
In this subject learns the basic concepts of entrepreneurship; negotiating innovation and developing ideas by developing a business plan; learn about cooperating, negotiating (the pitching process), being responsible (preparing financial statements); business relations which include the implementation and evaluation of a business plan and take part in the market day.
Syllabus:
1. Definition of entrepreneurship and characteristics of entrepreneurship
2. Marketing mix and STP, Definition of SWOT
3. Negotiation
4. Leadership
5. Motivation and Inspiration
6. Definition of innovation
7. and the usefulness of innovation / idea development
8. Definition of location, raw materials, suppliers, equipment and technology
9. Market test
10. Cooperation
11. Evaluation of the results of the implementation of the business plan
12. Business plan
13. Definitions of income, expenses, profit and loss, cash flow and payback period
14. Goal setting
15. Business relations
Course ID CII-3A3
Course Name Human Computer Interaction
Credits 3
Description
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.
P a g e | 1
Syllabus:
1. Definition of HCI
2. Overview method design UI
3. Definition Persona
4. Understanding business and needs analysis
5. Structure and function of Menu
6. Types of Interaction platform
7. Guidelines in text writing and message
8. Consideration of Internationalisation
9. The goal of organization of page layout
10. Usability test
11. Overview web and moving platform
12. Definition game
13. Process Design UI
Course ID CII-3B4
Course Name Object Oriented Programming
Credits 4
Description
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..
Syllabus:
1. Class Diagram, Relation, Agregasi, Composition
2. Introduction to OOP
3. Class and Object
4. Encapsulation
5. Class Relationship
6. Inheritance
7. Abstract and Interface
8. Polymorphism
9. Inner Class
10. Collection and Generics
11. Exception Handling
12. Persistence Object, JDBC
13. Multithreading
14. Swing dan Model View Controller
P a g e | 2
Course ID CII-3C3
Course Name Machine Learning
Credits 3
Description
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.
Syllabus:
1. Introduction to ML, Taxonomy ML, etc
2. Understanding the sets of data
3. Performance measurement
4. Unsupervised Learning.
5. Hierarchical Clustering
6. Supervised Learning
7. Single Perceptron
8. Multi Layer Perceptron (MLP)
9. Architecture MLP
10. Introduction to Deep Learning (DL)
11. Architecture DL
12. Ensemble Learning
13. Stacking
14. Reinforcement Learning
15. Temporal-Difference Learning (TD)
16. Project presentation
Course ID CII-3D4
Course Name Parallel and Distributed System
Credits 4
Description
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.
Syllabus:
1. Introduction to parallel and distribution system
2. Architecture of parallel and distribution system
3. Performance of parallel and distribution system
4. Socket programming (Interprocess communication)
5. Remote procedure/remote invocation
6. Indirect messaging
P a g e | 3
7. Thread dan synchronization
8. MPI
9. Middleware
10. Service Oriented Architecture
11. Microservice
12. Study case of SOA and microservice
13. Final Project
Course ID CII-3E3
Course Name Cyber Security
Credits 3
Description
This 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.
Syllabus:
1. Introduction to Security
2. Identity Theft
3. Information as an asset
4. Usable security
5. The secret of leeping secrets
6. Application of Cryptographic hash function
7. Passwords security
8. Viruses
9. Digital Evidence
10. Digital Investigation
11. the rule of security
12. What is the Internet?
13. Firewall
14. VPN
Course ID CII-3F1
Course Name Information for the public
Credits 1
Description
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.
Syllabus:
Students are expected to make one activity for the public.
P a g e | 4
Course ID CII-3G3
Course Name Project Management
Credits 2
Description
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.
Syllabus:
1. Introduction to Project management
2. Organization of Project management and ICT
3. Process Project Management
4. Integrated Project Management
5. Boundary of Project Management
6. Time of Project Management
7. Cost of Project Management
8. Quality of Project Management
9. Management human resources
10. management communication
11. Management risk in ICT
12. Project management for procurement
13. Final project
Course ID CII-3H4
Course Name Platform-based Application
Credits 4
Description This course discusses the concepts and techniques of application development by utilizing web and mobile platform technologies
Syllabus:
1. Introduction to Web Technology
2. Introduction to CSS
3. Introduction to Js and JQuery
4. Introduction to XML and JSON
5. Introduction to PHP
6. Introduction to DBMS
7. Edit Data
8. Platform and programming language for mobile application
9. Android Architecture
10. View of mobile application
11. Event Listener
12. HTTP access
13. Insert data
14. Maps
P a g e | 5
Course ID CII-3I3
Course Name English for Presentation
Credits 3
Description
In this course, students will learn to communicate in oral and written English to deliver a conference presentation. Students practice to develop mindmap/outline, slides, short paragraphs, and presentation skills using proper citation and good gestures. After attending this course, students will have the skills to prepare and deliver slide and poster presentations, as well as dealing with question-and-answer session while applying the main principles of academic honesty and interactive communication.
Syllabus:
1. Introductory Sentence; Subjects and Predicate; Personal and
2. Impersonal Sentences
3. Topic Sentence; Active and Passive Sentences; S-V Agreements
4. Supporting Sentence; Sentence Connectors; Three varieties of sentences
5. Irrelevant sentence
6. Concluding Sentence; Three varieties of sentences
7. Body language; Bad body language
8. Bad visuals; Good visuals; Better visuals
9. Beginning; Middle; Ending
10. Good body language; Good visuals; Signposting
Course ID CII-3J4
Course Name SE: Design and Implementation
Credits 3
Description
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.
Syllabus:
1. Process model
2. Principal of design
3. Concept of Configuration management
4. Concept of Architecture design
5. Brief concept of user interface design
6. Database concept
7. Case diagram
8. Sequence diagram
9. Introductory to concept of basic robustness analysis
10. Introductory to concept of basic design pattern
11. Introductory to concept of code readability and maintainability
12. Template of documentation design
13. Project presentation
P a g e | 6
Course ID CII-3K2
Course Name Socio-Informatic and Professionalism
Credits 2
Description
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.
Syllabus:
1. Interaction society with ICT
2. Solution of ICT for social problems
3. Technique and technology from informatics for social aspect
4. Big data phenomena
5. Analysis Big data
6. Challenge in computational Social
7. Law for user, software developer
8. Fundamentals of Professionalism:
- personal ethics
- engineering ethics
- Important of ethics in Sains
9. Fundamentals of Professionalism:
- Concept of Professionalism
- Ethic of Professionalism
10. Some soft-skills for developing Professionalism
Course ID CII-4A2
Course Name Proposal Writing
Credits 2
Description
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.
Syllabus:
1. Literature review
2. Finding and selection main references
3. Critical in literature review
4. Writing literature review in well structured
5. Characteristic of research problem
6. Writing research problem
P a g e | 7
Course ID CII-4B3
Course Name Practical Work
Credits 3
Description
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.
Syllabus:
Students work in a reputable company in problem solving task.
Course ID CII-4C3
Course Name Scientific Writing
Credits 3
Description
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.
Syllabus:
1. Introduction to Scientific Writing and the structure of scientific article
2. Basic of LaTeX
3. Figures, Tables, Algorithm, Symbols and Mathematics Formula
4. Title, Authors and introduction to abstract
5. Abstract and Introduction Section
6. Related study
7. Methodology
8. Evaluation
9. Conclusion and References
10. Language and editing in English
11. Slide and Presentation
12. Research Ethic and Plagiarism
13. Presentation Project
Course ID CII-4D3
Course Name English for Carrier
Credits 3
Description
In this course, students learn to use English verbally and in writing to practice communication skills related to employment search and entrepreneurial interactions. Through self-recordings, interview simulations, and roleplays, students learn the principles of good verbal and non-verbal communication, as well as positive self-branding. After completing this course, students will have the skills to prepare and deliver oral and written communications in the form of job interview and simulation of entrepreneurial interaction, one of which involves an external assessor.
P a g e | 8
Syllabus:
1. Introductory Sentence; Subjects and Predicate; Personal and
2. Impersonal Sentences
3. Topic Sentence; Active and Passive Sentences; S-V Agreements
4. Supporting Sentence; Sentence Connectors; Three varieties of sentences
5. Irrelevant sentence
6. Concluding Sentence; Three varieties of sentences
7. Body language; Bad body language
8. Bad visuals; Good visuals; Better visuals
9. Beginning; Middle; Ending
10. Good body language; Good visuals; Signposting
ELECTIVE COURSE
Course ID CII-3L3
Course Name Advanced Machine Learning
Credits 3
Description
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).
Syllabus:
1. Introduction
2. to AML
3. Automated Machine Learning
(AutoML)
4. Evolutionary Machine Learning (EML)
5. Evolutionary Computation (EC)
6. Grammatical Evolution (GE)
7. Swarm Intelligence (SI)
8. Particle Swarm Optimization (PSO)
9. Firefly Algorithm (FA)
10. Grey Wolf Optimization (GWO)
11. Rao Algorithm (RA)
12. Concept of ESL
13. Evolutionary Decision Tre
14. Evolutionary Multi Layer Perceptrons
15. Evolutionary Reccurent Neural
Networks
16. Evolutionary Clustering
17. Evolutionary k-Means Clustering
18. Evolutionary Hierarchical Clustering
19. Evolutionary Deep Learning
20. Network Architecture Search
21. Parameters Optimization
22. Evolutionary Deep Neural Networks
23. Evolutionary Deep Neural Networks
24. Evolutionary Ensemble Learning
25. Evolutionary Bagging
26. Evolutionary Boosting
27. Evolutionary Stacking
28. Evolutionary Classifier Selection
29. Evolutionary Ensemble Selection
30. Evolutionary Reinforcement Learning
31. Evolutionary Reinforcement Learning
32. Evolutionary Reinforcement Learning
33. Project presentation
References:
P a g e | 1
[1] Suyanto, "Evolutionary Machine Learning", Penerbit Informatika, Bandung, 2020.
[2] Miroslav Kubat, "An Introduction to Machine Learning" Second Edition, Springer, 2017.
[3] Richard S. Sutton and Andrew G. Barto, "Reinforcement Learning - An Introduction" Second Edition,
The MIT Press, Cambridge, Massachusetts, London, England, 2020
[4] Suyanto, "Swarm Intelligence: Komputasi Modern untuk Optimasi dan Big Data Mining", Penerbit
Informatika, Bandung, 2017
[5] Suyanto, "Evolutionary Computation: Komputasi Berbasis `Evolusi’ dan `Genetika’", Penerbit
Informatika, Bandung, 2008
[6] Suyanto, "Machine Learning: Tingkat Dasar dan Lanjut", Penerbit Informatika, Bandung, 2018
[7] Sandro Skansi, "Introduction to Deep Learning: From Logical Calculus to Artificial Intelligence",
Springer, 2018
Course ID CII-3M3
Course Name Knowledge Representation
Credits 3
Description
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.
Syllabus:
1. Introduction to knowledge representation and reasoning
2. Classical logic: Calculus of the 1st order predicate
3. Reasoning in the 1st order predicate calculus
4. Description logic: syntax and semantics
5. Description logic: reasoning
6. Introduction to ontology
7. OWL
8. Ontology development
9. Ontology development
10. Ontology evaluation
11. Query
12. Combination of logic and probability
13. Application of representation of knowledge and reasoning
References:
1. Franz Baader, Diego Calvanese, Deborah L. McGuinness, Daniele Nardi, Peter F. Patel-Schneider,
The Description Logics Handbook: Theory, Implementation and Application, Cambridge University
Press, 2010.
2. Pascal Hitzler, Markus Krötzsch, Sebastian Rudolph, Foundations of Semantic Web Technologie,
Chapman and Hall/CRC, 2009.
P a g e | 2
Course ID CII-3N3
Course Name Multi Agent System
Credits 3
Description
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.
Syllabus:
1. Introduction
- Trends in the History of Computing
- First Definition of agent and
multiagent systems
2. Intelligent Agent
- Agents and Environments
3. Intelligent Agent
- Behaviour of Intelligent agents
- Intentional Systems
4. Intelligent Agent
- Abstract Architectures for Intelligent
agentsIntelligent Agent
- Utitlities functions for Agents
- Sequential Decision Making
- Optimal Agents
5. Deductive reasoning agents
- Agents as theorem provers
- Agent oriented programming
6. Practical reasoning agents
- Deliberation
- Means-ends reasoning
- Implementing a practical reasoning
agent
7. Reactive and Hybrid Agents
- Agent network architecture
- Limitations of reactive agents
- Touring machines
8. Jason and Agent Speak
9. Ontologies and communication
- Ontology building block
- Ontology languages
- Speech acts
- Agent communication languages
10. Agents working together
- Cooperative distributed problem
solving
- Task and result sharing
- Coordination
11. Multiagent interactions
- Utilities and Preferences
- Dominant strategies
- Nash equilibria
- Pareto efficiency
- Maximizing social welfare
12. Multiagent interactions
- Competitive and Zero-sum
Interactions
- The prisoner's dilemma
13. Making group decisions
- Social welfare and social choice
function
- Voting procedures
- Desirable properties for voting
procedures
14. Forming coalitions
- Cooperative games
- Representation issue
- Representation for simple games
15. Allocating scarce resources
- Auctions
- Auctions for single items
- Auctions in practice
16. Bargaining/Negotiation
- Auction vs Negotiation
- Resource division
- Negotiation for task allocation
Reference:
[IMAS] An Introduction to Multi Agent Systems - Second Edition. Michael Wooldridge (Wiley, 2009)
Course ID CII-3O3
P a g e | 1
Course Name AI-enabled IoT
Credits 3
Description
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.
Syllabus:
1. Introduction to
2. AI-enabled IoT
3. Terminology and definitions in IoT
4. Concept of IoT
5. Embedded Systems for IoT
6. Sensor and interface system
7. Communication protocol of IoT
8. Concept of Big Data
9. Fundamental: Analysis Data and
Statistics for IoT
10. Data Filtering
11. Data Regression
12. Data Interpolation
13. Basic Actuator Control for IoT
14. Smart Control for IoT
15. Machine Learning Concepts for IoT
16. Tensor Flow and Loud
17. Live Stream Data Analysis with Flow
tensor and Arduino
18. AI for IoT Smart City
19. AI for IoT Health System
20. Human Activity Recognition based on
IoT with Machine Learning
21. Project Idea
22. Project
23. Design
24. Project Implementation
25. project presentation
References:
[TRI17] Tripathy, BK and Anuradha, J.2017. Internet of Things (IoT): Technologies, Applications,
Challenges and Solutions
[CIR18] Cirani, Simone and Ferrari, Gianluigi and Picone, Marco and Veltri, Luca.2018. Internet of
Things: Architectures, Protocols and Standards
[HWA16] Hwaiyu, Geng and McKeeth, J. 2016. Internet of Things and Data Analytics Handbook
[DAR19] Dartmann, Guido and Song, Houbing and Schmeink, Anke. 2019. Big data analytics for cyber-
physical systems: machine learning for the internet of things
[KRO17] Krohn, Richard and Metcalf, David and Salber, Patricia.2017.Connected Health: Improving
Care, Safety, and Efficiency with Wearables and IoT Solution
Course ID CII-3P3
Course Name Modeling and Simulation
Credits 3
Description 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.
P a g e | 1
deterministic and stochastic modeling. In this course, several algorithms of artificial intelligence are implemented to simulate some simple phenomena.
Syllabus:
1. Introduction to concept of Modelling and Simulation
2. Algorithm of fall free
3. Simulation of Fall free
4. Algorithm of Projectile Motion
5. Simulation of Projectile Motion
6. Experiment of approximation of pi value using Bufoon's Needles method
7. Simulation for approximating of pi value using Bufoon's Needles method
8. Simulation for approximating of pi value using Mente Carlo method
9. Simulation for approximating of an Integral value using Mente Carlo method
10. Random Walk Simulation
11. Final Project
References:
A.B. Downey. Modeling and Simulation in Python. Green Tea Press. 2017.
V.P. Singh: System Modeling and Simulation. New Age International Publishers 2009
Course ID CII-4G3
Course Name Natural Language Processing
Credits 3
Description
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.
Syllabus:
1. Introduction to NLP
2. Statistical language model
3. Introduction to semantic vector: term-document matrix vs term context matrix, PPMI, cosine
similarity
4. Introduction to Deep Learning for NLP: word representation with semantic vector (word2vec)
5. POSTagging
6. Syntactic Parsing: constituency parser, CFG, PCFG, CYK method
7. Syntactic Parsing: dependency parser, parsing learning based method, evaluating parser
8. Word sense disambiguation, semantic similarity based on thesauri/WordNet: Lesk method
9. Text classification with conventional Machine Learning and deep learning approach, and their
evaluation
10. Neural machine translation
11. Introduction to speech processing
12. Application NLP: Information extraction
13. Application NLP: Q & A, chatbot
14. Evaluation of Application NLP: Information extraction, Q&A, chatbot
P a g e | 2
References:
1. Jurafsky, D., & Martin, J. H. (2019). Speech and Language Processing (3rd (draft)
1. Manning, C. D., Manning, C. D., & Schütze, H. (1999). Foundations of statistical natural language
processing. MIT press.
2. Goldberg, Y. (2017). Neural Network Methods for Natural Language Processing. Morgan & Claypool.
Course ID CII-4H3
Course Name Recommender System
Credits 3
Description
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.
Syllabus:
1. Introduction to the recommendation system
2. Inputs and methods in the recommendation system
3. Evaluating the recommendation system
4. Collaborative filtering method
5. Matrix Factorization
6. Introduction to content based filtering
7. The use of TF-IDF in content based filtering
8. All material CLO 1-2, as well as CLO 3
9. Knowledge-based recommendation system
10. Hybrid method in recommendation system
11. Context based recommendation system
12. Group recommender systems
13. Explain the results of recommendations to users
14. Deep learning application on recommendation system
15. Dissemination of research results in the field of recommendation giving systems
References:
1. Ricci, Francesco, Lior Rokach, and Bracha Shapira. "Introduction to recommender systems
handbook." Recommender systems handbook. Springer, Boston, MA, 2011
2. Jannach, Dietmar, et al. Recommender systems: an introduction. Cambridge University Press, 2010.
3. Banik, Rounak. Hands-On Recommendation Systems with Python: Start building powerful and
personalized, recommendation engines with Python. Packt Publishing Ltd, 2018.
P a g e | 3
Course ID CII-4I3
Course Name Data Mining
Credits 3
Description
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.
Syllabus:
1. Preliminary
2. Data Mining Components
3. Data Mining Task
4. Get to know CRISP-DM
5. Example of Data Mining Case Study
6. Data Type
7. Descriptive Statistics
8. Data Visualization
9. Similarity measurement
10. Definition of Quality Data
11. Data preprocessing: Data Cleaning,
Data Integration and Transformation,
Data Reduction and Data
Discretization
12. Definition of Classification and
Prediction
13. Model Building Process
14. Evaluation of Classifier Models
15. Naïve Bayes Algorithm
16. Decision Tree Algorithm
17. Definition of Clustering
18. Cluster Building Process
19. Evaluation of Cluster Results
20. The K-Means Algorithm
21. Hierarchical Cluetering
22. Definition of Association Analysis
23. The Process of Establishing
Association Rules
24. Evaluation of Association Rules
25. Apriori algorithm
26. FP-Growth Algorithm
References:
[HAN12] Data Mining Concept and Technique 3rd Ed., Jia Wei Han,Micheline Kamber, Jian Pei. Morgan
Kaufmann, 2012.
[TAN19] Introduction to Data Mining 2nd Edition . Pang Ning Tan, Michael Steinbach, Vipin
Kumar.Pearson-Addison Wesley 2019.
[WIT17] Data Mining Practical Machine Learning Tools and Technique., Ian H.Witten,Eibe
Frank,Mark.A.Hall, Christoper J.Pall, Morgan Kaufmann, 2017
[SUY17] Data Mining untuk Klasifikasi dan Klasterisasi Data, Suyanto , Penerbit Informatika 2017
Course ID CII-4J3
Course Name Analysis of Computer Network Performance
Credits 3
Description
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
P a g e | 1
of IP traffic and network performance monitoring, review of congestion control, fairness and scheduling, and queuing systems to model performance.
Syllabus:
1. Introduction
2. Traffic Classification
3. Transport Performance
4. Network Performance & Metrics
5. Scheduling and Policing Mechanism
6. Congestion Control Algorithm
7. Congestion Control Algorithm with Network Scheduling
8. Probability : Revisited
9. Stochastic: Markov Chain
10. Network Performance Monitoring SNMP
11. Network Performance Monitoring SNMP + Netflow
12. Queuing System: Basic Concept and M/M/1
13. Active Queue Management
14. Network Performance Monitoring
References:
1. James F. Kurose et all. Computer Network: A Top Down Approach, Addison Wesly, New York, 2001.
2. B.R. Haverkort. Perfomance Analysis of Communication Network: A Model Based Approach. John
Willey and Son. 1998
3. Dr. Ing. Andreas Willig. Perfomance Analysis Technique. Universitaat Postdam. Germany. 2004
4. Sanjay Jha and Mahbub Hassan. Engineering Internet QoS. Artech House 2002
5. An Introduction to Queueing Theory: Modeling and Analysis in Applications (Statistics for Industry
and Technology) 2nd ed. 2015 Edition
Course ID CII-4K3
Course Name Intelligent Security Sistem
Credits 3
Description
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.
Syllabus:
1. Attacker goals, capabilities, and motivations; cryptography
P a g e | 2
2. Denial of service, spoofing, sniffing and traffic redirection, man-in-the-middle, message integrity
attacks, routing attacks, and traffic analysis
3. Secure channels, secure routing protocols, secure DNS, VPNs, anonymous communication
protocols, isolation
4. Viruses, worms, spyware, botnets, Trojan horses or rootkits
5. Network monitoring, intrusion detection, firewalls, spoofing and DoS protection, honeypots,
tracebacks
6. AI revisited, the positive uses of AI, drawbacks and limitations of using AI
7. Malware Identification, Intrusion Detection, Phishing and SPAM Detection, Countering an
Advanced Persistent Threat
8. Use case: AI for malware identification
9. Use case: AI for threat detection
10. Use case: AI for AI for proactive response
11. Use case: AI for autonomous patch deployment
12. Use Case: AI for responding threat
13. Use Case: AI for spam and phishing detection
14. Use Case: AI to categorize attacks
References:
Stallings, William, Cryptography and Network Security: Principles and Practice, Pearson, 2017
Sikos, Leslie F., AI in cybersecurity, Springer International Publishing Springer, 2019
Ted Coombs, Artificial Intelligence & Cybersecurity, John Wiley & Sons, Inc., 2018
Course ID CII-4L3
Course Name Data Visualization
Credits 3
Description
This course is all about data visualization, the art and several techniques of turning data into readable graphics presentation. Students learn how to design and implement the visualization based on the available data and the goal to be achieved. This course points the use of visualization for data analytics supporting several topics in machine learning. Students will design and create their own data visualization and learn how to use a tools such a Gnuplot, Matplotlib, and interactive data visualization with Python's Bokeh.
Syllabus:
1. Introduction to Data Visualization
2. Basic plot in Gnuplot and piping to C/C++
3. Plot function in numerical approach
4. Visualize mathematical of 2D wave model.
5. Visualize mathematical of 3D wave model
6. Output Terminal for LaTeX and creating simulation video from images.
7. Introduction to Matplotlib in Python
8. Filled curve, boxplot and Animation in Python
9. Plot 3D in Matplotlib
10. Text Visualization in Python
11. Interactive visualization with Python's Bokeh part I.
12. Interactive visualization with Python's Bokeh part II.
P a g e | 3
13. Final term Project Presentation.
References:
1. Susanto, ABe, I. Wayan Warmada, Tim PANDU, and I. Made Wiryana. "Gnuplot untuk Orang Lugu."
St Pauli (2000).
2. Telea, Alexandru C. Data visualization: principles and practice. CRC Press, 2014.
3. Jolly, Kevin. Hands-On Data Visualization with Bokeh: Interactive Web Plotting for Python Using
Bokeh. Packt Publishing Ltd, 2018.
4. Bokeh Contributors, 2019, NumFOCUS, accessed 2 February 2020, https://docs.bokeh.org/en/2.0.2/
Course ID CII-4M3
Course Name Numerical Method for Informatics
Credits 3
Description
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.
Syllabus:
1. Introduction and Python Overview
2. Solution of equation in one variable: Bisection
3. Solution of equation in one variable: Newton's Method
4. Numerical Integration: Trapezoidal and Simpson's rule
5. Numerical solution of Nonlinear system: Newton's method
6. Numerical solution of Nonlinear system: Steepest Descent method
7. Review course pra-UTS
8. Finite Difference for ODEs: Euler
9. Finite Difference for ODEs: Runge-Kutta
10. Implementation of PDE: Transport modeling I (upwind)
11. Implementation of PDE: Transport modeling II (Lax-Wendroff)
12. Finite Difference for PDE 2D
13. Implementation of PDE: Denoising Image
14. Implementation of PDE: Numerical method for Logistic Regression
References:
Burden, R. L., Faires, J. D & Burden, A M. (2016). Numerical analysis (10th). Cengage Learning
publisher
Johansson, R., Johansson, R., & John, S. (2019). Numerical Python. Apress.
Langtangen, H. P. (2006). Numerical computing in python. Python scripting for computational science,
131-181.
Thomas, J. W. (2013). Numerical partial differential equations: finite difference methods (Vol. 22).
Springer Science & Business Media.
Cakmak, U. M., & Cuhadaroglu, M. (2018). Mastering Numerical Computing with NumPy: Master
scientific computing and perform complex operations with ease. Packt Publishing Ltd.
P a g e | 4
Mattheij, R. M., Rienstra, S. W., & ten Thije Boonkkamp, J. H. (2005). Partial differential equations:
modeling, analysis, computation (Vol. 10). Siam."
Course ID CII-4N3
Course Name Interaction Design
Credits 3
Description
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.
Syllabus:
1. Introduction
2. History of Interaction Design
3. IxD and UX
4. What is interaction design?
5. What is the design process?
6. Design Thinking
7. Creative teamwork
8. Project Launching
9. Understanding the Problem: Design
Research
10. Qualitative & Quantitative Research
11. Types of interview
12. Types of Observation
13. Understanding the People: Personas
and Goals
14. Design Solution
15. Scenarios and Design Requirements
16. Framework and Refinement (Designing
the Product)
17. Research method in HCI Part.1
18. Research method in HCI Part.2
19. Understanding the problem
20. Understanding Persona & Goals
21. Design Solution
22. Emotional Design
23. Information Design
24. Information Architecture
25. Prototyping
26. Emotional Design
27. Information Design
28. Prototyping
29. Testing
30. Related research
31. Presentation
References:
Jenny Preece, Yvonne Rogers, Helen Sharp. 2019. Interaction Design_beyond Human-Computer –
Interaction- 5th Edition, J. Wiley & Sons
Alan Cooper, et. al. 2014. About Face - The Essential of Intraction Design - 4th Edition. J. Wiley & Sons
,Inc.
Lazar, Jonathan, Jinjuan Heidi Feng, Harry Hochheise. 2017. Research Methods in Human-Computer
Interaction. Morgan Kaufmann Publishers.
Donald A. Norman, Emotional Design : Why We Love (Or Hate) Everyday Things, 2004
P a g e | 1
Course ID CII-4O3
Course Name Interaction Design
Credits 3
Description
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.
Syllabus:
1. Introduction: Introduction to Social
Network Analysis (AJS)
2. AJS basic concepts and definitions in
AJS
3. General concept of social network data
collection and analysis
4. Network type
5. Network structure
6. Network model
7. Explanation of the Project Plan
8. The concept of network centrality
9. Network centrality calculation method
10. AJS software tools: Gephi
11. The concept of network centrality
12. Network centrality calculation method
13. Contagion
14. Influence analysis in AJS
15. Project 1: peer review session AJS
method case study on Twitter
16. Advanced Concepts in AJS
17. Project 1: review session on program
implementation AJS method case
study on Twitter
18. Project Presentation 1
19. Graph
20. Community online
21. Community detection method
22. AJS software tool: NetworkX
23. Community detection method
(clustering)
24. Project 2: peer review paper session
Case study of community identification
methods on Twitter
25. Data wrangling: tweet data collection,
sampling, measurement and social
network analysis
26. Project 2: essay review / presentation
of program implementation
27. Network visualization
28. Project 2: peer review paper session
Case study of community identification
methods on Twitter
29. AJS application in the real world
30. Project 2: review session on program
implementation. Case study of
community identification methods on
31. Project Presentation 2
References:
[WAS94] Social Network Analysis: Methods and Applications, Stanley Wasserman and Katherine
Faust. Cambridge University Press. 1994
[MAK11] Social Network Analysis for Start Up, Maksim Tsvetovat and Alexander Kouznetsov. O'Reilly.
2011
Course ID CII-4P3
Course Name High Performance Computing
Credits 3
Description 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.
P a g e | 1
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.
Syllabus:
1. Introduction
2. Concept and Parallel model
3. Design Parallel Algorithm, Example parallel
4. Measurement of parallel algorithm (Speedup and Efficiency)
5. DAG
6. Analysis of Parallel Algorithm
7. Analysis of Parallel Algorithm
8. Mid-term exam
9. Parallel implementation
10. Final Project
11. Final exam (project based)
Course ID CII-4Q3
Course Name Computer Vision
Credits 3
Description
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.
Syllabus:
1. What is computer vision
2. Why is teaching a computer to understand images so difficult?
3. Various examples of applications related to computer vision: object categorization, object class
detection, segmentation
4. Object recognition vs object detection; Case study: face recognition
5. Various types of data are available
6. Various parameters are a challenge
7. The challenge in the recognition system is related to robustness
8. Challenges in recognition systems are related to computational complexity
9. Case study: Fashion-MNIST
10. Case study: Fashion-MNIST
11. SIFT; SURF
12. What is deep learning
13. The link between AI, machine learning and deep learning
14. Background on using deep learning
P a g e | 2
15. Introduction to Loud
16. Setting-up a deep learning workstation
17. Case study: house price prediction (Boston housing price dataset)
18. General stages of object detection systems; Sliding window; Region Proposal Network;
19. R-CNN; YOLO
References:
[1] M. Sonka, V. Hlavac, and R. Boyle, Image processing, Analysis, and Machine Vision-Cengage
Learning. 2014.
[2] S. Prince, Computer vision: models, learning, and inference. 2012.
[3] R. Szeliski, Computer Vision: Algorithms and Applications. New York, NY, USA: Springer-Verlag
New York, Inc., 2010.
Course ID CII-4R3
Course Name Digital Forensic
Credits 3
Description
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.
Syllabus:
1. Introduction,
2. terminology and definitions
3. Science & rules in digital forensics
4. Digital forensics framework
5. Cybercrime
6. Cyberlaw
7. Mobile forensic framework and Good
forensic practices
8. Rules of evidence
9. Data acquisition method
10. Potential evidence in mobile devices
11. iPhone and iPad (model and hardware)
12. IOS file system
13. IOS operating system
14. Data acquisition: iOS device vs iOS
backup
15. IOS data analysis
16. Android mobile (model, file system,
operating system)
17. Windows 10 (model and hardware)
18. Windows 10 file system
19. Multimedia forensics:
20. Multimedia forensics is not computer
forensics
21. Goal of multimedia forensics:
22. Source identification
23. Tampering detection
24. Fundamental knowledges on
multimedia forensics
25. Identifying the acquisition device that
produced the data
26. Exploring statistical tests to
27. Distinguish among certain camera
models;
28. Distinguish which specific camera was
used for taking a picture
29. Source identification:
P a g e | 1
30. Identifying the acquisition device that
produced the data
31. Exploring statistical tests to
32. Distinguish between computer-
generated images, images produced
by a scanner and those obtained by a
digital camera;
33. Tampering detection: validating the
integrity of the contents: Splining
34. Tampering detection: validating the
integrity of the contents: another case
35. Tampering detection: validating the
integrity of the contents: Image
compression toward JPEG
identification
36. Tampering detection: validating the
integrity of the contents
37. : JPEG artefacts
[TR20] Rohit Tamma, Oleg Skulkin, Heather Mahalik and Satish Bommisetty. 2020. "Practical Mobile
Forensics," Packt.
[JFR09] J. Fridrich. 2009. “Steganography in Digital Media: Principles, Algorithms, and Applications,”
Cambridge University Press.
[GW18] R.C. Gonzales and R.E. Woods. 2018. “Digital Image Processing,”Pearson Education, In
[TAM20] Tamma, R. 2020. Practical Mobile Forensics. Packt>.
Course ID CII-4S3
Course Name Software Verification and Validation
Credits 3
Description
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.
Syllabus:
1. Introduction to Software Verification and Validation:
2. Inspections
3. Reviews
4. Walkthroughs
5. Desk-checking
6. Validation: Dynamic Testing.
7. Project