Coder Social home page Coder Social logo

cmsc740-geometry-processing's Introduction

CMSC740-geometry-processing

Learning check assignments for CMSC740. The assignments are in Jupyter Lab notebooks, and we are using Docker to setup the environment.

Installing Docker

What is Docker?

Skip this section if you already have a Docker host.

  1. Instructions and requirements: https://docs.docker.com/install/
  2. Hint: you don't need a Docker Hub account. Everything still works.
  3. For Windows users, Docker requires Windows 10 with Hyper-V enabled.

Note: on Windows, Docker conflicts with VirtualBox and VMware. If you use them, try VM import as described below.

Running Jupyter Lab

What is Jupyter Lab?

On the (physical or virtual) machine where you installed Docker, do the following:

  1. If you don't have git installed, get it here: https://git-scm.com/downloads

  2. Clone this repository with git clone https://github.com/mzwicker/CMSC740-geometry-processing.git. Skip this step if you used VM Import (see below), it's already cloned in /home/cmsc740.

  3. On Windows, browse to CMSC740-geometry-processing and run run.bat. During the first run, Docker will prompt you to allow sharing the directory.

    On Linux and macOS, run run.sh (in a terminal).

    A huge Docker image is downloaded during the first run (about 5GB).

  4. If Jupyter Lab starts successfully, visit http://localhost:8888 in a browser. The access token is 123456.

  5. Complete the learning check for a course session in the corresponding folder you see in Jupyter Lab. Submit your Jupyter Lab Notebook file to ELMS/Canvas.

Notes (optional):

  1. If you're running Docker inside a VM, it can be clumsy working with the browser inside the VM. You may want to setup Port Forwarding (VirtualBox, VMware).
  2. (Optional) Normally, you don't need this. But if you encounter file permission problems, try granting write permissions.
    • Windows: go to folder properties, then select the "Security" tab, and allow the "Users" group "Full control".

    • Linux and macOS: TBD (we haven't encountered it during test runs)

If you encounter any issue, feel free to post on Piazza. We'll update these instructions based on your feedback.

Fallback Options for Installing Docker

VM import

This is the default fallback if you can't / prefer not to install Docker locally.

If you use VirtualBox or VMware, you can import a VM image prepared by us. It runs Ubuntu and has all required software installed, and docker image pulled. The repository has also been cloned in home.

To import to VirtualBox: File | Import Appliance. After importing, modify settings: open Settings, and select Display. Make sure that Video Memory is 128MB and Graphics Controller is VBoxSVGA. Do not use VMSVGA. Do not enable 3D acceleration

To import to VMware: File | Open. When an error occurs, click "Retry".

The appliance is about 7GB, and the imported VM is about 15GB.

  1. Download it from Google Drive, and import it.
  2. The user is cmsc740 and password is 123456.

VM install

If you choose this method, we assume that you're a Power User and know what to do.

Create a VM with your favorite Linux distribution (Ubuntu, CentOS, etc.) and install Docker as in Local install. Also, install git.

cmsc740-geometry-processing's People

Contributors

mzwicker avatar logchan avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.