This document provides an overview of the Advanced Programming course at Universitas Indonesia. The course focuses on programming in large projects as opposed to small programs. It will cover modern programming language features and techniques like design patterns. Students will work on a class project and other assignments individually and in teams. They will learn to write well-tested, documented code and manage projects with version control. The course aims to help students design and implement components of larger software applications. It will include lectures, exercises, and exams to evaluate students.