Skip to content

first course

Mile Shi edited this page May 26, 2025 · 1 revision

Creating Your First Course

This tutorial walks you through creating your first course using the Intelligent IDE system, from initial setup to enrolling students and delivering your first lesson.

Prerequisites

Before starting this tutorial, ensure you have:

  • ✅ Intelligent IDE VS Code extension installed
  • ✅ Valid instructor account with course creation permissions
  • ✅ Basic familiarity with VS Code interface
  • ✅ Course materials ready (syllabus, initial assignments)

Step 1: Setting Up Your Instructor Account

Initial Login and Verification

  1. Open VS Code and ensure the Intelligent IDE extension is active

  2. Access the Authentication Panel

    • Press Ctrl+Shift+P (Windows/Linux) or Cmd+Shift+P (macOS)
    • Type "Intelligent IDE: Login" and select it
  3. Login with Instructor Credentials

    Email: professor@university.edu
    Password: [Your secure password]
    Role: Instructor ✓
    
  4. Verify Instructor Permissions

    • Look for the "Create Course" option in the sidebar
    • You should see instructor-specific features enabled

Configure Your Profile

  1. Access Profile Settings

    • Click the user icon in the Intelligent IDE sidebar
    • Select "Profile Settings"
  2. Complete Instructor Information

    {
      "displayName": "Dr. Sarah Johnson",
      "department": "Computer Science",
      "office": "Room 314, CS Building",
      "officeHours": "MW 2-4 PM, F 10-12 PM",
      "contactEmail": "s.johnson@university.edu",
      "bio": "Professor of Computer Science specializing in algorithms and data structures"
    }

Step 2: Course Creation Wizard

Starting the Course Creation Process

  1. Access Course Creation

    • Click "Courses" in the Intelligent IDE sidebar
    • Click the "+ Create New Course" button
    • This opens the Course Creation Wizard
  2. Basic Course Information

    Course Title: Introduction to Python Programming
    Course Code: CS101
    Semester: Spring 2025
    Credits: 3
    Department: Computer Science
    
  3. Course Description

    # Course Description
    
    This course introduces fundamental programming concepts using Python. 
    Students will learn variables, control structures, functions, and 
    basic data structures through hands-on coding exercises.
    
    ## Learning Objectives
    - Understand basic programming concepts
    - Write Python programs using various data types
    - Implement control structures and functions
    - Debug and test Python code
    - Work with files and basic data processing

Advanced Course Settings

  1. Enrollment Settings

    {
      "enrollmentType": "invite-only",
      "maxStudents": 30,
      "waitlistEnabled": true,
      "selfEnrollment": false,
      "approvalRequired": false
    }
  2. Grading Configuration

    {
      "gradingScale": "percentage",
      "passingGrade": 70,
      "latePolicy": {
        "allowLateSubmissions": true,
        "latePenaltyPerDay": 5,
        "maxLateDays": 3
      },
      "gradingCategories": [
        {"name": "Homework", "weight": 40},
        {"name": "Quizzes", "weight": 20},
        {"name": "Midterm", "weight": 15},
        {"name": "Final Project", "weight": 25}
      ]
    }
  3. Collaboration Policy

    ## Collaboration Policy
    
    - **Homework**: Individual work required
    - **Lab Exercises**: Pair programming encouraged
    - **Final Project**: Groups of 2-3 students allowed
    - **Quizzes**: Individual work only
    
    All collaboration must be properly documented and credited.

Step 3: Course Structure Setup

Creating Course Modules

  1. Access Course Structure

    • After course creation, click "Manage Course Structure"
    • You'll see the module organization interface
  2. Create Weekly Modules

    Week 1: Python Basics
      - Introduction to Programming
      - Variables and Data Types
      - Basic Input/Output
      - Lab: First Python Program
    
    Week 2: Control Structures
      - Conditional Statements
      - Loops (for, while)
      - Boolean Logic
      - Lab: Decision Making Programs
    
    Week 3: Functions
      - Function Definition and Calling
      - Parameters and Return Values
      - Scope and Local Variables
      - Lab: Function Practice
  3. Module Creation Interface

    // Example module configuration
    const module1 = {
      title: "Week 1: Python Basics",
      order: 1,
      description: "Introduction to Python programming fundamentals",
      startDate: "2025-01-15",
      endDate: "2025-01-21",
      content: []
    };

Adding Content to Modules

  1. Create Your First Notebook

    • Click "+ Add Content" in Week 1 module
    • Select "Interactive Notebook"
    • Choose "Create New Notebook"
  2. Sample First Lesson Notebook

    # Week 1: Introduction to Python Programming
    
    ## Welcome to Python! 🐍
    
    Python is a powerful, easy-to-learn programming language. Let's start with the basics.
    
    ### Your First Python Program
    
    print("Hello, World!")
    print("Welcome to CS101!")
    ### Exercise 1: Personal Introduction
    
    Write a Python program that prints your name, major, and why you're taking this course.
    
    **Template:**
    ```python
    # Complete this program
    name = "Your Name Here"
    major = "Your Major Here"
    reason = "Why you're taking this course"
    
    print(f"Hi, I'm {name}")
    print(f"My major is {major}")
    print(f"I'm taking this course because {reason}")
  3. Add Learning Resources

    ### Additional Resources
    - [Python.org Official Tutorial](https://docs.python.org/3/tutorial/)
    - [Python Basics Interactive Tutorials](https://www.codecademy.com/learn/learn-python-3)
    - [Online Python Interpreter](https://repl.it/languages/python3)

Step 4: Student Enrollment

Preparing Student List

  1. Create Student Roster

    • Prepare a CSV file with student information:
    email,firstName,lastName,studentId
    john.doe@university.edu,John,Doe,12345678
    jane.smith@university.edu,Jane,Smith,12345679
    mike.wilson@university.edu,Mike,Wilson,12345680
    
  2. Bulk Enrollment Process

    • Navigate to Course Settings → Student Management
    • Click "Bulk Enrollment"
    • Upload the CSV file
    • Review and confirm student list

Individual Invitations

  1. Send Course Invitations

    // The system automatically sends invitation emails
    const invitationTemplate = {
      subject: "Welcome to CS101 - Introduction to Python Programming",
      content: `
        Dear {{studentName}},
        
        You've been enrolled in CS101: Introduction to Python Programming 
        for Spring 2025.
        
        Course Details:
        - Instructor: Dr. Sarah Johnson
        - Meeting Time: MWF 10:00-10:50 AM
        - First Class: January 15, 2025
        
        To access course materials:
        1. Install VS Code and the Intelligent IDE extension
        2. Use this enrollment code: CS101-SPRING-2025
        3. Check your email for login credentials
        
        See you in class!
        Dr. Johnson
      `
    };
  2. Monitor Enrollment Status

    • Check the enrollment dashboard
    • Track which students have accepted invitations
    • Send reminders to pending students

Step 5: Creating Your First Assignment

Assignment Setup

  1. Create Week 1 Assignment

    • Navigate to Assignments section
    • Click "+ Create Assignment"
    • Select "Code Assignment" type
  2. Assignment Configuration

    {
      "title": "Assignment 1: Python Basics",
      "description": "Practice with variables, input/output, and basic calculations",
      "dueDate": "2025-01-22T23:59:59Z",
      "points": 100,
      "assignmentType": "individual",
      "submissionFormat": "code",
      "allowedLanguages": ["python"]
    }

Creating Assignment Content

  1. Write Assignment Instructions

    # Assignment 1: Python Basics
    
    ## Objective
    Practice using variables, input/output, and basic mathematical operations in Python.
    
    ## Instructions
    
    ### Problem 1: Personal Calculator (30 points)
    Create a program that asks the user for two numbers and performs basic arithmetic:
    
    ```python
    # Your code here
    num1 = float(input("Enter first number: "))
    num2 = float(input("Enter second number: "))
    
    # Calculate and display results
    print(f"Sum: {num1 + num2}")
    print(f"Difference: {num1 - num2}")
    print(f"Product: {num1 * num2}")
    if num2 != 0:
        print(f"Quotient: {num1 / num2}")
    else:
        print("Cannot divide by zero!")

    Problem 2: Grade Calculator (40 points)

    Write a program that calculates a student's final grade based on homework, quiz, and exam scores.

    Problem 3: Temperature Converter (30 points)

    Create a program that converts temperatures between Celsius and Fahrenheit.

    
    
  2. Add Starter Files

    • Create template files for students
    • Include test cases for validation
    • Add sample input/output examples
  3. Configure Auto-Grading

    # test_assignment1.py - Automated test cases
    import unittest
    from assignment1 import calculate_grade, convert_temperature
    
    class TestAssignment1(unittest.TestCase):
        def test_grade_calculation(self):
            # Test cases for grade calculator
            self.assertAlmostEqual(calculate_grade(90, 85, 92), 89.0, places=1)
            
        def test_temperature_conversion(self):
            # Test cases for temperature converter
            self.assertAlmostEqual(convert_temperature(0, 'C'), 32.0, places=1)
            self.assertAlmostEqual(convert_temperature(32, 'F'), 0.0, places=1)
    
    if __name__ == '__main__':
        unittest.main()

Team Members

Meet the team! This section will list all team members, their roles, and contact information.

Meeting Notes

Keep track of all meeting notes and agendas here. This will help ensure everyone is on the same page and can refer back to previous discussions.

Resources

A collection of useful links, documents, and tools that can assist you throughout the project.

FAQs

A list of frequently asked questions to help new team members get up to speed quickly.


### Additional Pages

1. **Project_Overview.md**
   - Detailed description of the project, objectives, and expected outcomes.

2. **Getting_Started.md**
   - Step-by-step instructions on how to set up the project environment, including software requirements and installation steps.

3. **Team_Members.md**
   - A list of team members with their roles, responsibilities, and contact information.

4. **Meeting_Notes.md**
   - A log of meeting agendas, notes, and action items.

5. **Resources.md**
   - Links to relevant documentation, tools, and libraries that the team will use.

6. **FAQs.md**
   - Answers to common questions that may arise during the project.

### Tips for Maintaining the Wiki

- **Regular Updates**: Ensure that the wiki is updated regularly with new information, meeting notes, and resources.
- **Encourage Contributions**: Encourage all team members to contribute to the wiki to keep it comprehensive and up-to-date.
- **Organize Content**: Use clear headings and subheadings to make navigation easier for users.

Feel free to modify the content and structure according to your team's specific needs!
Clone this wiki locally