Skip to main content

Coding a Self-Driving Car in JavaScriptLaajuus (3 cr)

Code: DT10064

Credits

3 op

Teaching language

  • English

Responsible person

  • Radu Mariescu-Istodor

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).

Further information

Coding exercises in HTML, CSS and (primarily) JavaScript.

Enrollment

01.04.2022 - 14.09.2022

Timing

13.09.2022 - 31.12.2022

Number of ECTS credits allocated

3 op

Virtual portion

3 op

Mode of delivery

Distance learning

Unit

Complementary Studies

Teaching languages
  • English
Degree programmes
  • Degree Programme in Business Information Technology
Teachers
  • Radu Mariescu-Istodor
Groups
  • KAKS22
    Karelia, Open UAS, All, Fall, 2022
  • TOP22_23
    Other Complimentary Studies Group Semester 2022-2023

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

Evaluation scale

H-5

Assessment methods and criteria

A student must complete a minimum of 6 Assignments to pass the course.
Each Assignment is Pass/Fail and the final grade is formed as follows:
6 Assignments = Grade 1
7 Assignments = Grade 2
8 Assignments = Grade 3
9 Assignments = Grade 4
10 Assignments = Grade 5

Assessment criteria, satisfactory (1-2)

Student is able to explain at least 50% of the project source code.

Assessment criteria, good (3-4)

Student is able to explain over 90% of the project source code. And make improvements to the code.

Assessment criteria, excellent (5)

Student completed all exercise tasks perfectly.

Further information

Coding exercises in HTML, CSS and (primarily) JavaScript.

Enrollment

01.04.2022 - 01.05.2022

Timing

02.05.2022 - 15.08.2022

Number of ECTS credits allocated

3 op

Virtual portion

3 op

Mode of delivery

Distance learning

Campus

Wärtsilä Campus Karjalankatu 3

Teaching languages
  • English
Seats

20 - 500

Degree programmes
  • Degree Programme in Business Information Technology
Teachers
  • Radu Mariescu-Istodor
Teacher in charge

Radu Mariescu-Istodor

Groups
  • KAKK22KE
    Karelia, Open UAS, All, Summer, 2022

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

Course is open from 1.6.2022-15.8.2022 on Moodle:
https://moodle.karelia.fi/course/view.php?id=6911

All assignments have deadline on 1.8.2022.
Grading will follow soon afterwards.

Materials

Material is available on Moodle:
https://moodle.karelia.fi/course/view.php?id=6911

And in this video playlist:
https://www.youtube.com/playlist?list=PLB0Tybl0UNfY8T85rlEnL-ohEz2lIKH-6

Teaching methods

Video lectures and personal feedback on exercises.

Evaluation scale

H-5

Assessment methods and criteria

A student must complete a minimum of 6 Assignments to pass the course.
Each Assignment is Pass/Fail and the final grade is formed as follows:
6 Assignments = Grade 1
7 Assignments = Grade 2
8 Assignments = Grade 3
9 Assignments = Grade 4
10 Assignments = Grade 5

Assessment criteria, satisfactory (1-2)

Student is able to explain at least 50% of the project source code.

Assessment criteria, good (3-4)

Student is able to explain over 90% of the project source code. And make improvements to the code.

Assessment criteria, excellent (5)

Student completed all exercise tasks perfectly.

Further information

Coding exercises in HTML, CSS and (primarily) JavaScript.