CloseHelpPrint
Kies de Nederlandse taal
Course module: 822188-B-6
822188-B-6
Data Structures and Algorithms
Course info
Course module822188-B-6
Credits (ECTS)6
CategoryBA (Bachelor)
Course typeCourse
Language of instructionEnglish
Offered byTilburg University; Tilburg School of Humanities and Digital Sciences; TSH: Department Cognitive Science and AI; TSH: Department Cognitive Science and AI;
Is part of
B Communication and Information Sciences
B Communication and Information Sciences (Spc.Cog.Sc & AI)
B Cognitive Science and Artificial Intelligence
Contact personprof.dr.ir. P.H.M. Spronck
Lecturer(s)
Lecturer
dr. M. Postma
Other course modules lecturer
Lecturer
prof.dr.ir. P.H.M. Spronck
Other course modules lecturer
Coordinator course
prof.dr.ir. P.H.M. Spronck
Other course modules lecturer
Academic year2018
Starting block
SM 1
Course mode
Full-time
RemarksThis information is not up to date. Check the Course Catalog 2019 or select the course via “Register”.
Registration openfrom 20/08/2018 09:00 up to and including 31/07/2019
Aims
The importance of computational techniques in professional lives is growing rapidly. Such techniques are also at the basis of many of the courses taught in the CSAI and Data Science programs. The course "Data Structures and Algorithms" builds on the computational knowledge from the course "Basic Programming" in two ways: (1) it teaches the students the general programming language Python, and (2) it provides with the skills to use advanced data structures and design and assess algorithms. At the end of the course, the students should be able to:
  • construct imperative programs in Python
  • construct object oriented programs in Python
  • use basic data structures such as lists, dictionaries, and sets
  • use advanced data structures such as nested dictionaries, linked lists, trees, graphs, and files in many formats
  • assess and compare the quality of various algorithms to solve particular problems
Academic skills:
  • Problem solving
  • Computational thinking

Specifics

About three of the practical sessions will be used to let the students take a small test. These tests are mandatory (the dates will be announced at the start of the course via Blackboard). The tests will be graded. The average of the test grades will be 50% of the final grade for the course. The other 50% will be a computer exam that is given in the exam week at the end of the course.
Content
The course will be taught with one lecture and one practical session per week. The lecture will be used to teach the students new concepts of the Python language and general programming techniques. The practical session is used to allow the students to practice with the materials taught. However, the students are also expected to work on exercises at other times. Programming can only be learned by practicing a lot. Many exercises will be made available to the students for this purpose.

While it is recommended that the course participants have taken Basic Programming before taking on this course, that is not a requirement. This course is self-contained; students are not expected to have any programming knowledge. However, the course Basic Programming introduces many programming techniques, which gives students who did it a head start and a much easier time internalizing particular concepts. However, a student who did not do Basic Programming but has an aptitude for abstract thinking or did some programming before, should not have any problems following this course.

Compulsory Reading
  1. Nothing is compulsory, programming is learned by doing, not by reading. However, many materials will be made available via blackboard at the start of the course.

Recommended Reading
  1. Most books on Python are helpful. For this course in particular I wrote a freely available book called "The Coder's Apprentice", which will be made available via Blackboard. A Dutch version is also available. Another good, freely available book is "Think Python" by Allen Downey.

Timetable information
822188-B-6|Data Structures and Algorithms
Written test opportunities
Omschrijving/DescriptionToets/TestBlok/BlockGelegenheid/OpportunityDatum/Date
Written test opportunities (HIST)
Omschrijving/DescriptionToets/TestBlok/BlockGelegenheid/OpportunityDatum/Date
Computer tentamen (50%) / Computer exam (50%)EXAM_01SM 1121-12-2018
Computer tentamen (50%) / Computer exam (50%)EXAM_01SM 1225-01-2019
Required materials
-
Recommended materials
Literature
-
Title:The Coder's Apprentice
Author:Pieter Spronck
Publisher:Freely available from www.spronck.net/pythonbook
Tests
Computer exam (50%)

3 computertests (50%)

CloseHelpPrint
Kies de Nederlandse taal