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

Using this WebsiteWeekly Schedule


Course Expectations

Here are some important expectations of the course from 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, do brush up your Java programming skills.

In particular, you may want to have a look at the new Java features such as streams, lambdas, Optionals, that may not have been covered in previous Java courses.

CS2103 students: This course assumes a reasonable prior knowledge of Java and OOP because most students taking this course have taken two Java courses before. If you are totally new to Java, you may be better off switching to CS2113 (Software Engineering & Object-Oriented Programming) instead.

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 students can do, in order to provide enough things for even the strongest students 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 time you spend for the course in a week e.g., 1-1.5 days per week.
  • We have provided a topic levels to guide you when prioritizing which things 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 you to 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 get into a level above those who merely limit themselves to the topics of the course. 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 pre-requisite 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 are the most essential. Info rated level-4 are non-essential 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 the expected bars, in order to keep the workload manageable (of course, doing more will have their own rewards in terms of learning).

If you are a strong programmer wishing to push yourself beyond the expectations set by the course, you can consider applying for CS2103R, to earn an extra 1 Unit of graded credit.


Using this WebsiteWeekly Schedule