Wiki

Clone wiki

popl / Home

Welcome to the Course Wiki of PoPL

This is the landing page of the PoPL course wiki. This is where you will all the material related to the PoPL course. The current session is (July-December 2020).

Coordinates (August-December 2021)

The course is scheduled in the A-slot. See the time table for more details.

  1. The classes will run in the flipped class room mode, which means that there will be video lectures and the weekly interaction session will act as a tutoria/doubt clearing/clarification session

  2. It is expected that the students view the video lectures before they come to the interaction session. The videos and the relevant material will be sent to you.

Getting Started.

By now you should have acquired basic computer literacy. You should be able to

  1. Check and write emails.

  2. Make use of an editor. While any editor is fine, I would highly recommend the use of emacs.

  3. Basic command-line operations, particularly for compilation etc.

I also recommend buying a cheap laptop for use in your hostel. Get a decent GNU/Linux distribution (Debian is what I recommend) and you are ready to go.

Git version controller.

Although not part of the course (life is too short for this), you are expected to learn how to use git. If you already know git well and good. Otherwise it is not too difficult to acquire a working knowledge of git for this course. Here are some resources for working with git

  1. Videos meant for beginners for https://git-scm.com/doc,

  2. The Pro-Git book for a through treatment of git,

  3. A git cheat sheet for quick command reference,

  4. The git manual for experienced users.

Git integration with editors

While command line usage of git is a necessary skill to learn, when working on source code it might make sense to integrate git with your editor. I like to use the magit-mode for emacs.

Git lab account

It makes sense to "host" your git repositories somewhere so that

  1. You can share it with others
  2. You can work between multiple unconnected machines, e.g. desktop at the lab and laptop at home.
  3. Automatic backup in the event of your laptop crashing.

There are many git hosting sites, and I recommend using gitlab for files related to this course. Start by making yourself an account on gitlab. We will use gitlab in the following ways.

  1. This wiki, the programming samples etc will be available on gitlab.

  2. We have a mechanism for lab assignment submission that works via gitlab accounts.

  3. Public queries and discussions will be happening on the issue tracker of this repository.

Lab assignments

Assignment will be available from the lab subdirectory in our repository. We have a git+gitlab mechanism of assignment submission --- you create a git repository with all your assignment solutions and we sync automatically from there. The details are available on the README file.

Programming language specific pages.

  1. Getting Started with ML
  2. Getting Started with Prolog

Updated