Using this WebsiteCourse Briefing Videos


Course Expectations

Here are some important things the course expects of you.

Prior Knowledge: Java and OOP

This course requires you to write Java code almost every week, starting from the very first week. If your Java skills are rusty, please brush up on them.

Use of AI

This course aims to get you started on AI-assisted SE in a way that does not compromise (and possibly enhances) your learning of basic SE skills.

A non-trivial amount of AI use is expected. Aim to use AI at least 20% of the time when doing course-related work.

The level of AI use in coding tasks can vary as follows -- based on how much manual work happens and at which point.

  • No AI use. Hand-code everything. Use AI as a 'smart search engine' to ask general questions.
  • Hand-code first, with AI's feedback: You hand-code the first version as if there is no AI. Ask AI to review. Refine based on AI's feedback.
    Operating at this level (on avearge) is enough to meet the minimum requirement of AI use the course expects.
  • Hand-code to start, get AI to finish: You hand-code a minimal version, just a proof-of-concept. Get AI to strengthen it to a full-fledged version e.g., handle edge cases, add tests.
  • 'Think' and compare: Think of how you would do the task manually. Get AI to do it. Compare the solution you 'imagined' with the one AI produced.
  • AI codes, you review: Get AI to do the task. Review it yourself fully, including the code, tests, behavior etc.
  • Full AI: Get AI to do the task, fully, including the review. Only review the outcome (e.g., the feature behavior).

Which level to use? Depends on how much you already know, and your learning goals. Using AI more will save time and also teach you how to use AI for SE. Hand-coding will teach you basic SE skills.

FAQ Can I use code generated by AI tools in project submissions?


Workload

As 70% of this course is based on CA (see grade breakdown), it can appear to be heavy. However, it is not expected that you will spend more time on this course than its .

  • Note that the course contains more things than a typical student can do, so that even the strongest students have enough opportunities to learn as much as they wish to.
  • This means it is perfectly OK if you don't have time to learn everything the course offers. Control your workload based on the time you spend on the course in a week, e.g., 1-1.5 days per week.
  • We have provided a topic levels system (explained below) to guide you when prioritizing what to do.

Topic Levels

We use a topic levels system to indicate the progression of course components. Start with things that are rated level-1 and progress to topics at higher levels. Things rated level-4 are optional.

Levels for lesson topics (and textbook sections):

  • Level-1 topics are essential to keep up with the course. We recommend that you learn these topics if you want to pass the course (i.e., up to a C grade).
  • Level-2 topics can get you up to a B+.
  • Level-3 topics can get you up to an A.
  • Level-4 topics : OPTIONAL can push you beyond the limits of the course and help you reach a level above those who limit themselves to the course topics. They are not .
  • Topics marked with two icons e.g., : , : , : are relevant topics you are expected to have learned in prerequisite courses. They are given for reference, but are examinable. The number of indicates the progression of prerequisite topics, similar to the topic levels system above, i.e., level-1 prerequisite topics are the most basic and the most important. Level-4 prerequisite topics can be ignored without affecting GPA.

Topic levels for other things, e.g., admin info sections:

  • The course uses a similar topic levels system to indicate the importance of other info in this website. i.e., information rated as level-1 is the most essential. Info rated level-4 is optional and can be ignored without affecting your ability to follow the course.

Rewards for exceeding expectations

This course deliberately avoids giving extra credit for exceeding expectations, in order to keep the workload manageable (of course, doing more will have its own rewards in terms of learning).


Using this WebsiteCourse Briefing Videos