Projects INFOB2KI 2018-2019

To pass the course, two projects have to be executed, each of which will result in a written lab report, and some pieces of code. The two projects are based on UC Berkeley's Pac-Man projects, and we are grateful that we have permission to re-use the material from their website. In addition, a python tutorial project is available to get acquainted with the python language and the framework's autograder.

Software


Projects

  1. Your first step is to download a description of the projects (including the tutorial) and their requirements.
  2. In addition, download the Own-Code-Declaration [pdf form].
  3. Upon submitting each project, make sure to include the filled-out (and saved!) Own-Code-Declaration (OCD), your documented source code (.py files) and lab report (in pdf!)
The deadlines for the projects are the following:
  1. Python tutorial
    • Deadline: Friday November 16

  2. Searching and Learning
    • Deadline: Monday December 17, 22:59 PM

  3. (Non-)Probabilistic Classification
    • Deadline: Thursday January 24, 22:59 PM



Submit

All projects are submitted through the Submit system. Check the description of the projects for the exact deliverables. To prevent last minute stress and missing the deadline, please note that following properties of Submit:


Python

Version and installation/use
All projects are based on Python 2.7 (and not 3.* !) Several IDE's/editors are available for Python. For an overview, look here to find links to a.o. PyDev (plugin for Eclipse), PyCharm (multi-platform), and PyScripter (Windows; free); you can also use Python tools for Visual Studio, and Visual Studio Code.

Learning Python
The first project is a Python tutorial, which is partly tailored to the PacMan framework. If you prefer a more general introduction to Python, check out learnxinyminutes.com. Those familiar with C# can also compare Python and C#. Note that Python is a strongly typed, but dynamic language, which makes debuggen tough!


Project PA t/m PC + autograder

All file for the Pac-Man projects can be found on UC Berkeley's Pac-Man projects site. In case files are temporarily offline, we have a local copy available.

Warning: although the Pac-Man projects are the result of years of development and use, there will always be small errors or things coded differently than you would do or find convenient (Computer Scientists are very critical of other people's coding!). Of all alternatives we have considered for this course, this framework seems the most decent and polished. Berkeley has obviously had a lot of time (money) and effort available to develop the framework and we are glad that we are allowed to use it!

The autograder is a feedback tool that gives you an idea of how you are doing. It however, by no means is a proof of correctness of your solution and cannot cover all cases. For example, in Project B some non-admissible heuristics may go undetected. The autograder score is therefore just an indication of your code score; for grading, your actual code will be inspected.

Concerning both the framework and the autograder: if you find specific errors or problems, please let us know so we can inform Berkeley.