URL study guide

https://studiegids.vu.nl/en/courses/2024-2025/X_400561

Course Objective

Upon completion of this course, students will:understand advanced programming concepts and skills; (Knowledge and understanding)apply advanced programming concepts in their code; (Applying knowledge and understanding)use basic program design concepts to write larger programs. (Applying knowledge and understanding)

Course Content

In this course, students will learn the next steps of programming. Whereas Introduction to Programming focuses on the basics of how to program, Advanced Programming focuses more on the design process and principles of (larger and more complex) programs. These principles are important in the field of software engineering and are applied when multiple developers work together on a project. General topics covered during the course include: Modifiers, Interfaces (APIs, abstract data types, documentation, polymorphism), Error handling, Data structures (Collection, for-each loop), Auto (un)boxing, Generic types, Inner classes, Inheritance ('super'), Abstract Classes, Object class (.clone() & Cloneable, .equals(), .toString()), Enums, Design Patterns (Composition vs Inheritance), Testing

Teaching Methods

Lectures (4 to 6 hours per week) and practical sessions (4 hours per week). Students are required to attend a practical session at least once every week.

Method of Assessment

The final grade is based on a practical grade and an exam grade. During the practicals, students submit three graded assignments, the practical grade is the weighted average of those three assignments. The assignments are to be done individually and are automatically checked for plagiarism. If there is any reasonable doubt whether the student was the sole author of their work, an oral exam will be scheduled. In order to pass the course, both the practical and the exam grade should be at least a 5.5.

Literature

Students can optionally refer to the book Absolute Java, Walter Savitch, Pearson International Edition, Fifth International Edition, ISBN: 978-0-273-76479-3.

Target Audience

Bachelor Business Analytics (year 2)Bachelor Econometrics and Operations Research (year 3)

Custom Course Registration

Students must register for a practical group. This will happen via Canvas during the first week of the course.

Entry Requirements

Introduction to Programming (XB_0099), or another course of similar level (e.g. Computer Programming (XB_40011), Computer Programming Project (X_400556), Introduction to Programming (Java) (X_400634)). The programming language used in this course is Java. It is not possible to do the assignments in a different language.
Academic year1/09/2431/08/25
Course level6.00 EC

Language of Tuition

  • English

Study type

  • Bachelor