Lucy is a python application for managing student assignments delivered through GitLab. Lucy includes many time-saving and useful features for course convenors and tutors.
Lucy has been developed actively by ANU academics and tutors since 2017 (> 500 commits) and applied in both small and large courses.
This site includes:
- Documentation for installing, setting up, and using Lucy for course convenors and tutors.
- Explanation of the “Lucy way of doing things”.
- Explanation of Lucy’s features, and development roadmap.
Go have a look: https://gitlab.cecs.anu.edu.au/lucy/lucy
- Integrates with MyTimetable
- Sync students details and lab enrolments from MyTimetable with one command
- Export assignment results in CSV format for Wattle Gradebook
- Never touch student repositories
- Marking happens in convenor’s fork
- Easily check completion/validity of tutor marking
- Feedback sent back to students as a branch and/or forum DM
- Deadline accuracy and flexibility
- Mark content of latest push before deadline
- Track student progress (forks, commits, CI jobs)
- Easy to add extensions
- Forum Integration
- List students in correct format to add them to Ed
- Note: Ed supposedly has API functionality, so this could be automated
- Academic Integrity Tools
- Consistent reporting
- MOSS Integration
Installation and setup checklist
Lucy is a Python CLI app distributed through GitLab. Here’s a checklist for setting it up for your course. There’s more details on the installation page, but here is the short version:
- Fork the Lucy repository for your course (e.g., https://gitlab.cecs.anu.edu.au/comp1720/2021/lucy )
- Clone your copy of Lucy
- Configure Lucy by filling out
course_info.yml
- GitLab access tokens (for you and for tutors)
- Course details (MyTimetable course ID string, GitLab group, marker username)
- Assessment task details (deadlines, number of marks)
- Tutor details (names and UIDs, which labs)
- Lab group details (activity and times from MyTimetable)
- Other API keys (Moss, etc.)
- Install Lucy’s python environment with poetry (
poetry install)
- Run Lucy:
poetry run ./lucy.py --help
There are many approaches to automatically managing computing student assignments. Why choose Lucy?
- It’s useful, reliable, and adaptable.
- It has many eyes checking code and many brains available to fix problems.
- When you make Lucy better, others benefit.
Current and Future Projects
Vision: Make Lucy so good that it is used in all core computing courses.
- Group Projects
- So far doesn’t support group projects Needed for core subjects (e.g., COMP1110)
- Improve Docs
- Create an easily navigated docs website/wiki Need quick reference and deeper documentation
- Core Features: Moderation + Lab Reports
- Moderation and Lab Reports applied in COMP2300/6300 and COMP1720/6720 Need to upgrade to be a core feature
- Student Communication and Forums
- Can this interact with other typical communication channels? (Wattle, Email, Ed)
- Fit in with ANU World
- Harmonising Lucy with MyTimetable and Wattle
- Developing helpful tools to help with Academic Integrity