I am a big fan of sections and have found that they are useful in a number of contexts. However, I really hate to use point and click user interfaces, so I decided it was time to make some programs to do the work for me.
This lead to a series of programs:
1. list_sections_in_course.py to list the existing section information (produces a spreadsheet with two pages: Sections and Students)
2. create_sections_in_course.py to create new sections by name
3. delete_section_by_id.py to remove sections that I no longer want
4. place_students_in_sections_in_course.py the real goal, it takes a course_id, spreadsheet file (such as an augmented version of the one produced by the first program), and a column name in this spreadsheet and adds then each student to the named section.
An obvious extension is to randomly assign students to a set of N sections (with balancing over the set of sections). For example, this could be used to form sections for the purpose of assigning each section a different version of a quiz.