Sp18 »

# Assignments

MAT 366 Spring 2018

## Assignments

Week 1

1. Write notes on how to control Excel in your computer.
2. Activate the Developer Tools.
3. Retrieve last name from Excel spreadsheet in Dropbox
4. Read further in the textbook "Excel for the Mac"

Week 2

1. Create a spreadsheet as follows:
1. It contains a set of 1000 students called Student1, Student2, ..., Student1000.
2. Give each student a grade from 0 to 1000 at random.
4. Find the Max, Min, Average, Median, and Frequency distribution using bins of width 100.
5. Verify the frequency distribution using COUNTIF to count the numbers in each frequency bin.
7. Graph the frequency distribution.
8. Create a table of students that are getting less than 500.
2. Use goto to create the first 1000 Fibonacci numbers

Week 3

1. Do the Pivot table exercise in this spreadsheet.
2. Read chapter 15 from Essentials of Excel and prepare to present the material. Prepare a powerpoint (or the equivalent).
3. Go over the Github materials in the agenda for this week. Create and submit a report on what you did.
4. Do the Vlookup-Index-Match exercise in this spreadsheet.

Week 4

1. Implement all the examples from chapter 15 using the source materials. Be ready to present and answer questions in class.
2. Read chapter 17. Prepare a short ppt.
3. Implement the examples from chapter 17.
4. Answer the questions in this Excel file.

Week 5

1. Install Anaconda with python 3.
2. Upload the database "pizza" to your account in the Linux server.
3. Answer the question in the Dropbox file AssignedFeb26-Min2lists.xlsx
4. Catch up with work from previous weeks.
5. Check to see if you can connect to the phpmyadmin server ( URL: 136.183.56.192/phpmyadmin firstname/MAT366SPR18 ). Note that firstname is all lower case.
6. Install MySQL Workbench in your laptop.

Week 6 (March 5 - March 9)

2. Answer these questions about the DB pizza using SQL. NOTE: Do not worry if you do not answer all the questions just yet. The material will be covered in class and the answers will be discussed.
3. Go over the examples in our Python textbook section 2.2 using a Jupyter notebook.

Week 7 (March 12 - March 16)

1. Do the python assignment in Dropbox.
• It is called Python-assignment-3-12/Assignment_python3-Classes.ipynb.
• Use anaconda to open it.

Week 8 (March 19 - March 24)

1. Implement this excel notebook in MySQL by doing the following:
• Create a file with the SQL commands to create the schema;
• Create in the same file the SQL commands to populate the tables;
• Run the command;
• Verify that you get the expected output.
2. Explain in your words what is the LEFT JOIN using the example you implemented in the question above.
3. Use the examples in the file Reading_mpg_csv.ipynb in Dropbox to find out the average mpg by year in the hwy and cty.

Week 9 after Spring break (April 2 - April 6)

1. Use python to do a word count for the book Oliver Twist by Charles Dickens (download the book from here). Extract somehow (even copy and paste) the 10 most used words in the book with their frequency.
2. Do the problems in THIS Excel worksheet. Use THIS tutorial as needed.
3. Read and present Chapters 14-15 from THIS book. Each student will present 1/3 of the book.

Week 10 (April 9 - April 13)

1. Use python (not Mailenvelope or similar packaged tools) to do the following (see RSA-encoding.ipynb python file in Dropbox and use the info from the encryption presentations -- ch 14&ch15 of textbook):
• Create a random Secret Key (sk) and Public Key (pk) using RSA.
• Sign a message with your sk.
• Provide the message and pk so that I can read your message.
2. Read and present the 14 pages from RSA encryption in this book excerpt
3. Create a secret and public key using Mailenvilope in Gmail and share the public key with the class. Then send an encrypted message to everyone.

Week 11 (April 16 - April 20)

1. Work out the questions in the Jupiter python notebook named "Elementary-NumTheory-Crypt.ipyng".

Week 12 (April 23 - April 27)

1. Catch up week. No new assignment.

Week 13 (April 30 - May 4)

1. Implement in python3: funmin() outputs the smallest element in a list. The list is provided by the user when prompted by the function (i.e. use the command input("Please enter a list") in your function).
2. Implement in python3 the Bubble sort algorithm as presented in Wikipedia. Use EXACTLY this pseudo-code:
procedure bubbleSort( A : list of sortable items )
```    n = length(A)
repeat
{
swapped = false
for i = 1 to n-1 inclusive do
/* if this pair is out of order */
if A[i-1] > A[i] then
/* swap them and remember something changed */
swap( A[i-1], A[i] )
swapped = true
end if
end for
}
until not swapped
end procedure
```

Week 14 (May 7 - May 10)

1. Complete all your previous assignments before the final.
2. Study for the final.