Skip to main content
Home

Topic outline

  • After taking this course, you will understand how to formulate steps to solve a problem (ie, algorithm) and implement it in a particular programming language. The Java TM programming language will be used in this course, but with a procedural programming paradigm, instead of object-oriented. The programming concepts that will be discussed are recursive techniques, various sorting algorithms and their complexities, and various data structures.

    Disclaimer: Unless otherwise stated, the materials, presentation sequence, animations, and questions in this lecture are the work of Andreas Febrian and are intentionally distributed under the Creative Common BY-NC-SA 4.0 International license ( https://creativecommons.org/licenses/by-nc-sa/4.0/ ).

    • forum icon
      Pengumuman Forum

      Get the latest information regarding college in this forum! Make sure you keep subscribing to this forum to get notifications when there is new news.

      Not available unless: You are a(n) Learner
    • forum icon
      Diskusi Forum

      Use this forum to discuss issues and challenges you encounter when interacting with learning resources and activities. God willing, instructors, assistants, or other fighters will answer your questions. Make sure there is no sensitive information in your writing because it will be read by all students. Don't forget to use Indonesian and online communication ethics.

    • forum icon
      Pengumpulan Bukti Kegiatan di Luar Perkuliahan Forum

      Collect evidence of extracurricular activities that you participate in here, by creating a new discussion topic called "[Your Name]'s Activities" (eg, "Fulan's Activities"). Collect all evidence of your activities in the topic to make monitoring easier. In order to be recognized, your activities must have occurred in the 2020/2021 Even Semester, which starts on February 1, 2021. The collection of evidence of activities will be closed on May 30, 2021 at 23:59 WIB (ie, one day before the final exam week).

    • Main Material

      The following material explains the concepts and principles you need to master the competency targets in this Topic. To be more optimal, the material provided must be utilized together with Theory Training, Practicum, and Reflection activities.

    • This time, you will be invited to get acquainted with the Array and ArrayList data structures.

    • This time, you will be invited to get acquainted with the LinkedList data structure.

    • Java TM API

      Java TM API ( Application Programming Interface ) is a set of classes available in the JDK, written in Java TM language and executed through the JVM. This section provides the documentation needed to use some of these classes.

    • Contains the collections framework, some internationalization support classes, a service loader, properties, random number generation, string parsing and scanning classes, base64 encoding and decoding, a bit array, and several miscellaneous utility classes. This package also contains legacy collection classes and legacy date and time classes.

    • Resizable-array implementation of the List interface. Implements all optional list operations, and permits all elements, including null. In addition to implementing the List interface, this class provides methods to manipulate the size of the array that is used internally to store the list.

    • Doubly-linked list implementation of the List and Deque interfaces. Implements all optional list operations, and permits all elements (including null). All of the operations perform as could be expected for a doubly-linked list. Operations that index into the list will traverse the list from the beginning or the end, whichever is closer to the specified index.

    • Class A Synchronous Meeting Recording

    • Class B Synchronous Meeting Recording

    • Theory Training

      Theory Exercise is a problem - based independent learning activity provided to help you monitor theoretical understanding and record learning attendance. Theory Exercise can be done repeatedly as long as it is still open, with a 30-minute waiting time between attempts. The final score that will be used is the Theory Exercise attempt with the best score. The types of questions given in this activity are true/false, multiple choice, matching, and short answer.

    • Practicum

      Practicum is a problem-based independent learning activity provided to improve technical skills and record your learning attendance. In this activity, you are asked to design several programs according to the specifications given. The questions given in Practicum are designed in a tiered manner ( scaffold ) to grow your positive energy related to programming.

      The lab can be done repeatedly as long as it is open, with a 30-minute waiting time between attempts. Your final Lab grade will be taken from the solution with the best score.

    • Synchronous Meeting

      Synchronous meetings will only be held if there are issues, obstacles, or learning challenges that need to be discussed or discussed. Please write down the issues, obstacles, or learning challenges that you are facing, either related to the Topic being or already discussed, in the "I want to know more about..." activity. The link to the lecture webmeeting will only be opened for classes that require synchronous meetings.

    • hotquestion icon
      Saya dari kelas A, saya ingin lebih tahu tentang... Hot Question

      Please write down any questions or things you would like to know more about regarding this week's and previous week's topics. Your questions will be reviewed during the synchronous meeting.

      Not available unless: You belong to A Class
    • hotquestion icon
      Saya dari kelas B, saya ingin lebih tahu tentang... Hot Question

      Please write down any questions or things you would like to know more about regarding this week's and previous week's topics. Your questions will be reviewed during the synchronous meeting.

      Not available unless: You belong to B Class
    • url icon
      Pertemuan Sinkronus via Zoom untuk 6 April 2021 URL
      Not available unless: You are a(n) Learner
    • Reflection

      Research shows that students who are more reflective in their learning tend to be more successful academically (Butler & Cartier, 2005; Butler & Winne, 1995; Coutinho, 2007; Lawanto, 2010; Lawanto et al., 2013; Lawanto & Johnson, 2009; Pintrich, 2002; Schoenfeld, 1983) and better at learning and creating computer programs (Bergin et al., 2005; Falkner et al., 2014; Havenga, 2015; Kumar et al., 2005), when compared to students who are not reflective.

      This activity is prepared to train you to be used to being reflective in learning, so that you can use this skill anytime and anywhere, until you are old. If you do not fill in the reflection or give an unhelpful answer, you will get -5 attitude points. You can write additional reflections as long as the filling time has not closed.

    • Enrichment Material

      The main material provided focuses on core concepts and principles and how to utilize them. There are some issues that are intentionally not discussed. If you want to know about things that are intentionally missed, please visit the additional material below.

    • This page contains detailed tutorials on different data structures (DS) with topic-wise problems

    • An array is a collection of items stored at contiguous memory locations. The idea is to store multiple items of the same type together. This makes it easier to calculate the position of each element by simply adding an offset to a base value, i.e., the memory location of the first element of the array (generally denoted by the name of the array).

    • A linked list is a linear data structure, in which the elements are not stored at contiguous memory locations. The elements in a linked list are linked using pointers.

loader image