121 Assignments & Due Dates

All assignments must be submitted via OnQ.

 

Here are the guidelines for appropriate programming style in CISC-121 assignments:  Programming Style Guide
 

Assignment Due Date Notes Rubric
       
Assignment 1 20210924
  • You are not required to implement the Vigenere table if you choose to create the encryption a different way. However, your results need to match the expected results exactly.
  • You are not required to follow the "Solution Outline" that I provided.  However you should follow the same approach when writing any program: start with an outline in a natural language, then fill it in.
  • You can assume that the user will only enter valid input.  So you don't have to worry about letters with accents, a keyword that consists only of numbers, etc.  (By "valid input", I mean that the plaintext and the keyword will each contain at least one letter, and there won't be any "special characters" that are unreadable).  You do still need to remove punctuation and convert all letters to upper case.)
  • If your solution is based on ideas or code that you found on a website such as stackoverflow, you must
    1. State the source in a comment in your code
    2. Avoid copy/pasting ... learn the material/ideas, but write your own code
  • If your solution includes any functions that you have written, each function should have a very short comment indicating its purpose. You can assume that anyone reading your code understands Python, so you don't need detailed comments unless you are doing something clever and unusual.  But a reader should be able to grasp the overall structure of your program just from the comments (this is why I suggest always starting with an outline in English).
  • You are not required to get input from the user, since we have not covered this in class.  It is acceptable to assign values to the plaintext and keyword as part of your code.
Grading Rubric for Assignment 1
Assignment 2 20211001  
Assignment 3 20211018
  • Note the revised due date for this assignment
  • Here are the text documents for your program.  I had to split them into 3 zip files due to a 2 MB limit on file size.
  • Documents_1.zip , Documents_2.zip , Documents_3.zip
  • Here is the StopWords.txt file
  • Some people are experiencing Encode/Decode problems on the text documents.  Cowan_J very kindly posted a solution on the forum:  you can specify an option when you open the file:  f = open('Adventures_Sherlock_Holmes.txt', 'r', encoding='utf8')
  • Several people have asked where the StopWords.txt file should be located.  I would suggest putting it in the same directory as your Python source file.

 

Grading Scheme
Assignment 4 20211029  
Assignment 5 20211107
  • Note the revised due date
  • You can assume that all the values are positive (Radix Sort gets confused by negative values!)
  • You can also assume that all the values are integers.
 
Assignment 6 20211114  
Assignment 7 20211126
  • Assignment (typo corrected)
  • Dataset
  • The "Right Answer"
  • There is a typo in the original Assignment document.  In one place it says "5 clusters" when it should say "7 clusters"
  • A student pointed out that two of the animals have identical characteristics, and asked if one of those animals should be deleted.  The answer is no!  This is not an unusual situation in real datasets.  If it should happen that these two animals are chosen as initial cluster centres, the algorithm may give strange results.  That's why we always run the algorithm multiple times with different randomly chosen starting points.
 
Assignment 8 20211207  

 

Taxonomy