Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M...

34
Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA [email protected] ITiCSE 2003 Thessaloniki, Greece June 30 - July 2, 2003

Transcript of Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M...

Page 1: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

Repositories in CS Courses - An Evolutionary Tale

Edward L. Jones & Clement S. AllenFlorida A&M University

Tallahassee, FL [email protected]

ITiCSE 2003 Thessaloniki, GreeceJune 30 - July 2, 2003

Page 2: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 2

Outline

Introduction to my Repository / Architecture Evolution of my Repository Why This Approach? Automated Repository Generation User Views - Student / Faculty Technology Transfer Lessons & Impacts Conclusions & Future Work Demo (screen images)

Page 3: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 3

Introduction – Basic Idea

Instructor

Get/view file

Submission Submit fileGet/view file

Post grade

Public

Post assignment

Student

Get assignment

Page 4: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 4

Course Repository Architecture

.master_schedule

.submitslog

.class_roll

.program_pairs

~course/

bin/RepositoryCommands

Zxxxx

term/

submits/

RCS/

StudentFiles

RCS/

public/

CourseFiles

RCS/

team/

Team Artifacts

Information Hiding!!

Hiding!!

Page 5: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 5

Evolution of Repository Concept

Capstone Course (1995 - 1998) Public = Bank of examples, standards, procedures Team = Archive of team project artifacts Submission = On-line tests & homework

Programming Courses (1997 - present) Public = Program stubs and data sets Submission = Automated grading & plagiarism

monitoring

Technology Transfer (2002- )

Page 6: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 6

Why This Approach?

Simple, basic functionality.

Extensible to instructor preferences.

Open source -- no license fees.

Legacy -- evolution of author’s system.

Increased chance of technology transfer

Unix a core skill in our environment.

Page 7: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 7

Automated Repository Generation

InstallLinkedRepositoryCommands

Zxxxx

~/bin/

Student Account

RepositoryCommands

Zxxxx

~/bin/

Admin Account

CreateGenericRepositoryCommands

Xxxxx

~/bin/

Course Account

Repositories

~term/

InstantiatedRepositoryCommands

Zxxxx

~/bin/

Page 8: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 8

Student View

Simple Repository Installation Log into Unix account Type 2 commands

Private read-write store

~course/bin/Z_Install

rehash

Unlimited submissions till deadline

Private back-up of submitted work

Page 9: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 9

Student View - Commands

Extended Unix Commands: <ID><type><verb>

Small set of CommandsXSstatus List names of student’s files stored in

repository.

XSmview Display contents of student’s repository file(s).

XSmcopy Copy student’s repository file(s) into the current Unix directory.

XSsubmit Store student’s file into (submission) repository.

XSclean Remove student's file from repository.

XSrestore Retrieve specific version of file from repository.

Page 10: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 10

Student View – Assignment Scenario

Program Specification Course with repository Z Program # 3 Required file name: myprogram.cpp

Program Submission / VerificationZSsubmit 3 myprogram.cpp

ZSstatus .cpp

Email notification of program submission

Page 11: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 11

Instructor View - Repository Management

Creation (one-time):

~admin/bin/Xrepos_Create

rehash Archival/Initialization (at start of new term):

Za_archive

Za_initialize

Maintenance Patch (as needed):~admin/bin/Xrepos_Patch

Default administrative commands

Page 12: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 12

Impact on Courses

Reduced time for program grading (prep)

Consistency across multiple sections

Better record keeping reduces disputes

Increased use of automated grading Instructor MUST write a good specification

Enforcement of naming rules and deadlines

Encourages giving more assignments

Page 13: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 13

Technology Transfer - Challenges

Risks Success – More work for me! Failure – Bruised ego, no second chances!

Questions/Doubts Will colleagues think tool is worth trying? Will students accept or sabotage? Will I be able to “sell” the benefits … quickly? Can I convince colleague to ignore pimples?

Page 14: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 14

Technology Transfer - Lessons

Goal: Adoption by non-author. Success Keys

Focus on one immediate benefit -- efficiency Be available and willing to help Go the extra mile (customizations) Transfer responsibility to adopter ASAP Document to support evolution Automate to simplify usage Promise the next release!

Adoption stimulates evolution.

Page 15: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 15

Conclusions

Student adoption straightforward due to few commands and information hiding.

Adopter customizations evolve to repository defaults (e.g., auto-grading)

Technology transfer is challenging, even with simple tool, within same department.

Repositories reduce faculty workload.

Faculty need hand-holding – to avoid wasted effort!

Page 16: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 16

On-Going / Future Work

E-Mail/Web interfaces Flexibility for “registered” students Subject Line = Repository Command

Genericize my grading scripts into repository templates

Menu Interface for Instructor

Repository provides “observation window” into student debugging practices

Page 17: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 17

Demo

Student View Installing repository Submitting a program Copying files from repository

Faculty View Creating course repository Adding an assignment Auditing student’s submission history Retrieving submitted programs Applying a repository command patch

Page 18: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 18

Student - Installing Repository

Page 19: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 19

Student - Submitting an Assignment

Page 20: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 20

Student - Late Submission

Page 21: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 23

Instructor - Creating Course Repository

Page 22: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 24

Instructor - Adding an Assignment

Command: Za_edit_schedule

Page 23: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 25

Instructor - Confirming Student Submission History

Page 24: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 26

Instructor - Retrieving & Renaming Submitted Programs

Page 25: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 27

Administrator - Applying a Command Patch

Page 26: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 28

End of Demo

Questions?

Questions?

Interested? Send me email.

Page 27: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 29

Other Comparable Approaches?

Email based system

Auto-grading approaches

Commercial (e.g., Blackboard).

Integrated Development Environments (e.g., Visual XYZ)

Unix based system

Few reports of technology transfer.

Page 28: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 30

EXTRAS

Page 29: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 31

Design Highlights - Simplicity

Unix Development Environment Departmental computing platform Unix a required skill

Information hiding Location of repository Unix RCS provides version/access control Access only through repository commands

Ease of Installation/Maintenance Centralized management Soft links facilitate maintenance

Page 30: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 33

Master Assignment Schedule

NUM DESCRIPTION MM DD HH FILENAMES

--- --------------- -- -- -- ------------------

#0# Test0_Program 1 8 24 test0.cpp

#1# Play_Program 6 26 24 test1.java

#3# Add_Program 3 8 17 test3a.cpp add.cpp

#10# Programming_Test 12 1 24 finalprog.cpp

Page 31: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 35

Instructor View - Audits

ZSasubmitslog Check/verify submissions by studentor per assignment.

ZSaaudit Prepare reports showing all submittedand graded work per student.

ZSagrdaudit Prepare reports showing scores on allgraded work per student.

ZSapgmaudit Prepare reports showing allsubmission attempts and repositoryholdings per student.

Page 32: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 37

Student - Checking Grading Reports

Page 33: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 38

Student - Copying Files from Repository

Page 34: Repositories in CS Courses - An Evolutionary Tale Edward L. Jones & Clement S. Allen Florida A&M University Tallahassee, FL USA ejones@cis.famu.edu ITiCSE.

7/1/03 ITiCSE2003 39

MASTER ASSIGNMENT SCHEDULECOURSE: ITiCSETERM: summer2003 NUM DESCRIPTION MM DD HH FILENAMES--- --------------- -- -- -- ---------------------#0# Test0_Program 1 8 24 test0.cpp #1# Test1_Program 8 8 0 test1.java sub1.java#2# LabTest1 8 9 14 lab1.cpp#3# Test2_Project 9 2 24 proj2.java