Course Details

CPSC 515 will be taught online for Winter Term 1 (September - December) in 2020. Please see Online Adaptation for details on delivery and expectations for the online course.

Intended Audience: Graduate students or advanced undergraduates in

    • Computer science

    • Engineering

    • Applied mathematics

I must hold some seats for CS graduate students until the beginning of September, but if there are seats remaining once the CS demand is satisfied then I will release them to students on the wait list; consequently, please register to the wait list so that I can see the level of external interest.

Prerequisites: Graduate standing or consent of the instructor.

    • It is expected that students' backgrounds will vary, so every attempt will be made to keep the course self-contained.

    • Students should be comfortable working with vectors, matrices, multi-variable calculus and the basic concepts of probability and statistics. In some parts of the course it will be useful but not required to have experience with linear algebra, differential equations and/or Markov decision processes.

    • Students should have experience programming with more than one imperative or object oriented language; for example, C, C++, Python, Matlab, Java, Julia, etc. For the homework, we will be working with the Python and C++ bindings of the software framework ROS, so it will help to be familiar with at least one of these languages. For the project implementation (if any), you may choose your own language.

    • Students should be comfortable working with a command line interface, since that is the primary way of controlling ROS.

    • Students are not expected to have experience with electronics, mechanics or digital hardware; the focus of the course is algorithms and software.

    • If you are in doubt, come to the first class or contact the instructor.

Grades: The final grade will be determined by a combination of:

    • In class participation:

      • Class group work is not graded for correctness, but students are expected to participate during small group discussions and be ready to explain design decisions if called upon.

      • When it is not their turn to present a research paper, students are still expected to be ready to question or discuss the content of that paper.

    • Homework assignments:

      • Students may be asked to complete elements of in-class design problems as after-class homework.

      • Students will be expected to demonstrate basic robot capabilities using ROS packages in simulation and optionally on a physical robot.

      • Students may be expected to demonstrate and answer questions about their homework submissions during live one-on-one assessment sessions (scheduled separately from the live online class sessions). Questions may include every aspect of the submissions from high-level structure to low level details (including code review).

    • Course Project (see also Projects):

      • Students will be expected to complete a project involving some aspect of computational robotics. The topic of the project will be chosen in consultation with the instructor.

      • Projects may be done individually or in teams of two.

      • Graded deliverables include: Leading a class discussion on a research paper related to your project topic, an oral project presentation, and a written project report.

    • Grade breakdown will be approximately 20% participation, 40% homework and 40% project, although these numbers may be adjusted depending on how the online adaptation evolves.

Live Online Sessions: Mondays and Wednesdays, noon - 13:30 pacific time.

    • See Online Adaptation for further details about expectations for online sessions.

    • First session Wednesday September 9, 2020.

    • Last session Wednesday December 2, 2020.

    • There will be no sessions on Canadian statutory holidays: Monday October 12 2020 (Thanksgiving) and Wednesday November 11 2020 (Remembrance Day).

    • Check the CS Graduate Course web page or the UBC course web page for updates on scheduling.

Computer Science Graduate Breadth Requirement: CPSC 515 counts for breadth in the Computational Intelligence area. See the CS department's comprehensive course requirements for more details.

Health and Wellbeing:

  • A healthy mind, body, and spirit are foundations for students to achieve their personal and academic goals.

  • Amidst the outbreak of COVID-19, many students may be developing feelings of fear, stress, worry and isolation

    • These feelings are natural when facing threats that are beyond our control.

    • Everyone reacts differently to these feelings, which can be overwhelming for some.

    • It's important to understand that if you need help in coping with these feelings, there are articles and resources to guide you in managing your mental health during this time.

  • UBC Student Services site collecting links to all aspects of student health: https://students.ubc.ca/health

  • UBC Student Services COVID specific site: https://students.ubc.ca/covid19/mental-health-during-covid-19-outbreak

  • If you are struggling with your health (be it mental, physical or emotional), finances, studies or anything else then reach out to a friend, a roommate, a counsellor, an advisor, a TA, a professor, or somebody else. Times are very challenging, but you do not have to face those challenges alone!