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
  • Summary of the Module Timeline

    TIC4002 week vs normal academic week

    Each TIC4002 week starts with the lecture and ends just before the following week's lecture. The only exception is week 1, which starts on the Monday of the first week of the semester.

    As our lecture is on Friday, TIC4002 week starts a few days earlier than the normal NUS academic week. For example, TIC4002 week 2 starts on the Friday of NUS week 1. See the full timeline for exact dates.

    Deadline for weekly tasks

    The deadline to complete tasks allocated to the week is the midnight before the following lecture.


    Week 1 - Mon, Jan 11th

    Topics:

    • No topics allocated to this week.

    Admin:

    1. Set up the tools before the lecture
    2. Learn about the module
    3. Attend the first lecture

    Week 2 - Fri, Jan 15th

    Topics:

    • [W2.1] Automating the Build Process

    • [W2.2] Class/Object Diagrams: Basics

    • [W2.3] Class Diagrams: Intermediate-Level

    • [W2.4] OO Domain Models

    • [W2.5] Sequence Diagrams

    • [W2.6] Activity Diagrams

    • [W2.1] Automating the Build Process
    • [W2.1a] Implementation → Integration → Introduction → What :

    • [W2.1b] Implementation → Integration → Build Automation → What :

    • [W2.1c] Implementation → Integration → Build Automation → Continuous integration and continuous deployment :

    • [W2.2] Class/Object Diagrams: Basics
    • [W2.2a] Design → Modelling → Modelling Structure → OO structures :

    • [W2.2b] Design → Modelling → Modelling Structure → Class diagrams - basic :

    • [W2.2c] Design → Modelling → Modelling Structure → Object diagrams :

    • [W2.2d] Tools → UML → Object versus class diagrams :

    • [W2.3] Class Diagrams: Intermediate-Level
    • [W2.3a] Tools → UML → Notes :

    • [W2.3b] Tools → UML → Constraints Unknown level !!! -1

    • [W2.3c] Tools → UML → Class Diagrams → Associations as attributes :

    • [W2.3d] Design → Modelling → Modelling Structure → Class diagrams - intermediate :

    • [W2.3e] Paradigms → OOP → Associations → Association classes :

    • [W2.4] OO Domain Models
    • [W2.4a] Design → Modelling → Modelling Structure → Object oriented domain models :
    • [W2.5] Sequence Diagrams
    • [W2.5a] Design → Modelling → Modelling Behaviors Sequence diagrams - basic :

    • [W2.5b] Design → Modelling → Modelling Behaviors Sequence diagrams - intermediate :

    • [W2.5c] Tools → UML → Sequence Diagrams → Reference frames :

    • [W2.5d] Tools → UML → Sequence Diagrams → Parallel paths :

    • [W2.6] Activity Diagrams
    • [W2.6a] Design → Modelling → Modelling Behaviors Activity diagrams - basic

    • [W2.6b] Design → Modelling → Modelling Behaviors Activity diagrams - intermediate

    Admin:

    1. Submit post-lecture quiz Thu, Jan 21st 2359 counted for participation
    2. Get connected to our communication channels

    iP:

    1. Learn about the project
    2. Set up the project in your computer
    3. Create a PR to the upstream repo
    4. Ensure TIC4001 iP increments have been done
    5. Add Increment: A-Gradle
    6. Apply a stricter coding standard

    tP:

    1. Get familiar with AB3 features

    Week 3 - Fri, Jan 22nd

    Topics:

    • [W3.1] Java: JavaFX

    • [W3.2] Design Patterns - Part 1

    • [W3.3] Design Patterns - Part 2

    • [W3.1] Java: JavaFX
    • [W3.1a] C++ to Java → Miscellaneous Topics → JavaFX :

    • [W3.2] Design Patterns - Part 1

       Introduction

    • [W3.2a] Design → Design Patterns → Introduction → What :

    • [W3.2b] Design → Design Patterns → Introduction → Format :

       [For Reference] Singleton pattern

    • [W3.2c] Design → Design Patterns → Singleton → What :

    • [W3.2d] Design → Design Patterns → Singleton → Implementation :

    • [W3.2e] Design → Design Patterns → Singleton → Evaluation :

       [For Reference] Facade pattern

    • [W3.2f] Design → Design Patterns → Facade Pattern → What :
    • [W3.3] Design Patterns - Part 2
    • [W3.3a] Design → Design Patterns → Command Pattern → What

    • [W3.3b] Design → Design Patterns → MVC Pattern → What

    • [W3.3c] Design → Design Patterns → Observer Pattern → What

    • [W3.3d] Design → Design Patterns → Other design patterns : OPTIONAL

    • [W3.3e] Design → Design Patterns → Combining design patterns : OPTIONAL

    • [W3.3f] Design → Design Patterns → Using design patterns : OPTIONAL

    • [W3.3g] Design → Design Patterns → Design patterns versus design principles : OPTIONAL

    • [W3.3h] Design → Design Patterns → Other types of patterns : OPTIONAL

    Admin:

    1. Submit post-lecture quiz counted for participation

    iP:

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

    tP:

    1. Start a collaborative doc to take project notes before the next lecture
    2. Decide on an overall project direction (user profile, problem addressed) before the next lecture

    Week 4 - Fri, Jan 29th

    Topics:

    • [W4.1] Requirements: Prose, User Stories, Feature Lists

    • [W4.2] Design Principles - Part 1

    • [W4.3] Design Principles - Part 2

    • [W4.4] Some Other Principles

    • [W4.1] Requirements: Prose, User Stories, Feature Lists

       Prose

    • [W4.1a] Requirements → Specifying Requirements → Prose → What :

       Feature Lists

    • [W4.1b] Requirements → Specifying Requirements → Feature Lists → What :

       User Stories

    • [W4.1c] Requirements → Specifying Requirements → User Stories → Introduction :

    • [W4.1d] Requirements → Specifying Requirements → User Stories → Details :

    • [W4.1e] Requirements → Specifying Requirements → User Stories → Usage :

    • [W4.2] Design Principles - Part 1
    • [W4.2a] Principles → Separation of concerns principle :

    • [W4.2b] Principles → Single responsibility principle :

    • [W4.3] Design Principles - Part 2
    • [W4.3a] Principles → Liskov substitution principle

    • [W4.3b] Principles → Open-closed principle

    • [W4.3c] Principles → Law of Demeter

    • [W4.3d] Principles → Interface segregation principle : OPTIONAL

    • [W4.3e] Principles → Dependency inversion principle : OPTIONAL

    • [W4.3f] Principles → SOLID principles

    • [W4.4] Some Other Principles
    • [W4.4a] Principles → YAGNI principle

    • [W4.4b] Principles → DRY principle

    • [W4.4c] Principles → Brooks' law

    Admin:

    1. Accept GitHub invitation from the module organization counted for participation
    2. Submit post-lecture quiz counted for participation

    iP:

    1. Add Increment: A-CI
    2. Add an extension

    tP:

    1. Brainstorm user stories
    2. Choose user stories for v1.2

    Week 5 - Fri, Feb 5th

    Topics:

    • [W5.1] Code Quality

    • [W5.2] Refactoring

    • [W5.3] IDEs: Intermediate Features

    • [W5.4] Design: High-Level View

    • [W5.5] Design: Fundamentals

    • [W5.6] Architecture

    • [W5.7] Architectural Styles

    • [W5.8] Design Approaches

    • [W5.1] Code Quality

       Coding Standards

    • [W5.1a] Implementation → Code Quality → Introduction → What :

    • [W5.1b] Implementation → Code Quality → Style → Introduction :

       Code Quality: Naming

    • [W5.1c] Implementation → Code Quality → Naming → Introduction :

    • [W5.1d] Implementation → Code Quality → Naming → Basic → Use nouns for things and verbs for actions :

    • [W5.1e] Implementation → Code Quality → Naming → Basic → Use standard words :

    • [W5.1f] Implementation → Code Quality → Naming → Intermediate → Use name to explain :

    • [W5.1g] Implementation → Code Quality → Naming → Intermediate → Not too long, not too short :

    • [W5.1h] Implementation → Code Quality → Naming → Intermediate → Avoid misleading names :

       Readability

    • [W5.1i] Implementation → Code Quality → Readability → Introduction :

    • [W5.1j] Implementation → Code Quality → Readability → Basic → Avoid long methods :

    • [W5.1k] Implementation → Code Quality → Readability → Basic → Avoid deep nesting :

    • [W5.1l] Implementation → Code Quality → Readability → Basic → Avoid complicated expressions :

    • [W5.1m] Implementation → Code Quality → Readability → Basic → Avoid magic numbers :

    • [W5.1n] Implementation → Code Quality → Readability → Basic → Make the code obvious :

    • [W5.1o] Implementation → Code Quality → Readability → Intermediate → Structure code logically :

    • [W5.1p] Implementation → Code Quality → Readability → Intermediate → Do not 'Trip Up' reader :

    • [W5.1q] Implementation → Code Quality → Readability → Intermediate → Practice KISSing :

    • [W5.1r] Implementation → Code Quality → Readability → Intermediate → Avoid premature optimizations :

    • [W5.1s] Implementation → Code Quality → Readability → Intermediate → SLAP hard :

    • [W5.1t] Implementation → Code Quality → Readability → Advanced → Make the happy path prominent :

       Unsafe Practices

    • [W5.1u] Implementation → Code Quality → Error-Prone Practices → Introduction :

    • [W5.1v] Implementation → Code Quality → Error-Prone Practices → Basic → Use the default branch :

    • [W5.1w] Implementation → Code Quality → Error-Prone Practices → Basic → Don't recycle variables or parameters :

    • [W5.1x] Implementation → Code Quality → Error-Prone Practices → Basic → Avoid empty catch blocks :

    • [W5.1y] Implementation → Code Quality → Error-Prone Practices → Basic → Delete dead code :

    • [W5.1z] Implementation → Code Quality → Error-Prone Practices → Intermediate → Minimize scope of variables :

    • [W5.1A] Implementation → Code Quality → Error-Prone Practices → Intermediate → Minimize code duplication :

       Code Comments

    • [W5.1B] Implementation → Code Quality → Comments → Introduction :

    • [W5.1C] Implementation → Code Quality → Comments → Basic → Do not repeat the obvious :

    • [W5.1D] Implementation → Code Quality → Comments → Basic → Write to the reader :

    • [W5.1E] Implementation → Code Quality → Comments → Intermediate → Explain WHAT and WHY, not HOW :

    • [W5.2] Refactoring
    • [W5.2a] Implementation → Refactoring → What :

    • [W5.2b] Tools → IntelliJ IDEA → Refactoring :

    • [W5.2c] Implementation → Refactoring → How :

    • [W5.2d] Implementation → Refactoring → When :

    • [W5.3] IDEs: Intermediate Features
    • [W5.3a] Implementation → IDEs → Debugging → What :

    • [W5.3b] Tools → IntelliJ IDEA → Debugging: Basic :

    • [W5.3c] Tools → IntelliJ IDEA → Code navigation :

    • [W5.4] Design: High-Level View

       Introduction

    • [W5.4a] Design → Introduction → What :
    • [W5.5] Design: Fundamentals

       Abstraction

    • [W5.5a] Design → Design Fundamentals → Abstraction → What :

       Coupling

    • [W5.5b] Design → Design Fundamentals → Coupling → What :

    • [W5.5c] Design → Design Fundamentals → Coupling → How :

    • [W5.5d] Design → Design Fundamentals → Coupling → Types of coupling :

       Cohesion

    • [W5.5e] Design → Design Fundamentals → Cohesion → What :

    • [W5.5f] Design → Design Fundamentals → Cohesion → How :

    • [W5.6] Architecture
    • [W5.6a] Design → Architecture → Introduction → What

    • [W5.6b] Design → Architecture → Architecture Diagrams → Reading

    • [W5.6c] Design → Architecture → Architecture Diagrams → Drawing

    • [W5.6d] Design → Introduction → Multi-level design

    • [W5.7] Architectural Styles
    • [W5.7a] Design → Architecture → Styles → What

    • [W5.7b] Design → Architecture → Styles → n-Tier Style → What

    • [W5.7c] Design → Architecture → Styles → Client-Server Style → What

    • [W5.7d] Design → Architecture → Styles → Event-Driven Style → What

    • [W5.7e] Design → Architecture → Styles → Transaction Processing Style → What

    • [W5.7f] Design → Architecture → Styles → Service-Oriented Style → What : OPTIONAL

    • [W5.7g] Design → Architecture → Styles → Using styles : OPTIONAL

    • [W5.7h] Design → Architecture → Styles → More styles : OPTIONAL

    • [W5.8] Design Approaches
    • [W5.8a] Design → Design Approaches → Top-down and bottom-up design

    • [W5.8b] Design Approaches → Agile Design → Agile design

    Admin:

    1. Submit post-lecture quiz counted for participation
    2. Practice peer evaluation on TEAMMATES Thu, Feb 11th 2359 counted for participation

    iP:

    1. Increase code quality even further
    2. Start next week's tasks

    tP:

    1. Conceptualize v1.2
    2. Draft the UG
    3. Refine the product design
    4. Set up the project repo
    5. Get familiar with the code base

    Week 6 - Fri, Feb 12th

    Topics:

    • [W6.1] Requirements: Use Cases, Glossary, NFRs

    • [W6.2] IDEs: Advanced Features

    • [W6.3] Integration Approaches

    • [W6.4] Writing Developer Documents

    • [W6.1] Requirements: Use Cases, Glossary, NFRs

       Use Cases

    • [W6.1a] Requirements → Specifying Requirements → Use Cases → Introduction :

    • [W6.1b] Requirements → Specifying Requirements → Use Cases → Identifying :

    • [W6.1c] Requirements → Specifying Requirements → Use Cases → Details :

    • [W6.1d] Requirements → Specifying Requirements → Use Cases → Usage :

       Glossary

    • [W6.1e] Requirements → Specifying Requirements → Glossary → What :

       Supplementary Requirements

    • [W6.1f] Requirements → Specifying Requirements → Supplementary Requirements → What :

    • [W6.2] IDEs: Advanced Features
    • [W6.2a] Tools → IntelliJ IDEA → Productivity shortcuts :
    • [W6.3] Integration Approaches
    • [W6.3a] Implementation → Integration → Approaches → Late and one time versus early and frequent

    • [W6.3b] Implementation → Integration → Approaches → Big-bang versus incremental integration

    • [W6.3c] Implementation → Integration → Approaches → Top-down versus bottom-up integration : OPTIONAL

    • [W6.4] Writing Developer Documents

       Type of Developer Docs

    • [W6.4a] Implementation → Documentation → Introduction → What :

       Guideline: Aim for Comprehensibility

    • [W6.4b] Implementation → Documentation → Guidelines → Aim for Comprehensibility → What :

    • [W6.4c] Implementation → Documentation → Guidelines → Aim for Comprehensibility → How :

       Guideline: Describe Top-Down

    • [W6.4d] Implementation → Documentation → Guidelines → Describe Top-Down → What

    • [W6.4e] Implementation → Documentation → Guidelines → Describe Top-Down → Why

    • [W6.4f] Implementation → Documentation → Guidelines → Describe Top-Down → How

       Guideline: Minimal but Sufficient

    • [W6.4g] Implementation → Documentation → Guidelines → Minimal but Sufficient → What :

    • [W6.4h] Implementation → Documentation → Guidelines → Minimal but Sufficient → How :

    Admin:

    1. Submit post-lecture quiz counted for participation
    2. [optional] Submit mid-term feedback for the module Thu, Feb 18th 2359

    iP:

    1. Update the website
    2. Submit the final version Sun, Feb 21st 2359

    tP: v1.1

    1. Do a practice iteration
    2. Update project website: AboutUs, README
    3. Update the UG
    4. Update the DG: user stories, glossary, NFRs, use cases
    5. Plan the next iteration
    6. Start implementing the next version

    Week 7 - Fri, Feb 19th

    Topics:

    • [W7.1] Error Handling: Exceptions

    • [W7.2] Error Handling: Assertions

    • [W7.3] Error Handling: Logging

    • [W7.4] Error Handling: Defensive Programming

    • [W7.1] Error Handling: Exceptions
    • [W7.1a] Implementation → Error Handling → Introduction → What :

    • [W7.1b] Implementation → Error Handling → Exceptions → What :

    • [W7.1c] Implementation → Error Handling → Exceptions → How :

    • [W7.1d] C++ to Java → Exceptions → What are Exceptions? :

    • [W7.1e] C++ to Java → Exceptions → How to use Exceptions :

    • [W7.1f] Implementation → Error Handling → Exceptions → When :

    • [W7.2] Error Handling: Assertions
    • [W7.2a] Implementation → Error Handling → Assertions → What :

    • [W7.2b] Implementation → Error Handling → Assertions → How :

    • [W7.2c] Implementation → Error Handling → Assertions → When :

    • [W7.3] Error Handling: Logging
    • [W7.3a] Implementation → Error Handling → Logging → What :

    • [W7.3b] Implementation → Error Handling → Logging → How :

    • [W7.4] Error Handling: Defensive Programming
    • [W7.4a] Implementation → Error Handling → Defensive Programming → What

    • [W7.4b] Implementation → Error Handling → Defensive Programming → Enforcing compulsory associations

    • [W7.4c] Implementation → Error Handling → Defensive Programming → Enforcing 1-to-1 associations

    • [W7.4d] Implementation → Error Handling → Defensive Programming → Enforcing referential integrity

    • [W7.4e] Implementation → Error Handling → Defensive Programming → When

    • [W7.4f] Implementation → Error Handling → Design by Contract → Design by contract

    Admin:

    1. Submit post-lecture quiz counted for participation

    tP:

    1. Ensure you know tP expectations
    2. Start proper milestone management
    3. Add the first functionality increment

    Week 8 - Fri, Mar 5th

    Topics:

    • No topics allocated to this week.

    Admin:

    1. Submit midterm peer evaluations on TEAMMATES Sun, Mar 14th 2359 counted for participation

    tP: v1.2

    1. Deliver v1.2
    2. Wrap up v1.2
    3. Do an informal demo of v1.2 (in the following lecture)

    Week 9 - Fri, Mar 12th

    Topics:

    • [W9.1] Test Cases: Intro

    • [W9.2] Test Cases: Equivalence Partitioning

    • [W9.3] Test Cases: Boundary Value Analysis

    • [W9.4] Test Cases: Combining Multiple Inputs

    • [W9.1] Test Cases: Intro
    • [W9.1a] Quality Assurance → Test Case Design → Introduction → What :

    • [W9.1b] Quality Assurance → Test Case Design → Introduction → Positive versus negative test cases :

    • [W9.1c] Quality Assurance → Test Case Design → Introduction → Black box versus glass box :

    • [W9.2] Test Cases: Equivalence Partitioning
    • [W9.2a] Quality Assurance → Test Case Design → Equivalence Partitions → What :

    • [W9.2b] Quality Assurance → Test Case Design → Equivalence Partitions → Basic :

    • [W9.2c] Quality Assurance → Test Case Design → Equivalence Partitions → Intermediate :

    • [W9.3] Test Cases: Boundary Value Analysis
    • [W9.3a] Quality Assurance → Test Case Design → Boundary Value Analysis → What :

    • [W9.3b] Quality Assurance → Test Case Design → Boundary Value Analysis → How :

    • [W9.4] Test Cases: Combining Multiple Inputs
    • [W9.4a] Quality Assurance → Test Case Design → Combining Test Inputs → Why

    • [W9.4b] Quality Assurance → Test Case Design → Combining Test Inputs → Test input combination strategies

    • [W9.4c] Quality Assurance → Test Case Design → Combining Test Inputs → Heuristic: Each valid input at least once in a positive test case

    • [W9.4d] Quality Assurance → Test Case Design → Combining Test Inputs → Heuristic: No more than one invalid input in a test case

    • [W9.4e] Quality Assurance → Test Case Design → Combining Test Inputs → Mix

    Admin:

    1. Submit post-lecture quiz counted for participation

    tP:

    1. Do a postmortem of the previous iteration
    2. Adjust process rigor if necessary
    3. Start the next iteration
    4. Update the DG with design details
    5. Do a trial JAR release

    Week 10 - Fri, Mar 19th

    Topics:

    • [W10.1] Testing: Types

    • [W10.2] Testing: Intermediate Concepts

       Integration Testing

    • [W10.1a] Quality Assurance → Testing → Integration Testing → What :

    • [W10.1b] Quality Assurance → Testing → Integration Testing → How :

       System Testing

    • [W10.1c] Quality Assurance → Testing → System Testing → What :

    • [W10.1d] Quality Assurance → Testing → Test Automation → Automated testing of GUIs :

       Acceptance Testing

    • [W10.1e] Quality Assurance → Testing → Acceptance Testing → What :

    • [W10.1f] Quality Assurance → Testing → Acceptance Testing → Acceptance versus system testing :

       Alpha/Beta Testing

    • [W10.1g] Quality Assurance → Testing → Alpha/Beta Testing → What :

       Exploratory vs Scripted Testing

    • [W10.1h] Quality Assurance → Testing → Exploratory and Scripted Testing → What :

    • [W10.1i] Quality Assurance → Testing → Exploratory and Scripted Testing → When :

    • [W10.2] Testing: Intermediate Concepts

       Dependency Injection

    • [W10.2a] Quality Assurance → Testing → Dependency Injection → What :

    • [W10.2b] Quality Assurance → Testing → Dependency Injection → How :

       Testability

    • [W10.2c] Quality Assurance → Testing → Introduction → Testability :

       Test Coverage

    • [W10.2d] Quality Assurance → Testing → Test Coverage → What :

    • [W10.2e] Quality Assurance → Testing → Test Coverage → How :

       TDD

    • [W10.2f] Quality Assurance → Testing → Test-Driven Development → What :

    Admin:

     None assigned for this week

    tP: v1.3

    1. Smoke-test CATcher During the lecture counted for participation
    2. Deliver v1.3
    3. Update user docs Thu, Mar 25th 2359
    4. Release as a jar file Thu, Mar 25th 2359
    5. Wrap up v1.3

    Week 11 - Fri, Mar 26th

    Topics:

    • No topics allocated to this week.

    Admin:

     None assigned for this week

    tP:

    1. Attend the practical exam dry run During the lecture counted for participation
    2. Polish the product as per peer-testing results

    Week 12 - Fri, Apr 2nd

    Topics:

    • [W12.1] SDLC Process Models

    • [W12.2] SDLC Process Models (continued)

    • [W12.3] Cloud Computing

    • [W12.1] SDLC Process Models
    • [W12.1a] Project Management → SDLC Process Models → Introduction → What :

    • [W12.1b] Project Management → SDLC Process Models → Introduction → Sequential models :

    • [W12.1c] Project Management → SDLC Process Models → Introduction → Iterative models :

    • [W12.2] SDLC Process Models (continued)
    • [W12.2a] Project Management → SDLC Process Models → Introduction → Agile models

    • [W12.2b] Project Management → SDLC Process Models → Scrum

    • [W12.2c] Project Management → SDLC Process Models → XP

    • [W12.2d] Project Management → SDLC Process Models → Unified process

    • [W12.2e] Project Management → SDLC Process Models → CMMI

    • [W12.2f] Project Management → SDLC Process Models → Recap :

    • [W12.3] Cloud Computing
    • [W12.3a] Implementation → Reuse → Cloud Computing → What

    • [W12.3b] Implementation → Reuse → Cloud Computing → Iaas, PaaS, and SaaS

    Admin:

    1. Submit the declaration about code reuse COMPULSORY counted for participation

    tP:

    1. Draft the PPP
    2. Ensure the code RepoSense-compatible
    3. Do final polish-ups
    4. Prepare final deliverables

    Week 13 - Fri, Apr 9th

    Topics:

    • No topics allocated to this week.

    Admin:

    1. Submit final peer evaluation on TEAMMATES Thu, Apr 15th 2359 counted for participation

    tP: v1.4

    1. Submit deliverables Mon, Apr 12th 2359
    2. Wrap up the milestone Wed, Apr 14th 2359
    3. Submit the demo video Wed, Apr 14th 2359
    4. Prepare for the practical exam
    5. Attend the practical exam during lecture on Fri, Apr 16th 2359