Assessment components

grading

Graduate Credit

Graduate students have an additional assignment of a research topic area paper. For details, see Graduate Student Paper Assignments.

Note: there is no MidTerm or Final exam in this class.


Grading schemas

To give you an idea of how final percentages might translate into letter grades, here is the grading schema for undergraduates:

Final average Will earn
95% and higher A
90% and less than 95% A-
87% and less than 90% B+
83% and less than 87% B
80% and less than 83% B-
77% and less than 80% C+
73% and less than 77% C
70% and less than 73% C-
55% and less than 70% D
0% and less than 55% E



Here is the grading scheme for graduate students :

Final average Will earn
90% and higher HP
73% and less than 90% P
0% and less than 73% LP


Weekly quizzes

There will be weekly 30-minute online quizzes. Every Friday you will have from 16:00 ET until 11:00 ET to take the quiz for that week.

These quizzes will focus on the reading, class material, and discussions from that week, but will sometimes require knowledge of previous week’s topics. You are expected to take these quizzes alone, without assistance from other humans or AI’s.


⚠️ WARNING:
There are no make-ups for the weekly quizzes.


Lab assignments

There will be six lab assignments, four of which require software development. All the labs are individual assignments.

Lab assignments are due at 22:00 (10:00PM) on the due date specified in the class schedule. In the event that the due date and time in Canvas differs from the due date and time published class schedule, the Canvas date and time will prevail.

The point value for each lab assignment is explained above.

You may develop your software lab solutions on any platform you choose, but your software must work correctly on the Thayer babylon# systems. This should not be difficult, since we are providing databases for you “in the cloud”. Running properly on your laptop or some other system is not sufficient since the teaching team cannot verify that is the case.

In sum, your final delivery platform for software is any Thayer babylon# systems.

How to submit a lab assignment

All the files that are part of your homework submission must be uploaded to Canvas. You will be able to upload .pdf files and .tgz (compressed tar files) only.

Lab grading & regrading requests

Your lab submissions will be graded and feedback returned via Canvas as soon as possible.

If you have any grading questions on a homework or quiz, please initiate the procedure below within one week of the original grade posting:

  • If the grader made an obvious mistake (e.g., totaling error), you should explain the obvious mistake in a private Ed Discussion post with a Lab or Quiz tag. The teaching team will see it and make the correction right away .
  • If you feel the grader did not grade your answer accurately, then you should explain what needs regrading in a private Ed Discussion post with a Lab or Quiz tag. We will make sure that your entire submission, including the answer(s) in question, is thoroughly reviewed.
  • When you receive the outcome on your regrade request, if the matter is not resolved satisfactorily, you should meet with the instructor during Drop In hours or by appointment.

⚠️ NOTE: Lab assignment regrading requests must follow the above procedure within one week of the original grade posting. Any regrade request made after that deadline will not be considered, regardless of its merit.


Late assignments

Late assignments will be penalized 10% of the maximum possible score for each 24 period (or fraction thereof) they are late.

So if it’s due at 10:00PM on 25-October and you submit it at 10:12PM on 25-October or 09:00AM on 26-October, 10% of the maximum score will be deducted from your final score.

There are no extensions for lab assignments, so plan your time carefully.

Assignment submission requirements

The assignments in this course ask you to provide solutions in various forms:

  • .pdf documents, containing a discussion or relational algebra expressions
  • .sql files containing SQL code
  • .json files containing JSON data, or
  • .py files containing program source code in Python
  • and other files, such as test data, test scripts, Makefiles, .html, etc. as needed

To make it easier for you to prepare your assignment solutions for submission, and for the teaching team to grade them, the following guidelines and aids are provided. Lab submissions that do not follow these guidelines may not be graded.

Source code files

These include program source code (Python .py) and database code (e.g., .sql or .json).

Document files

Document based homework submissions may only be submitted as a .pdf file. The instructor and TA’s will not grade .md, .doc, .docx, .tex, .pages, .html, or .txt, scanned or photographed handwritten solutions, or other forms of text-based submission. Use whatever tool you wish to produce your submission, but use it to produce a .pdf file for your final submission of documents.

Typeface or font

In a document (.pdf) use a clear monospace font for all program source code and for all SQL and JSON statements that you include in documents that are later turned into .pdf documents in your assignment responses. A good choice is the Lucida Sans Typewriter font. A good Markdown editor with .pdf export capability would work well.

Special characters

In order to produce the special characters used in this course, you have several options summarized in the table below. Choose one with which you can reliably produce .pdf files.

Form Coverage Samples
HTML All of the special characters are available, some as Unicode constants. SampleAssignment.html and rasymbols.html
LaTeX All but antijoin of the special characters are available using the special commands at the top of this LaTeX file. SampleAssignment.tex and RAsymbols.tex
Microsoft Word Some of the special characters are available, and others may be cut-and-pasted from the sample assignment file. Equation editor is very helpful. You can define short cut keys to produce the characters. SampleAssignment.docx and rasymbols.docx
Apple Pages Some of the special characters are available, and others may be cut-and-pasted from the sample assignment file. The lack of an equation editor will require purchase of add-on software such as MathMagic or MathType. rasymbols.pages
Google Docs Many characters are missing, and the equation editor is incomplete and rather painful to use.  

Graphics

Some assignments will require you to produce diagrams. You are welcome to use whatever tool you choose, as long as it can be used with your word processing choice above to produce a single .pdf file for submission.

A local option for ER diagrams is the MySQLWorkBench tool that you installed on your system as part of Lab 0. As you will see, it is also very handy for writing and test SQL code.

Program and SQL source code

Several assignments will request you to submit SQL or MongoDB code or to write programs to accomplish a goal. It is important to remember that in order for the teaching team to fairly assess your work, they must be able to:

  1. understand it - you should write it clearly with meaningful object, attribute, and function names, and sufficient comments at the module, function, and code section levels;
  2. run it on a Thayer (babylon*) system; and
  3. see that it works with the class MySQL or MongoDB server.

In short:

Programs that are unintelligible, poorly documented, or fail to compile or run on a Thayer babylon# Linux system will be returned ungraded for correction and resubmission with a 10% penalty. Remember, CS50 is a prerequisite for this class.

Database code that has errors or fails to run with the Dartmouth MySQL or ATLAS MongoDB servers will be returned ungraded for correction and resubmission with a 10% penalty.

You must use Python for your programming assignments. No other programming languages will be accepted.

All files for a lab assignment submission should be collected together into a single compressed tar file with an extension of .tgz and named as directed in the assignment. In other words, do not submit .pyc or other compiled or executable files. You should collect all the files for a submission in a single compressed tar file ( created using the -z option) with the file extension .tgz. A typical process might look like this:

$ # move into my lab directory
$ cd Lab2
$ # tar ONLY the files I'm supposed to submit
$ tar -czvf ../Lab2.tgz lab2.pdf file1.sql file2.sql main.py ...
$ cd ..
$ # upload and submit tgz file to canvas
$ ...

Please avoid uploading yout .git directory, Python libraries, test logs, etc. Check what’s in your .tgz file before submitting it using tar -tzvf Labs.tgz | less.

Upload your .tgz file to Canvas as your lab submission.