Introduction to Python Curriculum

The CodeGrade Introduction to Python course is a basic Python course with 6 lessons. Students are not required to have any prior knowledge on programming or Python. This course will cover the basics of programming in Python, modules like NumPy and Pandas, OOP and introduce students into the fields of data science and artificial intelligence.
Each lesson covers multiple topics, which are assessed in fully autograded assignments. Students are encouraged to continuously hand in to these assignments to test out their implementation. Automatic checks are built in to detect whether students have put the topics explained in that week into practice.
Students can use CodeGrade’s built-in editor to work on the assignments, which is especially recommended for the first couple of weeks. Templates are available and set up for students in the editor.
This course is ready to use and can be taught as a whole, or can be cherrypicked from to fit in your Python course.
  • 30+ ready to use Python assignments, including:
    • Assignment description;
    • CodeGrade assignment + AutoTest;
    • Solution code;
    • Template code and required fixtures.
  • Access to a CodeGrade database course with these assignments to cherrypick from;
  • Access to an LMS import package (if you are using CodeGrade integrated with an LMS) with edit-access to edit assignment descriptions;

Overview of the curriculum

  • Lesson 1: print, variables, arithmetics and data types (6 assignments).
  • Lesson 2: Input, conditionals and strings (7 assignments).
  • Lesson 3: Iterations (for- and while-loops) and functions (5 assignments).
  • Lesson 4: Data Structures (Lists, Dictionaries, sets) and recursion (8 assignments).
  • Lesson 5: Built-in Python Modules and basic Data Science using NumPy (4 assignments).
  • Lesson 6: Object Oriented Programming (4 assignments).

Get access


Step 1: Importing Course

If you use CodeGrade integrated, you will have received a Course Package for CodeGrade’s Introduction to Python course for your LMS. Please follow your LMS’ documentation on how you can import such a course package / course export.
If you use CodeGrade without an integrated LMS, you will have access to a template course, which you can import in into your course in its entirety via the Course Import feature. You can skip step 2.

Step 2: Importing assignments (in LMS)

After importing the entire course in your LMS, you should have access to assignments linked to CodeGrade with assignment descriptions.
You will now have to load CodeGrade and the autograding into these assignments. Open each assignment and use CodeGrade's import assignment feature to load in the autograding from the template course you will have access to in CodeGrade. Simply search for the assignment name (e.g. Python 1.1: Hello World) and press copy.

Step 3: Testing assignments

It is a good practice to test the assignments before opening them to students, also to get a feel of how the autograder works and what the requirements are. You will have access to solution files for each assignment, that you can upload as a “Test Student”, see the picture below:

Step 4: Tweaking the assignments

Some common tweaks that you may consider for your course, depending on your learning goals:
  • Assignment State: set the assignments to state “Done” so that students can see all instant automatic feedback and grades are automatically sent to your LMS.
  • Toggling the editor: by default, students have access to CodeGrade’s built-in editor for all assignments (and are presented with a template to start with). If you wish, you can toggle this and only allow uploading files.
  • Deadlines: a deadline is required for each assignment. If your course is self-paced, it is recommended to set a deadline in the far future to simulate that in CodeGrade. Deadlines are set from within your LMS.
  • Rubric and test descriptions: pre-made rubrics and test descriptions are available for all assignments. You may customize these in any way you want to better reflect your learning style and goals or to make certain elements more clear to students.
  • Distributing templates and required files: some assignments require additional (input) files for the students (e.g. a .csv dataset or a .txt input file for lexical analysis). These files are automatically provided as template in CodeGrade if the editor is turned on. It is a good idea to share these files via the LMS with your students too.


We are here to make your course a success! Reach out to use at [email protected].