Coding a Self-Driving Car in JavaScript (3 cr)
Code: DT10064-3002
General information
- Enrollment
- 01.04.2022 - 14.09.2022
- Registration for the implementation has ended.
- Timing
- 13.09.2022 - 31.12.2022
- Implementation has ended.
- Number of ECTS credits allocated
- 3 cr
- Local portion
- 0 cr
- Virtual portion
- 3 cr
- Mode of delivery
- Distance learning
- Unit
- Complementary Studies
- Teaching languages
- English
- Degree programmes
- Degree Programme in Business Information Technology
- Teachers
- Radu Mariescu-Istodor
- Course
- DT10064
Evaluation scale
H-5
Objective
- Students will gain an understanding of what artificial intelligence is
- Students will practice solving a real-world problem
- Students will apply fundamental mathematical tools
- Students will be guided to build a complex software system
- Students will extend a given software system according to specifications
- Students will practice modern JavaScript programming techniques
Content
In this course we study how to build a self-driving car simulation using JavaScript. We build every component ourselves, without using any external libraries so that we really understand how a system like this works. We learn how to implement the car driving mechanics, how to define the environment, how to simulate sensors, how to detect collisions and how to make the car control itself using a neural network. We briefly study how biological neural networks work and see how to implement artificial neural networks using code. We also study a basic optimization algorithm for improving the neural network. The entire system is complex, however, each component is relatively easy in and of itself requiring only a good understanding of high-school mathematics/physics and some programming experience (not necessarily JavaScript).
Location and time
Moodle link: https://moodle.karelia.fi/course/view.php?id=7477
Materials
Video playlist:
https://www.youtube.com/playlist?list=PLB0Tybl0UNfY8T85rlEnL-ohEz2lIKH-6
Teaching methods
Video lectures and personal feedback on exercises