    Course module   NWIIBC027  Category   BA (Bachelor)  Language of instruction   English  Offered by   Radboud University; Faculty of Science; Informatica en Informatiekunde;  Lecturer(s)     Academic year   2019   Period   KW1KW2  (02/09/2019 to 02/02/2020) 
 Starting block   KW1  
 Course mode   fulltime  
 Remarks   As of 2019, this course is taught in English.  Registration using OSIRIS   Yes  Course open to students from other faculties   Yes  Preregistration   No  Waiting list   No  Placement procedure    
     
To provide the intellectual tools for designing and analyzing algorithms.


This course is about the design and analysis of algorithms: how to design correct and efficient algorithms. The main goal of this course is to provide the intellectual tools for designing and analyzing your own algorithms for problems you need to solve in the future.
Some design tools that we will discuss are: data structures (e.g. hash tables, redblack trees), divideandconquer, dynamic programming, greedy, and randomized algorithms. A significant part of the course will be devoted to a discussion of various graph algorithms (BFS, DFS, shortest paths, spanning trees, network flow,..).

  Basic programming experience and basic math knowledge (induction, sets, discrete math, probability theory, logic, proofs). 
  Grades will be awarded on the basis of an exam and two practical assignments. The final grade is 0.6 E + 0.2 P1 + 0.2 P2, where E is the result of the exam and P1 and P2 are the results of the two practical assignment, respectively.
 The grade for the exam must be at least 5: if the grade for the exam is below 5 then the final grade of the course equals the grade for the exam.
 You are only allowed to participate in the exam if you have submitted serious attempts for solutions for the two practical assignments and for 9 out of the 13 weekly assignments ('serious attempt' means grade is not NSI, niet serieus ingeleverd).
 If you followed the course in a previous year, did not pas the course but nevertheless got an average grade of at least 7 for the practical assignments then you don't have to redo the practical assignments and your previous results will also count this year. Please contact the instructor if this applies to you.
 For each weekly assignment with score V or G (sufficient or good) you earn 0.1 bonus point for the exam; the maximum bonus score you can earn is 1 point.
 For the exam there will be a resit but there will not be a second chance for the practical assignments. 

 


List of topics includes:  models of computation;  basic Onotation to analyze algorithms;  data structures (heaps, hash tables, redblack trees, ...);  graph algorithms (BFS, DFS, shortest paths, network flow,..);  divide and conquer;  greedy algorithms;  dynamic programming;  randomized algorithms 

 Grades will be awarded on the basis of an exam and two practical assignments. The final grade is 0.6 E + 0.2 P1 + 0.2 P2, where E is the result of the exam and P1 and P2 are the results of the two practical assignment, respectively.  The grade for the exam must be at least 5: if the grade for the exam is below 5 then the final grade of the course equals the grade for the exam.  You are only allowed to participate in the exam if you have submitted serious attempts for solutions for the two practical assignments and for 9 out of the 13 weekly assignments ('serious attempt' means grade is not NSI, niet serieus ingeleverd).  If you followed the course in a previous year, did not pas the course but nevertheless got an average grade of at least 7 for the practical assignments then you don't have to redo the practical assignments and your previous results will also count this year. Please contact the instructor if this applies to you.  For each weekly assignment with score V or G (sufficient or good) you earn 0.1 bonus point for the exam; the maximum bonus score you can earn is 1 point.  For the exam there will be a resit but there will not be a second chance for the practical assignments. 

Basic programming experience and basic math knowledge (induction, sets, discrete math, probability theory, logic, proofs). 
prof.dr. F.W. Vaandrager, F.Vaandrager@cs.ru.nl 
   Required materialsBookA standard monograph on algorithms, including their complexity. 
ISBN  :   9780262533058 
Title  :   Introduction to Algorithms, third edition 
Author  :   Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein 
Publisher  :   MIT Press Ltd 
Edition  :   3 


Instructional modesCourseAttendance Mandatory   Yes 
 Lecture
 Tutorial
 Zelfstudie GeneralParticipants are expected to invest 168h (=6ec) in this course. Altogether there will be 14 lectures and 14 problem sessions. Each week you will need 2 hours to attend a lecture, 2 hours to attend the problem sessions, and an additional 2 hours to study the lecture material and work on the weekly problems. For each of the two large practical assignments you will need approximately 32 hours. This leaves you with 20 hours to prepare for and make the exam: 168 = 14*(2+2+2) + 2*32 + 20. RemarkAltogether you have 112 hours for self study, which is 7h per week for 16 weeks.

 TestsExamTest weight   5 
Test type   Exam 
Opportunities   Block KW2, Block KW3 


  
 
 