Skip to content
Lev Brie edited this page Feb 3, 2015 · 9 revisions

◄ Back (The Setup)     Next (Workshops) ►

Table of Contents

Grading Breakdown

Grading for this class will adhere to the following simple rubric:

Course Requirement % Grade
HOMEWORKS 50%
FINAL PROJECT 50%
TOTAL 100%

Homeworks

There will be 4 homeworks. Each homework will be worth 25% of your homework grade.

The first homework will not take into account your coding style or your program design. This is an opportunity for you to get to know the JavaScript language.

Every assignment after the first will take both style and design into account:

Each assignment will be graded as follows:

  • 33% PASSES ALL TESTS - the exercises run correctly and pass all tests
  • 33% STYLE - formatting, code convenstions, JavaScript style guide (this is easy if you are using jshint and jscs and are not getting any errors or warnings!)
  • 33% DESIGN - exhibits good design principles, i.e., efficient and SOLID

A note about SOLID

The final project is a group effort. If someone isn't doing their part, please try to work it out within the group. If you can't work it out within the group, please come and see me.

Final project details can be found on the Final Project wiki page

Extensions

You are allowed 3 full late days (1 day = 24 hours after an assignment is due, or Monday at 11:59 pm if an assignment is due any time between Friday at 11:59 pm and Sunday at 11:59 pm) over the course of the semester. After that extensions will be granted on a case-by-case basis IFF (if and only if) you email me requesting an extension before the assignment is due and you provide a reasonable explanation for why you were unable to complete the assignment on time.

Is There a Curve?

Don't worry, the answer is yes. As with nearly all courses in Computer Science at Columbia, this course is graded on a curve.

A NOTE ABOUT SOLID If you don't know what SOLID is, don't worry! Part of becomming a great programmer is learning SOLID, and learning SOLID takes time (I'm still learning to apply SOLID principles consistently, and probably always will be). It's never easy to write great code, and while adhering to the principles of SOLID by no means guarantees that you're writing great code, it does serve as a really great guideline. If you've never heard of SOLID before, don't worry, every CS class you take at Columbia should help you get better at it, even if it's never mentioned. And starting to learn about it now will make you a better programmer in every class you take in the future.

If you're not familiar with SOLID, YOU DO NOT have to spend hours reading up on SOLID. If you're writing clear, concise, efficient programs, you'll already be following many of the principles behind SOLID. You can do extremely well in this course and not read up on SOLID at all. I only mention it to give you a reference point for improving your design and coding skill if you want one. In every class where you're graded on design, you're being graded on SOLID principles, whether you know it or not. So if you do want to read up on it, of course, you can get the rundown from Wikipedia, but I also highly recommend this nice introductory series on SOLID:

Learning SOLID

◄ Back (The Setup)     Next (Workshops) ►