All about Assessments
Assessment components
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
orQuiz
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
orQuiz
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,
Makefile
s,.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:
- 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;
- run it on a Thayer (
babylon*
) system; and - 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.