Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 72 lines (61 sloc) 3.209 kb
a64973c @rtv added instructions for CMPT431 project
authored
1 CMPT 431 Antix Project instructions
2 ====================================
3
4 0. rtv (instructor) todos:
5 - collisions
6 - scoring
7
8 1. Prerequisites
9 - a UNIX-like OS (tested on Linux and OS X)
10 - OpenGL and GLUT
11 - C++, STL, Make
12
13 2. Obtaining the code:
14
15 - The original Antix repository is at http://github.com/rtv/Antix
16 - learn about github at http://help.github.com
17 - learn about git at http://git-scm.com
18
19 - Cloning the repo (to get your local copy to work on)
20 - git clone git@github.com:rtv/Antix.git
21
22 3. Building and running the code
23 - cd Antix
24 - (edit the Makefile to suit your system: OS X and Linux setups are provided)
25 - make
26 - ./antix
27
28 4. The Big Task
29 - Extend (or reimplement) Antix to support
30 - 1,000,000 robots
31 - the simulation backend MAY be implemented as multiple threads, processes or hosts
32 - 1000 homes (teams) each with at least one independent controller
33 - controllers MUST be separate OS processes
34 - controllers MAY run on separate hosts to the simulation backend
35 - a visualization of the whole world
36 - the system should run as fast as you can make it, given the time available.
37 - your target platform is the CSIL laboratory. Additionally, access to the CMPT cluster or
38 Amazon Elastic Compute Cloud can be arranged privately or through the instructor.
39 - using git for SCM is _strongly_ recommended. You may find github useful for collaboration, too.
40
41 5. The First Task
42 - Design a system architecture and development plan that can achieve the Big Task
43 - no code, just design
44 - split your team equally between backend and client-side responsibilities
45 - present a technical argument for your design
46 - why will it work?
47 - what could go wrong?
48 - what is Plan B, C?
49 - what remains to be decided?
50 - present a plan for development and testing, considering balanced workload for team members
51 - presentations will be by 1 person from each team
52 - 20 minutes
53 - use computer, transparencies or blackboard BUT
54 - your slides and notes must be submitted on the day, and should be comprehensible by themselves
55 - Presentations will be in class on tuesday 25 January and followed by class critique.
56
57 6. Subsequent tasks
58 - depend on your development plan, but each team will report each week, alternating between
59 backend and client sub-teams. Every person presents at least once.
60 - Hint: improve single-thread performance by improving data structures, etc. before using
61 parallelism. This exercise will also help you understand the problem and the code.
62 - The final week of semester and the exam period will be an AI contest using one or more
63 of the online Antix systems you build.
64
65 8. Getting help
66 - Use the github systems to submit bug reports, pull requests, etc.
67 - Your TA is Abbas Sadat [sas21@sfu.ca], and Autonomy Lab PhD student with relevant experience.
68 You can ask him anything except to do your project for you.
69 - Use the class mailing list cmpt-431-help@sfu.ca for questions and discussions.
70 - Ask Abbas and Richard questions via the mailing list so we can avoid duplicates, etc. Please
71 reserve personal email only for private business.
Something went wrong with that request. Please try again.