This site is from a past semester! The current version will be here when the new semester starts.

Week 1 [Mon, Aug 14th] - Summary

  • In this Summary tab you can find a summary of the week and announcements relevant to that week.
    Click on the Topics and the Tasks tabs (shown at the top of this page) to see more details of each category.

Admin Policies → Deadlines, Plagiarism

Deadlines

  • Deadline for weekly tasks:
    • If a specific deadline is given, adhere to that.
    • If no specific deadline is given, try to complete tasks allocated to a week by Tuesday 6.30pm of the following week (i.e., before the next lecture). In case you fail to meet that deadline, you should still do those tasks as soon as possible. There will be no penalty if a task is done within a grace period of one week after the deadline.

Plagiarism

  • You are allowed (and even encouraged) to discuss course tasks with others and help (and learn-from) each other. However, the submitted work should be largely your own.
  • If you reuse/adapt code from elsewhere (e.g., from an online site such as stackoverflow), you must cite the source in the code. e.g.,
    //Solution below adapted from https://stackoverflow.com/a/16252290
    {Your implementation of the reused solution here ...}
    

Keep track of code reuse If you reuse/adapt code from elsewhere, cite the source in code immediately. Otherwise you will not remember the source of code reuse later. Not citing the original source can land you in trouble for plagiarism.

FAQ: Can I use code generated by AI tools (e.g., CoPilot, ChatGPT)?
Answer: We don't explicitly prohibit you from using those tools but we strongly discourage you from using them in a way that hinders your learning. For example,

  • Good Use a tool such as GitHub co-pilot to increase the productivity of writing code (e.g., auto-complete the next bit of code).
  • Good Write the required code yourself, and then, use the tool to generate alternative implementations, compare, and use that experience to improve your own coding skills.
  • Good When troubleshooting/debugging, use a tool to help you locate the problem.
  • Bad Give the problem description to the tool and get it to generate the code for you, and use it directly in your submission, and claim it as your own.

Other caveats:

  • Using such tools can result in your code being same as others in the class. If such code was flagged for plagiarism, "It was generated by a tool" will not be a valid excuse. Therefore, if you use (possibly with minor changes) a non-trivial code snippet generated by a tool (e.g., an entire method), it is safer to acknowledge in the code as a case of code reuse.
  • Those tools sometimes can confidently give you the wrong answer. So, have a healthy level of scepticism about the accuracy of the code generated by such tools.

Topics Summary:

  • [W1.2] Java: Intro

  • [W1.3] Java: HelloWorld

  • [W1.4] Java: Data Types

  • [W1.5] Java: Control Flow

Full ToC


Tasks Summary:

  1. Install Java before the lecture
  2. Create a GitHub account
  3. Submit the pre-course survey by Fri, Aug 18th 2359
  4. Attend the lecture
  5. Submit weekly exercises