NWI-IBC027
Algorithms and Data Structures
Course infoSchedule
Course moduleNWI-IBC027
Credits (ECTS)6
CategoryBA (Bachelor)
Language of instructionEnglish
Offered byRadboud University; Faculty of Science; Informatica en Informatiekunde;
Lecturer(s)
Lecturer
dr. J.C. Rot
Other course modules lecturer
Examiner
prof. dr. F.W. Vaandrager
Other course modules lecturer
Lecturer
prof. dr. F.W. Vaandrager
Other course modules lecturer
Coordinator
prof. dr. F.W. Vaandrager
Other course modules lecturer
Contactperson for the course
prof. dr. F.W. Vaandrager
Other course modules lecturer
Academic year2021
Period
KW1-KW2  (06/09/2021 to 30/01/2022)
Starting block
KW1
Course mode
full-time
Remarks-
Registration using OSIRISYes
Course open to students from other facultiesYes
Pre-registrationNo
Waiting listNo
Placement procedure-
Aims
To provide the intellectual tools for designing and analyzing algorithms.
Content
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,  red-black trees), divide-and-conquer, dynamic programming, and greedy algorithms. A significant part of the course will be devoted to a discussion of graph algorithms (BFS, DFS, shortest paths, spanning trees, network flow,..) and sorting algorithms.

Instructional Modes
  • Lecture
  • Tutorial
  • Self-study
Level

Presumed foreknowledge
Programming experience and basic math knowledge (induction, sets, discrete math, logic, proofs) are essential prerequisites for this course.
Test information
  • 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 you did not pass the course.
  • 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.
Specifics
Please note: due to the large number of registrations and the complex interdependencies in the schedule, there are multiple workgroup sessions scheduled on Wednesdays and Thursdays. You only need to attend one of these, suiting your schedule.
For the premaster Computing Science and double bachelor programme Comuting Science-Mathematics, workgroup sessions are schedules on Thursdays. For other students, workgroups are scheduled on Wednesdays and Thursdays.
Required materials
Book
A 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 modes
Course
Attendance MandatoryYes

Tests
Final grade (incl. bonus)
Test weight1
Test typeExam
OpportunitiesBlock KW2, Block KW3