Duration

15 weeks

4 sessions/week, 2 hrs/session

Course Starts

Course opens soon

Follow us to stay informed

Prerequisites

C/C++

Robotics, ECE, CS, or related field

In Oct 2018, DeepMap partner with LaiOffer!

DeepMap is a famous self-driving company in Silicon Valley which provides HD mapping and localization services. They will design certain projects for this course and offer interview opportunities for top students.

Want to be a software engineer working on self-driving cars? This course will provide you with core software development skills coupled with the state of the art in planning and decision making technologies for self-driving cars.

Partnering with automotive companies, we are well positioned to build your confidence and readiness for developing state of the art autonomous navigation systems.

Our professional post-class career services will also get you well-prepared in entering self-driving car industry.

Self-driving Introduction

Planning and Decision Making

C++ development, Algorithm Selection & Implementation, ROS

The Way to Drive Your Autonomous Passion

01

1-on-1 Mentorship

Your instructor is not only your partner-in-code, but a seasoned industry-expert who is as dedicated to your success as you are.

student and instructor online communication graphics

02

Support Team

We invest as much in you as you do in us. We put a whole team of support behind you, including: instructors, program manager, career coach, and career services manager.

multi-channels graphics

03

Career Success

Even after graduation, we’re still invested in you. Your very own career coach will spend the next six months helping you navigate the job market, apply to positions, and ace your interviews.

student with medal and trophy graphics

Get the Best of Both Worlds in One Course

LaiOffer's track record proven Software Development traning + RobotWit's pioneering autonomous navigation expertise

Part I

Software Development Essentials

4Weeks | 16Sessions

Focus on software development fundamentals catered towards the skills and techniques widely used in developing autonomous navigation systems, which makes it essential to the course and your future career in the industry.

Algorithm
Data Structure
C++ Basics
Probability
Sampling
Graph Search
Partner with top-tier tech companies
more than 100 students get offers each month

Part II

Planning & Decision-Making for Self-Driving Cars

10+1Weeks | 44Sessions

Learn the essentials and the key challenges of building a self-driving car, and the cutting-edge solutions, techniques and algorithms that modern automomous navigation systems are leveraging to overcome such challenges.

Robot Operating System
Route Planning
High-Speed Motion Planning
Intention Prediction
Reinforcement Learning
Partner with automotive companies
ROS
Developed numerous Robotic Operating Systems (ROS) packages over last 9 years

5 Autonomous Navigation Projects

  • Robot Operating System (ROS)

    Learn how to install ROS and perform basic and intermediate tasks such as creating visual markers, manipulating reference frames, and troubleshooting modules.

    Key Outcomes: You will be familiar with a popular de facto simulator for planning and decision making for robots and self-driving cars. After all the projects, you will be an expert on using ROS for developing planning and decision making modules for self-driving cars.

  • Planning with A*

    Develop key foundational planning algorithms that are based on A* to navigate in a discretized known and unknown maps.

    Key Outcomes: You will be proficient with the A* search algorithm and its application in self-driving car applications. You will also more easily and better understand more advanced cutting-edge algorithms, as A* forms the foundations for those planning and decision-making algorithms.

  • Planning with Static Obstacles

    Develop planner to navigate through multi-lane highway with multiple static obstacles; design motion primitives to allow efficient transition between lanes and fast planning times.

    Key Outcomes: You will be experienced in enhancing and adapting the A* algorithm, and successfully implementing a planning module that enables a self-driving car to change lanes while taking into account other, currently static, vehicles on the highway.

  • Planning with Dynamic Obstacles

    Improve your previous planner to handle dynamic obstacles with known trajectories; Safely plan trajectories in the presence of faster and slower vehicles.

    Key Outcomes: You will have adapted your planner to take into account other vehicles that are now moving at varying speeds on the highway, overtaking slower vehicles and moving away from faster vehicles.

  • Planning with Uncertainty

    Develop planner to account for uncertainty in the motion of another vehicle; Add actions to disambiguate possible uncertainty; Generate trajectories that proactively seek to mitigate uncertainty.

    Key Outcomes: You will have learned how to predict the intentions and motions of other vehicles and take them into account to find safe trajectories for your self-driving car.

Syllabus

Section 1

Software Development

Focus on software development fundamentals catered towards the skills and techniques widely used in developing autonomous navigation systems, which makes it essential to the course and your future career in the industry.

Frequency: 1 month, 4 sessions/week, 2-3 hrs/session

  • Week 1

    C++ Basics

    - basic types, references and pointers, user-defined types

    - C++ program structure, compilation and namespace

    - class and its hierarchies, virtual functions

  • Week 2

    AWS and GitLab setup and introduction C++ Basics II

    - constructor and destructor

    - copy and move operations

    - template introduction

    C++ Memory management

    - storage class, resource management, smart pointers

    STL containers and iterator

  • Week 3

    STL algorithms

    - Lambda and customizing algorithms

    - Callbacks

    Graph Search Algorithms I

    - Queues, stacks, and heaps

    - Breadth first search, Depth first search

    Graph Search Algorithms II

    - Dijkstra’s, A*, Weighted A*

  • Week 4

    Graph Search Algorithms III

    - Adaptive A* + G-FRA*

    - Any-angle Search: Theta*

    Probability Review

    - Probability review, Bayes theorem

    C++ Project Preparation

    - C++ Compilation Units, namespaces, I/O

    - How to design the program

    Project 1 – Implement A* and Adaptive A* on gridworlds

Section 2

Planning and Decision Making for Self-Driving Cars

Learn the essentials and the key challenges of building a self-driving car, and the cutting-edge solutions, techniques and algorithms that modern automomous navigation systems are leveraging to overcome such challenges.

Frequency: 3 months, 4 sessions/week, 2-3 hrs/session

  • Week 5

    Intro and Overview of Autonomous Navigation

    Math Review

    ROS transforms

  • Week 6

    Trajectories and Vehicle Models

    Environment Models

    PID control

  • Week 7

    Implementation of Controls

    Planning

  • Week 8

    State space representations

    Hierarchical planners

    Heuristic search based planners

  • Week 9

    Advanced search based planners

    Practical planning considerations

    Trajectory planning

  • Week 10

    Sampling based planning

    Application of sampling planners

  • Week 11

    Planning with Uncertainty

    Overview of MDPs

    Overview of POMDPs

  • Week 12

    Reinforcement Learning

    Application to autonomous driving

    Vision/GPS/IMU models and systems

  • Week 13

    Overview of LIDAR systems

    Kalman Filters

    Particle Filters

    Mapping

  • Week 14-15

    Reviews

    Final Exam

* The syllabus is subject to change at the discretion of LaiOffer.

Frequently Asked Questions

For details, please scan the QR code to contact a consultant

  • Interactions on 5 platforms 24/7
  • All-star instructors give live teaching for the whole session
  • 1-on-1 resume revisions and job referral
  • 5 Autonomous System projects ace your interview
Get Free Trial
QR Code

Scan the QR code above to
get in touch with Course Specialists

Ask for Information