6 EC
Semester 2, periode 4, 5
5083GPPR6Y
| Eigenaar | Bachelor Kunstmatige Intelligentie |
| Coördinator | Bas Terwijn |
| Onderdeel van | Bachelor Kunstmatige Intelligentie, jaar 3 |
| Links | Zichtbare leerlijnen |
This course introduces students with prior programming experience (mainly in Python) to the C++ programming language and the basics of GPU programming with CUDA. In the first part of the course, students learn the fundamentals of C++, including syntax, control structures, memory management, and object-oriented programming. These topics are practiced through a series of three progressively challenging assignments. The final assignment focuses on writing parallel code using CUDA that runs on a GPU. By the end of the course, students will have gained hands-on experience with both C++ and CUDA, preparing them for performance-critical and parallel computing applications.
Absolute C++, International or fifth edition, by Walter Savitch
CUDA by Example: An Introduction to General-Purpose GPU Programming, 1st Edition, by Jason Sanders, Edward Kandrot
Week 6 werkcolleges: discussing slides about Assignment 1
Week 8 laptopcolleges: working on Assignment 1, with the opportunity to ask questions
Week 10 werkcolleges: discussing slides about Assignment 2
Week 12 laptopcolleges: working on Assignment 2, with the opportunity to ask questions
Week 13 deeltoets:
Week 14 werkcolleges: discussing slides about Assignment 3
Week 16 laptopcolleges: working on Assignment 3, with the opportunity to ask questions
Week 19 werkcolleges: discussing slides about Assignment 4
Week 21 laptopcolleges: working on Assignment 4, with the opportunity to ask questions
Week 22 deeltoets:
|
Activiteit |
Uren |
|
|
Deeltoets |
4 |
|
|
Laptopcollege |
16 |
|
|
Werkcollege |
16 |
|
|
Zelfstudie |
132 |
|
|
Totaal |
168 |
(6 EC x 28 uur) |
Aanwezigheidseisen opleiding (OER-B Artikel B-4.10):
| Onderdeel en weging | Details |
|
Eindcijfer | |
|
1 (50%) Deeltoets 1 | |
|
1 (50%) Deeltoets 2 |
To pass the course, all assignments must be graded as a pass (6 or higher). If you receive a failing grade, there is an option to do a compensation assignment to make up for it. Each assignment must be submitted before the deadline stated on Canvas.
The deeltoetsen cover the material taught up to that point (in the slides and the book) as well as the assignments. They are open-book exams: you may use a laptop to read the book and slides. The exam itself is written, using pen and paper.
In werkcolleges and laptopcolleges, there is an opportunity to review the grading of assignments and deeltoetsen. For the final deeltoets, an appointment can be made by email to review the grading.
assignment1: Implementation in C++ code of algorithms involving dates (validity and difference), as an introduction to this programming language.
assignment2: Implementation in C++ code of an encryption algorithm.
assignment3: Implementation in C++ of your own computer game.
assignment4: Implementation in C++ of algorithms that can be executed on a GPU.
The assignment are made individually a graded in a scale 0 through 10. Grade and feedback will be given in Canvas.
Dit vak hanteert de algemene 'Fraude- en plagiaatregeling' van de UvA. Hier wordt nauwkeurig op gecontroleerd. Bij verdenking van fraude of plagiaat wordt de examencommissie van de opleiding ingeschakeld. Zie de Fraude- en plagiaatregeling van de UvA: http://student.uva.nl
| Weeknummer | Onderwerpen | Studiestof |
| 1 | ||
| 2 | ||
| 3 | ||
| 4 | ||
| 5 | ||
| 6 | ||
| 7 | ||
| 8 | ||
| 9 | ||
| 10 | ||
| 11 | ||
| 12 | ||
| 13 | ||
| 14 | ||
| 15 | ||
| 16 |