Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Assessment in an Introduction to     Programming Course             Andrew Hurd           Assistant Professor           Hu...
How do you assess your students’programming process?• As educators do we look for a better way to  assess our students?• W...
Grade break down• 10% - Average of quizzes (lowest quiz  dropped)• 15% - Average of Homework/Hybrid  Assignments/Discussio...
Too much to READ!• Programming Projects - Programming projects will be  assigned throughout the semester. These projects w...
What about coding over time?• Using a CM tool to judge CodeCraft  – Introduction to programming class using GIT    • Stude...
What is the process?• Student creates a folder either with the  GIT bash shell or in their OS.• In the GIT bash shell they...
What is the process? (cont…)• EVERY time they save their source code  they do two steps in the GIT bash shell  – git add ....
How do students turn in code?• They compress the folder  – Windows compression  – Winzip  – Any other tool that will compr...
Git Visualization• Created by Brian Danielakhttps://github.com/briandk/gitvisualizations  There is some basic setup. A one...
So what can you do with it?# generate git visualizationsfind ~/Documents/studentcode/ -type d -name [^.]* -maxdepth 1 -exe...
# remove class filesfind ~/Documents/studentcode -type f -name *class -maxdepth 2 -exec rm {} ;# remove temp filesfind ~/D...
Extracting just the comments•   # This gives a short-hash (%h), a simple date, and just the subject line of    the commit ...
Conclusion• I have a form of assessment that looks at the  process of the coding• While the final product is still importa...
Questions?
Contact information             Andrew Hurd           Hudson Valley CC            Troy, NY 12180           a.hurd@hvcc.edu...
Andrew hurd, assessment in an intro to programming course
Andrew hurd, assessment in an intro to programming course
Andrew hurd, assessment in an intro to programming course
Andrew hurd, assessment in an intro to programming course
Andrew hurd, assessment in an intro to programming course
Upcoming SlideShare
Loading in …5
×

Andrew hurd, assessment in an intro to programming course

650 views

Published on

  • Be the first to comment

  • Be the first to like this

Andrew hurd, assessment in an intro to programming course

  1. 1. Assessment in an Introduction to Programming Course Andrew Hurd Assistant Professor Hudson Valley CC Troy, NY
  2. 2. How do you assess your students’programming process?• As educators do we look for a better way to assess our students?• What about coding over time?• What about CodeCraft?• In an intro to programming class most students don’t have software engineering• Most of the time they don’t know a SDLC• Most classes are focused on learning syntax
  3. 3. Grade break down• 10% - Average of quizzes (lowest quiz dropped)• 15% - Average of Homework/Hybrid Assignments/Discussion boards• 50% - Average of programming projects• 25% - Final Exam
  4. 4. Too much to READ!• Programming Projects - Programming projects will be assigned throughout the semester. These projects will be in addition to the homework that will generally be due. The programming project will be worth 20 points each as indicated on each exercise. The due date for the project will be given when the project is given. CodeCraft - Part of being a professional programmer involves using professional tools and techniques. Its not enough to write code that works; you also need to develop in ways that reduce the likelihood of errors, increase your ability to communicate your intentions with other programmers, and improve your ability to understand and improve your own programming habits. Within each programming assignment a portion of the final grade will be assigned to code craft.
  5. 5. What about coding over time?• Using a CM tool to judge CodeCraft – Introduction to programming class using GIT • Students need to download the software – git-scm.com • Three basic commands needed – git init – git add . – git commit –m “comment”
  6. 6. What is the process?• Student creates a folder either with the GIT bash shell or in their OS.• In the GIT bash shell they navigate to the folder and type git init – This creates the CM repository• They open their editor and create their source code and save it in the same directory
  7. 7. What is the process? (cont…)• EVERY time they save their source code they do two steps in the GIT bash shell – git add .  (don’t forget the period) – git commit –m “comment here”• Ensure the students are adding and committing their code
  8. 8. How do students turn in code?• They compress the folder – Windows compression – Winzip – Any other tool that will compress the folder – MAKE sure if they are using a third party software like Winzip they select add all system and hidden files
  9. 9. Git Visualization• Created by Brian Danielakhttps://github.com/briandk/gitvisualizations There is some basic setup. A one time process. See the readme file in the repository.
  10. 10. So what can you do with it?# generate git visualizationsfind ~/Documents/studentcode/ -type d -name [^.]* -maxdepth 1 -exec python~/gitvisualizations/RepoStatistics/RepoStatistics.py {} --since=2013-01-20 ;
  11. 11. # remove class filesfind ~/Documents/studentcode -type f -name *class -maxdepth 2 -exec rm {} ;# remove temp filesfind ~/Documents/studentcode -type f -name *java~ -maxdepth 2 -exec rm {} ;# to compile all students .java files (youll see any compile-time errors with path info)find ~/Documents/studentcode -type f -name *java -maxdepth 2 -exec javac {} ;# clean up git visualizationsfind ~/Documents/studentcode -type f -name *csv -maxdepth 2 -exec rm {} ;find ~/Documents/studentcode -type f -name *pdf -maxdepth 2 -exec rm {} ;
  12. 12. Extracting just the comments• # This gives a short-hash (%h), a simple date, and just the subject line of the commit – git log --format="%h | %ad | %s" --date=short• If you use the format=" " formatting string, some common placeholders are: – %s: subject – %f: sanitized subject line, suitable for a filename – %b: body – %B: raw body (unwrapped subject and body) – %N: commit notes – %an: author name – %aN: author name (respecting .mailmap, see git-shortlog(1) or git-blame(1)) – %ae: author email – %aE: author email (respecting .mailmap, see git-shortlog(1) or git-blame(1)) – %ad: author date (format respects --date= option) – %aD: author date, RFC2822 style – %ar: author date, relative
  13. 13. Conclusion• I have a form of assessment that looks at the process of the coding• While the final product is still important, I can try to understand their process• Cheating?• If a student gets stuck, they compress their repository and sends it to me• I can address exactly where students have gone wrong.• I can roll back their repositories if need be.
  14. 14. Questions?
  15. 15. Contact information Andrew Hurd Hudson Valley CC Troy, NY 12180 a.hurd@hvcc.edu LinkedIn: ahurd72@gmail.com (518)-629-7268

×