CSE 160 - HW5 - Advice from 14wi students: "What do you wish you had known before you started? What would you do differently? What advice would you offer to future students?" -------------------------------------------------------- Actually write the code on paper where it is sometimes easier to read and follow. Also writing the code on paper after the code has failed helps to catch mistakes. Giving the variables better names would have lessened my confusion. I implemented more tests than I have before and it was really helpful in finding where the problem was in my code. I liked this assignment the most because it was split up into a reasonable amount of work and the assignment was written much better than most. It was very clear on what the input and output would be and what each function was supposed to do. I would suggest future students to review the set and dictionary slides before doing this assignment I wish I had known more about creating nested dictionaries. I would have thoroughly reviewed the python tutorial on dictionaries. I would advise future students to make debugging tests of their own, and not necessarily just use the tests.py file provided, and instead create their own file (I find print statements the easiest way to debug code). advice to future student: practice indexing data structures Remember the cases where functions return "None" when you're trying to use the cases (e.g., build dictionaries) that return something other than "None" Advice: As always, it is much easier to write out the steps and also print the test.py assert statements if your code is not working - it can help you to see what youre doing wrong and what to fix in your code. I think this time we were very well prepared for the assignment and the instructions were super clear so I don't think any knowledge was missing going in. For advice: remember to keep writing out and planning functions on paper (I used around 5 pages for part 1) I learned to work with dictionaries much more comfortably, but mostly I learned how to plan out functions and code much more efficiently. Since the test.py will not be submitted and is only for debugging purposes, please consider adding print statements before assertions to show the difference of student's output and expected output. Other than that, this assignment is well-designed, especially the clarifications on those data names. Clearly the tests.py file made this homework possible...read instructions and follow them carefully? Becoming familiar with the structure of the various data sets used in this assignment before starting to outline the code was very useful. 1) I wish I'd have practiced iterating through dictionaries more 2) I would probably have reviewed the reading quiz before startings parts 1 and 2. 3) I'd advise students to start early. Start Early even if there are 3 parts to it. After being done, look at the problem as a whole and see if you understand how each part plays a role in the overall solution. I would suggest future students to try their best to master the dictionary part of this class because it's so important in the real world. It's used everywhere in our life. The advice that I would give would be to pay close attention to the data types that each function uses as input and as output. Studying the inputs and outputs in the assertions in the test file is important before writing a function. The appendix of data types at the end of the assignment should be studied closely and repeatedly, throughout the assignment. Same advice as last time, continue to map out your functions on paper, also will want to make sure you keep track of your notes from part 1 (I misplaced a sheet and had to quickly re-note what the inputs and outputs of certain functions were in terms of name and data structure type)