This site is from a past semester! The current version will be here when the new semester starts.
TIC4002 2021 Jan-May
  • Full Timeline
  • Week 1 [Mon, Jan 11th]
  • Week 2 [Fri, Jan 15th]
  • Week 3 [Fri, Jan 22nd]
  • Week 4 [Fri, Jan 29th]
  • Week 5 [Fri, Feb 5th]
  • Week 6 [Fri, Feb 12th]
  • Week 7 [Fri, Feb 19th]
  • Week 8 [Fri, Mar 5th]
  • Week 9 [Fri, Mar 12th]
  • Week 10 [Fri, Mar 19th]
  • Week 11 [Fri, Mar 26th]
  • Week 12 [Fri, Apr 2nd]
  • Week 13 [Fri, Apr 9th]
  • Textbook
  • Admin Info
  • Dashboards
  •  Individual Project (iP):
  • Individual Project Info
  • iP Upstream Repo
  • iP Showcase
  • iP Code Dashboard
  • iP Progress Dashboard

  •  Team Project (tP):
  • Team Project Info
  • tP Upstream Repo (AB3)
  • Team List
  • tP Code Dashboard
  • tP Progress Dashboard
  • Report Bugs
  • Forum
  • Instructors
  • Announcements
  • Files (handouts, submissions etc.)
  • MS Teams link
  • Java Coding Standard
  • Git Conventions
  • Participation Dashboard
  • iP: Week 2iP: Week 4


    iP: Week 3

    1. Add Increment: Level-10
    2. Release a new JAR file

    1 Add Increment: Level-10

    Duke Level-10: Add a GUI

    Level 10. GUI

    Add a GUI to Duke. Use the JavaFX technology to implement the GUI.



    Refer to the JavaFX tutorial @SE-EDU/guides to learn how to get started with JavaFX.

    There are two non-trivial steps to take here:

    1. earning JavaFX basics
    2. creating a GUi for Duke

    You are cautioned against trying to do both in one go. Instead, complete the JavaFX tutorial as a separate project before adding a GUI to Duke.

    • Note that you no longer need to keep the text-based UI after adding a GUI. Similarly, there is no need to use the I/O redirection style automated testing anymore (that technique is suited for text UIs only).

    2 Release a new JAR file

    • Generate a new JAR file using Gradle (Gradle can bundle the JavaFX third-party library into the jar file. If you do not bundle JavaFX with the JAR file, the application will not work in computers that don't have JavaFX installed). Refer to the Gradle tutorial @SE-EDU/guides to find how.
      If the .jar file is smaller than 10MB, most likely JavaFX libraries are not inside it.
    • Make a new release on GitHub and upload the JAR file. You may use any appropriate version number for it.


    iP: Week 2iP: Week 4