Grading philosophy follows from teaching philosophy.
Non-programming courses and assignments (essays, written assignments, problem-solving, etc.) will have grading standards detailed within the course or assignment. In general, you can expect grading to be based on logic, accuracy, and adherence to specifications. Good writing practice, style, grammar, spelling, and organization will also apply. You will be held to competent college-level writing standards. Handwritten, poorly organized, or sloppy work will not be accepted. Cell phone photos of work, images, or diagrams will not be accepted unless specifically requested.
In an AI-Integrated Classroom, programming grades do not attempt to measure how much code you personally typed. Generative AI may produce substantial portions of working code. You are still responsible for producing and managing correct, well-designed software using an appropriate development process, and for demonstrating the programming competence represented by the work you submit.
Programming assignments will normally be graded using the following breakdown:
Technical Quality Explained: Technical quality is graded holistically. A score in this category is based on the overall quality of the software (i.e., the code), not simply on the number of errors found. A typical scale is:
Process & Professionalism Explained: These requirements are part of software development, not separate paperwork. You are expected to follow them carefully. Major failures can result in a zero for this category, while smaller mistakes will normally result in proportional deductions.
Major failures include, but are not limited to:
.git clone URL.Other professional requirements may include:
A completed program is evidence of programming competence, but it is not necessarily sufficient evidence by itself. Throughout the semester, competence may be evaluated using multiple forms of evidence, including completed programs, development history, testing, debugging, modification of existing software, and other programming work.
If the normal body of coursework does not provide sufficient or consistent evidence of competence, additional verification may be required. A correct-looking artifact does not automatically establish that the underlying learning has been demonstrated.
Just because it runs doesn’t mean it earns a good grade. Your grade reflects modularity, architecture, style, clarity/elegance, sound practices, robustness, correctness, and adherence to instructions. “It works” by itself is worth little. “It works and is well-designed, maintainable, and built to standard” is what earns high marks.
You are not training to produce code that merely functions. You are training to write clean, maintainable, professional software—and to think with the discipline of an engineer and computer scientist.
Generative AI makes functional code easier to produce. That does not make software quality, disciplined development, or programming competence less important. It makes them more important. AI may participate in producing the artifact; you remain responsible for understanding, evaluating, testing, correcting, and maintaining the work.
An academic analogy: Imagine you are in a research writing class. You are told to research a topic and write an essay about it. You are instructed it has to be 5,000 words or more, and you are given specific guidelines on how to format, cite, and submit it (e.g. typed, double-spaced, 1" margins, table of contents, citations, etc.). Imagine you write that essay, and you very accurately explain the topic, but you have spelling errors, grammar errors, run-on sentences, inconsistent and poor formatting, you only wrote 1,800 words, and you submit it handwritten on 50 bar napkins. Despite the fact you may have very accurately described the topic, your assignment will fail, and you should expect it to. You would not be able to credibly argue, "But I did the research and wrote the essay!" Obviously, the point of such an assignment in a research writing class is not simply to explain the topic, but rather to learn and demonstrate proper research writing techniques and discipline.
That is how you need to think of learning to program. You are not just learning programming. You are learning computer science, engineering, computational thinking, logic, and discipline. The programming itself is a demonstration of those concepts. In the age of AI, it is more important than ever to learn the underlying concepts and discipline, and to be able to apply them in a way that is correct, maintainable, and professional.
"It works" is worth nothing.
It works and it is done right is worth everything.