1. Organization

1.1. Pedagogy

The presentation of the algorithms will be either proposed in the form of lectures, videos or reading and will be accompanied by practical work (assignments / micro-projects) requesting the implementation algorithms to solve a practical optimization problem and the writing of reports.

1.2. Evalutation

1.2.1. January

For the first session, the global grade for the course is solely based on the grades of the computing projects, submitted and evaluated during the semester.

1.2.2. August

For the second session, previously submitted projects will not be re-evaluated and cannot be resubmitted. Instead, students will be assigned a new individual programming project after the June session. This project will require a written report, and, if deemed necessary by the instructor, an interview about the project may also be conducted also to verify that all theoretical concepts are well understood.

Use of Generative AI in Course Assignments

Projects are invididual. Neverthess, In this course, we recognize the evolving nature of technology and the potential benefits of using generative AI tools in the programming process. However, academic honesty and originality remain paramount. To that end:

  • Generative AI Usage: Students are permitted to use generative AI tools to assist with their assignments. Such tools can provide inspiration, suggest coding approaches, or help troubleshoot issues.

  • Original Work: While AI can be a tool, it should not be the sole author of your assignment. Your submission should be primarily your own work. Directly copying and pasting solutions from AI outputs without understanding or modification is discouraged. Similarly, collaborating with fellow students is a valuable part of the learning process, but directly copying another student’s work is considered plagiarism.

  • Source Indication: Whenever you use generative AI to assist in your assignment, you are required to indicate so by providing a brief comment in your code on how the AI was used. For example:

# Used AI to suggest optimization for this loop.
for i in range(10): ...

Failure to adhere to these guidelines may result in a reduction of marks or other academic penalties. The same consequences will hold for a student that voluntarily shares his code or make available to other students (this includes sharing your code on a public or private repository). If deemed necessary by the instructor, an interview about the projects may also be conducted.

1.3. Tools

This course will use Java language version Java8. Recommanded IDE is IntelliJ.

1.4. Contact and communication

Important communications will be made using Moodle.

Prof: Pierre Schaus and TAs: Augustin Delecluse.