diff --git a/assets/js/EditProfile.jsx b/assets/js/EditProfile.jsx
index 62a8386ba9dc84961ce893503d7ee8b2c7c50c69..d3d2ed812981e056128c7fdaddda426ac73d800f 100644
--- a/assets/js/EditProfile.jsx
+++ b/assets/js/EditProfile.jsx
@@ -58,6 +58,7 @@ export default class EditProfile extends React.Component {
         languages: '',
         seminar: '',
         interests: '',
+        related_course: '',
       },
       refresh: 1,
       loading: false,
@@ -76,6 +77,7 @@ export default class EditProfile extends React.Component {
       seminar: '',
       interests: '',
       dependants: '',
+      related_course: '',
     };
     this.getProfile = this.getProfile.bind(this);
     this.handleChange = this.handleChange.bind(this);
@@ -117,6 +119,7 @@ export default class EditProfile extends React.Component {
           languages: data.languages,
           seminar: data.seminar,
           interests: data.interests,
+          related_course: data.related_course,
         });
         if (this.props.route.own) {
           const newSession = this.props.user.data;
@@ -543,6 +546,22 @@ export default class EditProfile extends React.Component {
               />
             </Form.Field>
 
+            <Form.Field>
+              <label htmlFor="related_course">Related Coursework Taken</label>
+              <input
+                onChange={this.handleChange}
+                placeholder={
+                  this.state.related_course === null
+                    ? 'Intraction System, Machine Learning'
+                    : this.state.related_course
+                }
+                defaultValue={
+                  this.state.related_course === null ? null : this.state.related_course
+                }
+                name="related_course"
+              />
+            </Form.Field>
+
             <Form.Field>
               <label htmlFor="resume">Resume</label>
               <input
diff --git a/assets/js/ProfilePage.jsx b/assets/js/ProfilePage.jsx
index e859db8a2bf402a1e7f53f1926cf804ffd6be80e..6d3c3fa63bf5e5856ae0b8361755e9203464bf22 100755
--- a/assets/js/ProfilePage.jsx
+++ b/assets/js/ProfilePage.jsx
@@ -76,6 +76,7 @@ export default class ProfilePage extends React.Component {
         languages: '',
         seminar: '',
         interests: '',
+        related_course: '',
       },
       bagikanTranskrip: '',
       acceptedNo: 0,
@@ -100,6 +101,7 @@ export default class ProfilePage extends React.Component {
       semimar: '',
       interests: '',
       dependants: '',
+      related_course: '',
     };
     this.getProfile = this.getProfile.bind(this);
     this.handleChange = this.handleChange.bind(this);
@@ -167,6 +169,7 @@ export default class ProfilePage extends React.Component {
           seminar: data.seminar,
           interests: data.interests,
           dependants: data.dependants,
+          related_course: data.related_course,
         });
         if (this.props.route.own) {
           const newSession = this.props.user.data;
@@ -616,6 +619,21 @@ export default class ProfilePage extends React.Component {
                   name="interests"
                 />
               </Form.Field>
+              <Form.Field>
+                <label htmlFor="related_course">Related Coursework Taken</label>
+                <input
+                  onChange={this.handleChange}
+                  placeholder={
+                    this.state.related_course === null
+                      ? 'Interaction System, Machine Learning'
+                      : this.state.related_course
+                  }
+                  defaultValue={
+                    this.state.related_course === null ? null : this.state.related_course
+                  }
+                  name="related_course"
+                />
+              </Form.Field>
               <Form.Field>
                 <label htmlFor="resume">Resume</label>
                 <input
@@ -1220,6 +1238,20 @@ export default class ProfilePage extends React.Component {
                       </Grid.Column>
                     </Grid>
                   </Segment>
+                  <Segment basic vertical>
+                    <Grid>
+                      <Grid.Column width={2}>
+                        <Icon name="book" size="big" />
+                      </Grid.Column>
+                      <Grid.Column width={13}>
+                        <p>
+                          {' '}
+                          {this.state.related_course || 'Related Course belum ditambahkan'}
+                          {' '}
+                        </p>
+                      </Grid.Column>
+                    </Grid>
+                  </Segment>
                   <Segment basic vertical>
                     <Grid>
                       <Grid.Column width={2}>
diff --git a/core/migrations/0001_initial.py b/core/migrations/0001_initial.py
index 642f87b21d92d8b2029c278cddde3ad258e8350d..104e5b9eb8170527dd44f8267cc8ea4775ec26c1 100644
--- a/core/migrations/0001_initial.py
+++ b/core/migrations/0001_initial.py
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Generated by Django 1.11.17 on 2019-12-03 19:28
+# Generated by Django 1.11.17 on 2019-12-04 03:48
 from __future__ import unicode_literals
 
 import core.lib.validators
@@ -116,6 +116,7 @@ class Migration(migrations.Migration):
                 ('seminar', models.CharField(blank=True, max_length=100, null=True)),
                 ('interests', models.CharField(blank=True, max_length=100, null=True)),
                 ('dependants', models.IntegerField(blank=True, db_column=b'dependants', default=0, null=True)),
+                ('related_course', models.CharField(blank=True, max_length=200, null=True)),
             ],
             options={
                 'ordering': ['-updated'],
@@ -127,7 +128,7 @@ class Migration(migrations.Migration):
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('created', models.DateTimeField(auto_now_add=True)),
                 ('updated', models.DateTimeField(auto_now=True)),
-                ('nip', models.IntegerField(unique=True, validators=[django.core.validators.MinValueValidator(100000000), django.core.validators.MaxValueValidator(9999999999)])),
+                ('nip', models.IntegerField(unique=True, validators=[django.core.validators.MinValueValidator(100000000), django.core.validators.MaxValueValidator(9999999999L)])),
                 ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
             ],
             options={
diff --git a/core/models/accounts.py b/core/models/accounts.py
index 1eed5ba3165dc4dd5033d8f4014e6ca7d9c00867..63eb1b607fa955489b5f16b9f572abb773f9578f 100755
--- a/core/models/accounts.py
+++ b/core/models/accounts.py
@@ -120,6 +120,7 @@ class Student(models.Model):
     seminar = models.CharField(max_length=100, blank=True, null=True)
     interests = models.CharField(max_length=100, blank=True, null=True)
     dependants = models.IntegerField(db_column='dependants', default=0, blank=True, null=True)
+    related_course = models.CharField(max_length=200, blank=True, null=True)
 
     @property
     def name(self):
diff --git a/core/serializers/accounts.py b/core/serializers/accounts.py
index 68de2e89ce75c67a9383080d53334f482a4cfd3c..dcc3dbd93cad4f1d1bb42bdd0e68cadb27f7e1e6 100755
--- a/core/serializers/accounts.py
+++ b/core/serializers/accounts.py
@@ -26,7 +26,7 @@ class StudentSerializer(serializers.ModelSerializer):
                   'work_experience', 'latest_work', 'latest_work_desc', 'read_no', 'volunteer', 'job_seeking_status',
                   'skills', 'expected_salary',
                   'self_description', 'github_url', 'gitlab_url', 'awards', 'certification', 'languages', 'seminar',
-                  'interests', 'alamat', 'projects', 'dependants', 'student_toefl']
+                  'interests', 'alamat', 'projects', 'dependants', 'student_toefl', 'related_course']
 
     @staticmethod
     def get_accepted_no(obj):
@@ -84,6 +84,7 @@ class StudentUpdateSerializer(serializers.ModelSerializer):
             'seminar': instance.seminar,
             'interests': instance.interests,
             'dependants': instance.dependants,
+            'related_course':instance.related_course,
         }
 
     def update(self, instance, validated_data):
@@ -146,6 +147,8 @@ class StudentUpdateSerializer(serializers.ModelSerializer):
         instance.interests = validated_data.get(
             'interests', instance.interests)
         instance.dependants = validated_data.get('dependants', instance.dependants)
+        instance.related_course = validated_data.get(
+            'related_course', instance.related_course)
         instance.save()
         instance.user.save()
         return instance
@@ -157,7 +160,7 @@ class StudentUpdateSerializer(serializers.ModelSerializer):
                   'work_experience', 'latest_work', 'latest_work_desc', 'volunteer', 'job_seeking_status', 'skills',
                   'expected_salary',
                   'self_description', 'github_url', 'gitlab_url', 'awards', 'certification', 'languages', 'seminar',
-                  'interests', 'alamat', 'projects', 'dependants', 'student_toefl']
+                  'interests', 'alamat', 'projects', 'dependants', 'student_toefl', 'related_course']
 
 
 class CompanyUpdateSerializer(serializers.ModelSerializer):
diff --git a/core/tests/test_accounts.py b/core/tests/test_accounts.py
index 2cf93921fe2980c83d2f56da0b4d75433c5e4f81..09c8dc463c36c7e4e4571ba7689ba1db79f73176 100755
--- a/core/tests/test_accounts.py
+++ b/core/tests/test_accounts.py
@@ -348,6 +348,16 @@ class ProfileUpdateTests(APITestCase):
         response = self.client.patch(url, {'skills': '1231231231'}, format='multipart', encoding='utf-8')
         self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
 
+        url = '/api/students/' + str(student_id) + "/profile/"
+        response = self.client.patch(url, {'related_course': 'Interaction System, Machine Learning'}, format='multipart',
+                                     encoding='utf-8')
+        self.assertEqual(response.status_code, status.HTTP_202_ACCEPTED)
+        self.assertEqual(response.data.get('related_course'), 'Interaction System, Machine Learning')
+
+        url = '/api/students/' + str(student_id) + "/profile/"
+        response = self.client.patch(url, {'related_course': failing_desc}, format='multipart', encoding='utf-8')
+        self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
+
     @requests_mock.Mocker()
     def test_student_profile_update_filetype_validation(self, m):
         mock_csui_oauth_verify(m)