diff --git a/common/lib/xmodule/xmodule/modulestore/tests/django_utils.py b/common/lib/xmodule/xmodule/modulestore/tests/django_utils.py
index 5e4dbe5a5ab79314c96006230c22cf4ec21221c8..29963f016430bb8ecb05070585f4b1cfa703a9a0 100644
--- a/common/lib/xmodule/xmodule/modulestore/tests/django_utils.py
+++ b/common/lib/xmodule/xmodule/modulestore/tests/django_utils.py
@@ -8,7 +8,7 @@ import os
 from contextlib import contextmanager
 from enum import Enum
 
-from courseware.field_overrides import OverrideFieldData  # pylint: disable=import-error
+from lms.djangoapps.courseware.field_overrides import OverrideFieldData  # pylint: disable=import-error
 from courseware.tests.factories import StaffFactory
 from django.conf import settings
 from django.contrib.auth.models import AnonymousUser, User
diff --git a/lms/djangoapps/ccx/overrides.py b/lms/djangoapps/ccx/overrides.py
index 503a812fb2141cb0f4627ab1a3e71daf97bff6d5..01a8200425e92e4ebae3d265125eb9c1bfd5a0bd 100644
--- a/lms/djangoapps/ccx/overrides.py
+++ b/lms/djangoapps/ccx/overrides.py
@@ -10,7 +10,7 @@ from django.db import transaction
 from opaque_keys.edx.keys import CourseKey, UsageKey
 
 from openedx.core.lib.cache_utils import get_cache
-from courseware.field_overrides import FieldOverrideProvider
+from lms.djangoapps.courseware.field_overrides import FieldOverrideProvider
 from lms.djangoapps.ccx.models import CcxFieldOverride, CustomCourseForEdX
 
 log = logging.getLogger(__name__)
diff --git a/lms/djangoapps/ccx/tests/test_field_override_performance.py b/lms/djangoapps/ccx/tests/test_field_override_performance.py
index 3588600594c660598cd36e0c49059d8f2772e16a..672c9bc38ce4bb5236b2be51755abfbab952ede4 100644
--- a/lms/djangoapps/ccx/tests/test_field_override_performance.py
+++ b/lms/djangoapps/ccx/tests/test_field_override_performance.py
@@ -9,7 +9,7 @@ import ddt
 import mock
 import pytest
 from ccx_keys.locator import CCXLocator
-from courseware.field_overrides import OverrideFieldData
+from lms.djangoapps.courseware.field_overrides import OverrideFieldData
 from courseware.testutils import FieldOverrideTestMixin
 from courseware.views.views import progress
 from django.conf import settings
diff --git a/lms/djangoapps/ccx/tests/test_overrides.py b/lms/djangoapps/ccx/tests/test_overrides.py
index 1665fef9f059e1a88cd135f7761ac21b1a8ebec3..9cb3a50783cf731b80d7db030757dbd3796998ff 100644
--- a/lms/djangoapps/ccx/tests/test_overrides.py
+++ b/lms/djangoapps/ccx/tests/test_overrides.py
@@ -11,7 +11,7 @@ from django.test.utils import override_settings
 from edx_django_utils.cache import RequestCache
 
 from courseware.courses import get_course_by_id
-from courseware.field_overrides import OverrideFieldData
+from lms.djangoapps.courseware.field_overrides import OverrideFieldData
 from courseware.testutils import FieldOverrideTestMixin
 from lms.djangoapps.ccx.models import CustomCourseForEdX
 from lms.djangoapps.ccx.overrides import override_field_for_ccx
diff --git a/lms/djangoapps/ccx/views.py b/lms/djangoapps/ccx/views.py
index 491e133781e72e6c07b01e0f7f5fca1d178cf0f5..03e6b342b8deb0643e132936480a2bc14a44f0e1 100644
--- a/lms/djangoapps/ccx/views.py
+++ b/lms/djangoapps/ccx/views.py
@@ -25,7 +25,7 @@ from opaque_keys.edx.keys import CourseKey
 
 from courseware.access import has_access
 from courseware.courses import get_course_by_id
-from courseware.field_overrides import disable_overrides
+from lms.djangoapps.courseware.field_overrides import disable_overrides
 from django_comment_common.models import FORUM_ROLE_ADMINISTRATOR, assign_role
 from django_comment_common.utils import seed_permissions_roles
 from edxmako.shortcuts import render_to_response
diff --git a/lms/djangoapps/course_blocks/api.py b/lms/djangoapps/course_blocks/api.py
index a2dda446e053c99f02b765aad1aed8616a221643..3b58aac9a5d3673198cb9256080ee7c87783e49f 100644
--- a/lms/djangoapps/course_blocks/api.py
+++ b/lms/djangoapps/course_blocks/api.py
@@ -10,13 +10,15 @@ from openedx.core.djangoapps.content.block_structure.transformers import BlockSt
 from .transformers import library_content, start_date, user_partitions, visibility, load_override_data
 from .usage_info import CourseUsageInfo
 
-INDIVIDUAL_STUDENT_OVERRIDE_PROVIDER = 'courseware.student_field_overrides.IndividualStudentOverrideProvider'
+INDIVIDUAL_STUDENT_OVERRIDE_PROVIDER = (
+    'lms.djangoapps.courseware.student_field_overrides.IndividualStudentOverrideProvider'
+)
 
 
 def has_individual_student_override_provider():
     """
     check if FIELD_OVERRIDE_PROVIDERS has class
-    `courseware.student_field_overrides.IndividualStudentOverrideProvider`
+    `lms.djangoapps.courseware.student_field_overrides.IndividualStudentOverrideProvider`
     """
     return INDIVIDUAL_STUDENT_OVERRIDE_PROVIDER in getattr(settings, 'FIELD_OVERRIDE_PROVIDERS', ())
 
diff --git a/lms/djangoapps/course_blocks/transformers/tests/test_load_override_data.py b/lms/djangoapps/course_blocks/transformers/tests/test_load_override_data.py
index e1966891e7d65053bc3b31dd69e0b8c5641f4468..0e6cb0fbd69735e5040201dc171b188755f3f8cb 100644
--- a/lms/djangoapps/course_blocks/transformers/tests/test_load_override_data.py
+++ b/lms/djangoapps/course_blocks/transformers/tests/test_load_override_data.py
@@ -5,7 +5,7 @@ import datetime
 
 import ddt
 import pytz
-from courseware.student_field_overrides import get_override_for_user, override_field_for_user
+from lms.djangoapps.courseware.student_field_overrides import get_override_for_user, override_field_for_user
 from student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
diff --git a/lms/djangoapps/courseware/__init__.py b/lms/djangoapps/courseware/__init__.py
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..07fabffcdb367f05470fe7ab85d6085635e05ca5 100644
--- a/lms/djangoapps/courseware/__init__.py
+++ b/lms/djangoapps/courseware/__init__.py
@@ -0,0 +1,5 @@
+#pylint: disable=missing-docstring
+import warnings
+
+if __name__ == 'courseware':
+    warnings.warn("Importing 'lms.djangoapps.courseware' as 'courseware' is no longer supported", DeprecationWarning)
diff --git a/lms/djangoapps/courseware/field_overrides.py b/lms/djangoapps/courseware/field_overrides.py
index ae172064d61576f4b50a144eb0e09e667afeccf0..2340f01a5ec7b8653943adc22998d48af54849b9 100644
--- a/lms/djangoapps/courseware/field_overrides.py
+++ b/lms/djangoapps/courseware/field_overrides.py
@@ -2,7 +2,7 @@
 This module provides a :class:`~xblock.field_data.FieldData` implementation
 which wraps an other `FieldData` object and provides overrides based on the
 user.  The use of providers allows for overrides that are arbitrarily
-extensible.  One provider is found in `courseware.student_field_overrides`
+extensible.  One provider is found in `lms.djangoapps.courseware.student_field_overrides`
 which allows for fields to be overridden for individual students.  One can
 envision other providers being written that allow for fields to be overridden
 base on membership of a student in a cohort, or similar.  The use of an
diff --git a/lms/djangoapps/courseware/models.py b/lms/djangoapps/courseware/models.py
index 8f64b80957637399c981f5c82eaf7d81ce9fff01..abeff618376ea67cec748b8fdcff2bbdacfa2fbe 100644
--- a/lms/djangoapps/courseware/models.py
+++ b/lms/djangoapps/courseware/models.py
@@ -357,7 +357,7 @@ class OfflineComputedGradeLog(models.Model):
 class StudentFieldOverride(TimeStampedModel):
     """
     Holds the value of a specific field overriden for a student.  This is used
-    by the code in the `courseware.student_field_overrides` module to provide
+    by the code in the `lms.djangoapps.courseware.student_field_overrides` module to provide
     overrides of xblock fields on a per user basis.
     """
     course_id = CourseKeyField(max_length=255, db_index=True)
diff --git a/lms/djangoapps/courseware/module_render.py b/lms/djangoapps/courseware/module_render.py
index 7ffc7a8b78c3f11b721564785ac9078515dd0eea..d5be4123b6bc5bfc08a14204b1b14a10dadf6be8 100644
--- a/lms/djangoapps/courseware/module_render.py
+++ b/lms/djangoapps/courseware/module_render.py
@@ -44,6 +44,7 @@ from courseware.masquerade import (
 from courseware.model_data import DjangoKeyValueStore, FieldDataCache
 from edxmako.shortcuts import render_to_string
 from eventtracking import tracker
+from lms.djangoapps.courseware.field_overrides import OverrideFieldData
 from lms.djangoapps.grades.signals.signals import SCORE_PUBLISHED
 from lms.djangoapps.lms_xblock.field_data import LmsFieldData
 from lms.djangoapps.lms_xblock.models import XBlockAsidesConfig
@@ -80,7 +81,6 @@ from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.exceptions import ItemNotFoundError
 from xmodule.x_module import XModuleDescriptor
 
-from .field_overrides import OverrideFieldData
 
 log = logging.getLogger(__name__)
 
diff --git a/lms/djangoapps/courseware/student_field_overrides.py b/lms/djangoapps/courseware/student_field_overrides.py
index cd34bd9b873eb2160acc2dce8c2a50a2cd02cb5f..e00cf83107608231e96e9a5a538603ac2bb83d4f 100644
--- a/lms/djangoapps/courseware/student_field_overrides.py
+++ b/lms/djangoapps/courseware/student_field_overrides.py
@@ -4,8 +4,9 @@ by the individual due dates feature.
 """
 import json
 
+from courseware.models import StudentFieldOverride
+
 from .field_overrides import FieldOverrideProvider
-from .models import StudentFieldOverride
 
 
 class IndividualStudentOverrideProvider(FieldOverrideProvider):
diff --git a/lms/djangoapps/courseware/tests/test_module_render.py b/lms/djangoapps/courseware/tests/test_module_render.py
index 577fdb40867ad89e14d148b6c2f4c8b6586f4172..f9ca31b1acc145a26bca9119a80bd51327b35435 100644
--- a/lms/djangoapps/courseware/tests/test_module_render.py
+++ b/lms/djangoapps/courseware/tests/test_module_render.py
@@ -38,7 +38,7 @@ from capa.tests.response_xml_factory import OptionResponseXMLFactory
 from course_modes.models import CourseMode
 from courseware import module_render as render
 from courseware.courses import get_course_info_section, get_course_with_access
-from courseware.field_overrides import OverrideFieldData
+from lms.djangoapps.courseware.field_overrides import OverrideFieldData
 from courseware.masquerade import CourseMasquerade
 from courseware.model_data import FieldDataCache
 from courseware.models import StudentModule
@@ -376,7 +376,7 @@ class ModuleRenderTestCase(SharedModuleStoreTestCase, LoginEnrollmentTestCase):
         )
 
     @override_settings(FIELD_OVERRIDE_PROVIDERS=(
-        'courseware.student_field_overrides.IndividualStudentOverrideProvider',
+        'lms.djangoapps.courseware.student_field_overrides.IndividualStudentOverrideProvider',
     ))
     def test_rebind_different_users(self):
         """
diff --git a/lms/djangoapps/instructor/tests/test_tools.py b/lms/djangoapps/instructor/tests/test_tools.py
index 5b67c549d8153dc5d7d04fd53ea29fec82fabddf..60b23a05a40d52f1c3d8dfa2d9593561e2e424d6 100644
--- a/lms/djangoapps/instructor/tests/test_tools.py
+++ b/lms/djangoapps/instructor/tests/test_tools.py
@@ -16,7 +16,7 @@ from pytz import UTC
 from opaque_keys.edx.keys import CourseKey
 from six import text_type
 
-from courseware.field_overrides import OverrideFieldData
+from lms.djangoapps.courseware.field_overrides import OverrideFieldData
 from lms.djangoapps.ccx.tests.test_overrides import inject_field_overrides
 from openedx.core.lib.tests import attr
 from student.tests.factories import UserFactory
@@ -202,7 +202,7 @@ class TestTitleOrUrl(unittest.TestCase):
 @attr(shard=1)
 @override_settings(
     FIELD_OVERRIDE_PROVIDERS=(
-        'courseware.student_field_overrides.IndividualStudentOverrideProvider',),
+        'lms.djangoapps.courseware.student_field_overrides.IndividualStudentOverrideProvider',),
 )
 class TestSetDueDateExtension(ModuleStoreTestCase):
     """
diff --git a/lms/djangoapps/instructor/views/tools.py b/lms/djangoapps/instructor/views/tools.py
index e3ce1ffe0bf6845203da2d1d13c3341814cfa8a0..e78d42c97998d5086ac4f1a8a77e2ea51a58d0bf 100644
--- a/lms/djangoapps/instructor/views/tools.py
+++ b/lms/djangoapps/instructor/views/tools.py
@@ -11,10 +11,14 @@ from django.utils.translation import ugettext as _
 from opaque_keys.edx.keys import UsageKey
 from six import text_type, string_types
 
-from student.models import get_user_by_username_or_email
-from courseware.field_overrides import disable_overrides
 from courseware.models import StudentFieldOverride
-from courseware.student_field_overrides import clear_override_for_user, get_override_for_user, override_field_for_user
+from lms.djangoapps.courseware.field_overrides import disable_overrides
+from lms.djangoapps.courseware.student_field_overrides import (
+    clear_override_for_user,
+    get_override_for_user,
+    override_field_for_user,
+)
+from student.models import get_user_by_username_or_email
 from xmodule.fields import Date
 
 DATE_FIELD = Date()
diff --git a/lms/envs/aws.py b/lms/envs/aws.py
index 37f68af3e9ede8025cf749d9c214361d54c95ce5..3c8f62ab5c6fa27faacd930894406016f4c40bcd 100644
--- a/lms/envs/aws.py
+++ b/lms/envs/aws.py
@@ -463,7 +463,7 @@ if FEATURES.get('ENABLE_CORS_HEADERS') or FEATURES.get('ENABLE_CROSS_DOMAIN_CSRF
 
 
 # Field overrides. To use the IDDE feature, add
-# 'courseware.student_field_overrides.IndividualStudentOverrideProvider'.
+# 'lms.djangoapps.courseware.student_field_overrides.IndividualStudentOverrideProvider'.
 FIELD_OVERRIDE_PROVIDERS = tuple(ENV_TOKENS.get('FIELD_OVERRIDE_PROVIDERS', []))
 
 ############################## SECURE AUTH ITEMS ###############
@@ -830,7 +830,7 @@ CCX_MAX_STUDENTS_ALLOWED = ENV_TOKENS.get('CCX_MAX_STUDENTS_ALLOWED', CCX_MAX_ST
 ##### Individual Due Date Extensions #####
 if FEATURES.get('INDIVIDUAL_DUE_DATES'):
     FIELD_OVERRIDE_PROVIDERS += (
-        'courseware.student_field_overrides.IndividualStudentOverrideProvider',
+        'lms.djangoapps.courseware.student_field_overrides.IndividualStudentOverrideProvider',
     )
 
 ##### Self-Paced Course Due Dates #####
diff --git a/lms/envs/common.py b/lms/envs/common.py
index 8f5aab0a632686684c71371f96ade61c41d7cc7d..459a04f0c928b3b9da00811553b077c0eaa459a4 100644
--- a/lms/envs/common.py
+++ b/lms/envs/common.py
@@ -167,7 +167,7 @@ FEATURES = {
 
     # Enable instructor to assign individual due dates
     # Note: In order for this feature to work, you must also add
-    # 'courseware.student_field_overrides.IndividualStudentOverrideProvider' to
+    # 'lms.djangoapps.courseware.student_field_overrides.IndividualStudentOverrideProvider' to
     # the setting FIELD_OVERRIDE_PROVIDERS, in addition to setting this flag to
     # True.
     'INDIVIDUAL_DUE_DATES': False,
@@ -3067,7 +3067,7 @@ CHECKPOINT_PATTERN = r'(?P<checkpoint_name>[^/]+)'
 
 # For the fields override feature
 # If using FEATURES['INDIVIDUAL_DUE_DATES'], you should add
-# 'courseware.student_field_overrides.IndividualStudentOverrideProvider' to
+# 'lms.djangoapps.courseware.student_field_overrides.IndividualStudentOverrideProvider' to
 # this setting.
 FIELD_OVERRIDE_PROVIDERS = ()