Texas Computer Science
  • Home
  • TEKS & Courses
    • State Requirements
    • Credits
    • Endorsements
      • STEM Endorsement
      • Business & Industry Endorsement
      • Multidisciplinary Studies Endorsement
    • Funding
    • Teacher Certification
    • Online CS Courses
  • Textbooks & Resources
    • State-Adopted Materials
    • More Textbooks & Curriculum
    • AP Computer Science Principles Resources
    • AP Computer Science A Resources
    • Assignment Ideas
    • Topic Resources
    • Connect CS Concepts to Other Disciplines & Real World
    • Visual Programming Environments
    • Robotics
    • Cybersecurity
  • Preparing & Thriving
    • Learn Java
    • Outline the Year
    • Instruction Methods
      • Pedagogy Best Practices
      • Flipped Classroom
      • Project Based Learning
    • Assessment & Grading
      • Daily Work: Programming Assignments
      • Formative Assessment
      • Summative Assessment: Tests & Projects
    • Classroom Management
    • Maintaining Your Sanity
  • Professional Learning
    • Trainings & Workshops
    • Professional Organizations & Networks
    • Blogs & Social Networking
    • Articles & Publications
    • Professional Awards
  • Student Opportunities
    • Student Contests
    • Student Camps & Learning Opps
    • College Degrees
  • Recruit & Advocate
    • Advocate at Your Campus
    • Encouraging Diversity in CS
    • CS Ed Week & Hour of Code
      • Hour of Code: CS Classes
      • Hour of Code: K-12
  • About
    • Presentations
  • Home
  • TEKS & Courses
    • State Requirements
    • Credits
    • Endorsements
      • STEM Endorsement
      • Business & Industry Endorsement
      • Multidisciplinary Studies Endorsement
    • Funding
    • Teacher Certification
    • Online CS Courses
  • Textbooks & Resources
    • State-Adopted Materials
    • More Textbooks & Curriculum
    • AP Computer Science Principles Resources
    • AP Computer Science A Resources
    • Assignment Ideas
    • Topic Resources
    • Connect CS Concepts to Other Disciplines & Real World
    • Visual Programming Environments
    • Robotics
    • Cybersecurity
  • Preparing & Thriving
    • Learn Java
    • Outline the Year
    • Instruction Methods
      • Pedagogy Best Practices
      • Flipped Classroom
      • Project Based Learning
    • Assessment & Grading
      • Daily Work: Programming Assignments
      • Formative Assessment
      • Summative Assessment: Tests & Projects
    • Classroom Management
    • Maintaining Your Sanity
  • Professional Learning
    • Trainings & Workshops
    • Professional Organizations & Networks
    • Blogs & Social Networking
    • Articles & Publications
    • Professional Awards
  • Student Opportunities
    • Student Contests
    • Student Camps & Learning Opps
    • College Degrees
  • Recruit & Advocate
    • Advocate at Your Campus
    • Encouraging Diversity in CS
    • CS Ed Week & Hour of Code
      • Hour of Code: CS Classes
      • Hour of Code: K-12
  • About
    • Presentations

Daily Work: Programming Assignments

Most of my students' daily work consisted of programming assignments.  I started out requiring them to write comments throughout each program, even in the most basic programs. I graded the minutia of each submitted programming assignment, from the format of the heading comments to the alignment statements.  I did this because this is what my college Computer Science professors did.  I also thought it was important for students to learn the "correct" way to program.

I still think these things are important, but I realize that during my first year, when I was teaching five different courses, I needed more efficient methods of grading.  Here are some suggestions for grading programming assignments in a way that gives your students quality feedback while being an effective use of your time.
"Traditional" Grading
  • Students create a program that compiles and runs.
  • Students copy their output, paste it at the bottom of the program as a comment.
  • Students print out their completed programs and turn it in.
  • Teacher marks areas of concern, marks the grade, and returns the graded program to the student.

One good thing about "traditional" grading is that you come to know each students' areas of strength and areas that need improvement as you examine every element of their programs.  This reminds me of getting to know students through grading their English essays.  It also takes as long as grading English essays, which is one of the downsides of "traditional" grading.

Another downside that I discovered is that many students rarely look at the feedback that I wrote on their programs, and they would make the same mistake on the next program.  I think that "traditional" grading should be one of your methods of grading, but I would suggest employing other grading methods to both save you time and make a greater impact on student improvement.

Also, consider emphasizing the use of comments within the program later in the year, as programming concepts become more complex.  By the time students needed to comment their programs, they were already burned out on writing comments.

Screen Grading
  • Student creates a program that compiles and runs.
  • Teacher comes to student's computer, where student compiles and runs the program for the teacher.
  • Teacher examines the output and the code.
  • Teacher and student conference briefly about the areas of success and areas that need improvement.
  • Teacher uses a simple rubric to give the student a grade for the programming assignment.

Reasons to include screen grading as one of your methods of grading:
  • Paperless - nothing to print, nothing to return
  • Grading is completed in class - teacher can focus on lesson plan preparation outside of class, rather than grading
  • Teacher and student develop rapport through conferences
  • Students prefer verbal feedback to written feedback 

Online Program Submission and Verbal Feedback
  • Student creates a program that compiles and runs.
  • Student submits the program file to an online learning management system, Google Drive, or Microsoft OneNote.
  • Teacher adds voice comments or text comments the areas of success and areas that need improvement.
  • Students listen to or read teacher's feedback

Tools
  • Online learning management system that has assignment turn-in functionality and voice recording or text comment feedback functionality.  Schoology is one example of an LMS that has turn-in and text comment functionality.
  • Google accounts with Google Drive access and the Kaizena add-on.  Tutorials on using Kaizena: Sophia and School Library Journal
  • Microsoft Office 365 and OneNote access.  Tutorial on using OneNote to record voice comments: TeachUComp video

Rubric

Using a simple rubric for every programming assignment will help you quickly assess whether the student met the learning objects.

Powered by Create your own unique website with customizable templates.
  • Home
  • TEKS & Courses
    • State Requirements
    • Credits
    • Endorsements
      • STEM Endorsement
      • Business & Industry Endorsement
      • Multidisciplinary Studies Endorsement
    • Funding
    • Teacher Certification
    • Online CS Courses
  • Textbooks & Resources
    • State-Adopted Materials
    • More Textbooks & Curriculum
    • AP Computer Science Principles Resources
    • AP Computer Science A Resources
    • Assignment Ideas
    • Topic Resources
    • Connect CS Concepts to Other Disciplines & Real World
    • Visual Programming Environments
    • Robotics
    • Cybersecurity
  • Preparing & Thriving
    • Learn Java
    • Outline the Year
    • Instruction Methods
      • Pedagogy Best Practices
      • Flipped Classroom
      • Project Based Learning
    • Assessment & Grading
      • Daily Work: Programming Assignments
      • Formative Assessment
      • Summative Assessment: Tests & Projects
    • Classroom Management
    • Maintaining Your Sanity
  • Professional Learning
    • Trainings & Workshops
    • Professional Organizations & Networks
    • Blogs & Social Networking
    • Articles & Publications
    • Professional Awards
  • Student Opportunities
    • Student Contests
    • Student Camps & Learning Opps
    • College Degrees
  • Recruit & Advocate
    • Advocate at Your Campus
    • Encouraging Diversity in CS
    • CS Ed Week & Hour of Code
      • Hour of Code: CS Classes
      • Hour of Code: K-12
  • About
    • Presentations