This assessment contains 20 progressively difficult questions designed to evaluate Python programming skills and backend development capabilities. Total points: 100.
β¨ NEW: Advanced Time Tracking & Analytics
Track student progress, identify learning patterns, and get comprehensive performance insights!
questions/
- Individual question filestests/
- Automated test cases for each questiontime_tracker.py
- Optional time tracking utilityanalytics/
- Instructor analytics toolsrequirements.txt
- Required dependencies
- Fork this repository to your GitHub Classroom organization
- Set up autograding workflow using the provided test cases
- Configure point allocation in GitHub Classroom settings
- NEW: Set up analytics tracking (see
INSTRUCTOR_ANALYTICS_GUIDE.md
)
- Clone the assignment repository
- Install dependencies:
pip install -r requirements.txt
- Complete functions in the
questions/
directory - Optional: Use time tracker to monitor your progress
- Run tests locally:
pytest tests/
- Push solutions to trigger autograding
- Data types and basic operations
- Control structures
- Functions and basic algorithms
- Object-oriented programming
- Error handling
- File operations
- Data structures
- Decorators and context managers
- Generators and iterators
- Concurrency basics
- Advanced data manipulation
- REST API development
- Database operations
- Authentication
- Testing and deployment concepts
# Track your coding sessions by category
python time_tracker.py start_basic # Start timing Basic Python
python time_tracker.py end # End current session
python time_tracker.py summary # View time breakdown
Benefits:
- Learn about your coding patterns
- Identify which topics need more practice
- Track improvement over time
- Get efficiency feedback
# Generate comprehensive analytics
cd analytics/
python github_analytics.py
Get insights on:
- Student time distribution across question categories
- Work patterns (late night, weekend coding)
- Submission frequency and progression
- Class-wide performance statistics
- Academic integrity indicators
- Assignment acceptance times
- Commit timestamps and frequency
- Submission patterns
- Repository activity
- Estimated active coding time
- Commit pattern analysis
- Work schedule insights
- Performance correlations
- Efficiency metrics
- Individual student time summaries
- Class performance overview
- Visual analytics charts
- CSV exports for gradebooks
- Academic integrity flags
- 90-100: Excellent
- 80-89: Good
- 70-79: Satisfactory
- 60-69: Needs Improvement
- Below 60: Unsatisfactory
Recommended time: 3-4 hours
python-backend-assessment/
βββ README.md # This overview
βββ STUDENT_GUIDE.md # Detailed student instructions
βββ INSTRUCTOR_ANALYTICS_GUIDE.md # Analytics setup and usage
βββ ASSESSMENT_SUMMARY.md # Complete question breakdown
βββ requirements.txt # Core dependencies
βββ pytest.ini # Test configuration
βββ time_tracker.py # Student time tracking tool
β
βββ .github/workflows/
β βββ autograding.yml # GitHub Classroom autograder
β
βββ questions/
β βββ __init__.py
β βββ basic_python.py # Questions 1-5 (20 pts)
β βββ intermediate_python.py # Questions 6-10 (25 pts)
β βββ advanced_python.py # Questions 11-15 (30 pts)
β βββ backend_development.py # Questions 16-20 (25 pts)
β
βββ tests/
β βββ __init__.py
β βββ test_basic_python.py
β βββ test_intermediate_python.py
β βββ test_advanced_python.py
β βββ test_backend_development.py
β
βββ analytics/
βββ requirements_analytics.txt
βββ github_analytics.py # Instructor analytics tool
- Accept assignment in GitHub Classroom
- Clone repository:
git clone [YOUR_REPO_URL]
- Install dependencies:
pip install -r requirements.txt
- Start coding: Begin with
questions/basic_python.py
- Optional tracking: Use
python time_tracker.py start_basic
- Test often:
pytest tests/test_basic_python.py -v
- Submit:
git add . && git commit -m "Progress" && git push
- Create template repository with all assessment files
- Set up GitHub Classroom assignment
- Configure autograding (automatic with included workflow)
- Test with sample submission
- Share assignment link with students
- Get GitHub token: https://github.com/settings/tokens
- Set environment variables:
export GITHUB_TOKEN="your_token" export GITHUB_ORG="your-org-name"
- Install analytics tools:
pip install -r analytics/requirements_analytics.txt
- Run analytics:
python analytics/github_analytics.py
- Review reports in
analytics_output/
directory
- 20 carefully designed questions
- Progressive difficulty
- Real-world backend scenarios
- Complete test coverage
- GitHub Classroom integration
- Instant feedback for students
- Zero manual grading work
- Detailed test results
- Time tracking and analysis
- Work pattern insights
- Academic integrity tools
- Performance metrics
- Learn about coding patterns
- Identify improvement areas
- Track skill development
- Professional-level scenarios
This assessment system provides insights into:
- Student Learning: Time allocation, difficulty patterns, improvement areas
- Instructor Efficiency: Automated grading, comprehensive analytics
- Academic Integrity: Unusual patterns, collaboration detection
- Course Improvement: Question difficulty analysis, time expectations
- Modify point allocations per question
- Add/remove questions based on course focus
- Adjust time limits in autograder
- Customize grading scale
- Add additional test cases
- Configure analytics parameters
Ready to revolutionize your Python assessment experience? π