NWI-IPC031
Imperative Programming
Cursus informatieRooster
CursusNWI-IPC031
Studiepunten (ECTS)6
CategorieBA (Bachelor)
VoertaalEngels
Aangeboden doorRadboud Universiteit; Faculteit der Natuurwetenschappen, Wiskunde en Informatica; Informatica en Informatiekunde;
Docenten
Coördinator
dr. P.M. Achten
Overige cursussen docent
Examinator
dr. P.M. Achten
Overige cursussen docent
Contactpersoon van de cursus
dr. P.M. Achten
Overige cursussen docent
Docent
dr. P.M. Achten
Overige cursussen docent
Docent
dr. R.J. Krebbers
Overige cursussen docent
Collegejaar2022
Periode
KW1-KW2  (05-09-2022 t/m 29-01-2023)
Aanvangsblok
KW1
Onderwijsvorm
voltijd
Opmerking-
Inschrijven via OSIRISJa
Inschrijven voor bijvakkersJa
VoorinschrijvingNee
WachtlijstNee
Plaatsingsprocedure-
Cursusdoelen
Design and implement in a systematic way (in C++) programs using basic types and composite data structures. During the lecture the most important concepts are explained. For the basic types and data structures their operations and 'standard algorithms' are discussed and analyzed. The second half of the course emphasizes more advanced algorithms, such as sorting and search algorithms that systematically explore a search space. The fundamental technique of recursion is treated thoroughly. We pay attention to analyzing the scalability properties of algorithms ("Big Oh" complexity). Besides studying the lecture material you will work on mandatory, weekly, programming assignments. Prior programming (language) knowledge is not required.
Inhoud
• Algorithms, systematic program development;
• Control structures: sequence, choice, conditional repetition, (recursive) functions;
• Variables and constants, global versus local;
• Parameter passing: call-by-value, call-by-reference;
• Data structures: enumeration, arrays, files, structures, vectors;
• Documenting functions with pre-conditions and post-conditions;
• Sorting algoritms, both naive and efficient;
• Complexity analysis, "Big-Oh" complexity;
• Recursive problem solving.
 
Niveau

Voorkennis
none
Toetsinformatie
Participation in the practicum is mandatory. Assignments are graded with Fail, Insufficient, Sufficient, or Good. Not handing in an assignment counts as Fail. To pass the practicum all assignments must have at least grade Insufficient. Besides the mandatory assignments there are bonus assignments that can contribute a maximum of 0.5 point to determine the final grade.

This course has a mid-term exam and an end-term exam. Both exams are 'closed book': you are not allowed to use any extra material. For both exams the minimum grade is 4. If one or both exams have a grade lower than 4, then this counts as failing the course. If both exams have a grade of at least 4 then the final grade of the course is computed by the average of the mid-term and end-term exam results plus the bonus from the practicum, rounded to the nearest half point in case of successful grades and rounded to the nearest whole point in case of failing grades.
Bijzonderheden

Verplicht materiaal
Boek
Problem Solving with C++ - Tenth edition. Walter Savitch. Pearson.
ISBN:978-1-29-201824-9
Titel:Problem Solving with C++
Auteur:Walter Savitch
Uitgever:Pearson
Druk:10

Werkvormen
Cursus
AanwezigheidsplichtJa

Practical computer training
AanwezigheidsplichtJa

Algemeen
in practicum oefen je daadwerkelijk met de stof; dit vergt goede voorbereiding

Voorbereiding bijeenkomsten
zelfstudie en voorbereiding met practicumpartner; deelname aan verplichte practicum-toets; deelname aan werkcollege indien noodzakelijk

Opmerking
In the first half of the course, there is a mandatory weekly test to train you how to prepare yourself for the lab.

Toetsen
Digital Midterm
Weging0
ToetsvormDigitale toets met CIRRUS
GelegenhedenBlok KW1, Blok KW2

Digital Exam
Weging0
ToetsvormDigitale toets met CIRRUS
GelegenhedenBlok KW2, Blok KW3

Deelname practicum
Weging0
ToetsvormDeelname
GelegenhedenBlok KW2

Eindcijfer incl. bonus
Weging1
GelegenhedenBlok KW2, Blok KW3

Opmerking
See detailed description under Test information