Advanced Programming
Course setup
Advanced Programming?
Name: Advanced Programming
Goal: Learn how to design and structure (larger) programs
ECTS: 6 (spread out across 8 weeks ➞ 20 hours per week)
Material: Lectures, slides, no (mandatory) book
Classes: Lectures and practical sessions
Expected background
Advanced Programming: you should already know how to program
You must have completed an introductory programming course with a passing grade
If you are not familiar with Java, you will have to self study to catch up
Assignments
3 graded assignments
Submitted on PracTool
Deadlines on Fridays at 23:59
One point subtracted for each day late
Practical sessions
Weeks 2 until 7
Choose a TA
Schedules and enrollment instructions will be posted on Wednesday at 11:00
Enrollment starts on Wednesday at 13:30
First come, first served!
Practical this week
No “normal” practical session this week, walk-in practical session instead
It will be in MF-A311 on Friday 6 September at 11:00
Purpose: Get your development setup working (again)
Exam
Test your understanding of the theory.
Including theory not included in the assignments.
Test your ability to write programs.
The exam will be on paper, so you will not be asked to write entire programs.
Test your ability to comprehend programs.
This will include larger programs.
Test your decision-making process while writing a program.
To reduce the amount of writing you have to do :)
Final grade
Practical grade Gp: weighted average of your grades for the practical assignments.
Exam grade Ge: your grade for the exam or resit (newest grade counts).
Final grade G: average of your practical grade Gp and exam grade Ge.
In order to pass both your practical grade and exam grade must be a passing grade (5.5+)
Gp = 0.2 * Ga1 + 0.4 * Ga2 + 0.4 * Ga3
G = 0.5 * Gp + 0.5 * Ge
Assignment grading
You must use the advanced programming concepts required in the assignment
specifications. You cannot pass an assignment otherwise!
Your program must successfully implement the required functionality in the assignment
specifications. No pass without functionality.
You will be graded on the quality of the structure of your program as well as the quality of
your implementation of the advanced concepts.
You lose 1 point on your assignment grade for every day late.
If you submit >=3 days late your program will not be accepted.
Contact
Lecturer (me) - Joshua Kenyon
[Link]@[Link]
Team of TAs
Dimitriy Kruglikov
Kasparas Giniotis
Isabelle Quintius
Kacper Chmielewski
Marco Knopper
Contact details on Canvas
Who to contact:
● Assignments & grades ➞ TA
● Course content ➞ TA
● Course administration ➞ me
Potentially asked questions
Will there be deadline extensions? No
Can you make an extension because of xyz? No*
Your study advisor can request exceptions on
your behalf in case of weighty circumstances,
such as health problems.
But what if my laptop broke, or what if …? No
Can I do the course in <not-Java-language>? No
Is there a resit opportunity for the assignments? No
Can I carry over grades from last years? Yes, only from 2023-2024
Can I finish last year’s assignments? Yes, only from 2023-2024
Plagiarism & Fraud
Plagiarism: Presenting someone else’s work as your own
Copying (parts of) your solution from another student or the internet
Having a source other than you create (a part of) your solution for you
Plagiarism is a form of academic fraud
Giving your work to someone else to copy is academic fraud as well
Plagiarism is bad for you, other students, us, and everybody
Fraud is reported to the exam committee
Good news: you get one warning Bad news: this is that warning
Reminder
Announcement on Wednesday
Be ready at 13:30 to enroll for your group
Practical groups are first-come first-served
If you have issues with your setup, go to the walk-in practical session