CSE 160 - HW7 - 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?" -------------------------------------------------------- Part I Advice: I advice future students to work with a partner so they can help each other out and so they can see how their partner programs compared to themselves. I would definitely seek out help from the TAs way earlier if I were to do this assignment again. Specifically when we were asked to chose a database to analyze and questions to ask about it I found the broadness of this request and the shear number of databases available to be paralyzingly vast. Sometimes it is just hard to find reliable data sources even though the statistics sounds quite general. In my case, it was hard to find the population of city districts. I should start searching for the data even earlier. I wish I would have taken a closer look at the data set before having started, and possibly started programming sooner. When converting a line in a file, to a split data set, if you have a number that includes a decimal, you can't just use the int() function, you have to convert it to a float() first. Rrrrrrr. The advise I would offer is to clarify each step of your project and be as straightforward as possible. This will help the person grading your submissions and also help you keep your ideas organized. Start it early so that you have more time to find the data and think about your project more comprehensively Check that data sets can be downloaded before you propose a final project. I wish that I put more time into forming my research questions and finding my datasets in part 0. It would have saved me a lot of time. Advice: Do an overall look on the assignment and see what kind of data is needed, and then find the data. Plan on researching the background of the topic that you are studying, not just the data. Consider what questions would be interesting or worthwhile. Try to find a dataset that could answer many of those questions. Start early. Use any sort of diagrams/ color coding to thoroughly understand the concept of your code. Plan out the code methods you plan on using for each function. -------------------------------------------------------- Part II Advice: Next time around I would work with a partner, not because I think it would have been any better or worse because of it, but to get the experience of programming side by side with someone. I would say to future students to pick a subject that interests them, because it'll make the work go a lot faster. Also, don't be afraid to walk away from your program if it's frustrating you. I would suggest working with a partner, if it all possible, even if you don't feel like it. It is a lot of work to do alone. I would have chosen much better variable names because it took us a long time to get our code to work because of the misspelled words or the confusion of variables. I wish I had known just how complex our data structure was going to get. However, I would not do anything differently, we spaced out our work, and worked together well. Future students: START EARLY, only then is it fun! The project became much easier due to the planning and feedback that went into it. Breaking the project into parts was beneficial because it forced you to think about the analysis before any programming was involved. Any major complications would be ironed out early so that you wouldn't have to make changes during the programming process where it might have been too late. I wish we had started coding near the time part I was due. While programming wasn't too rigorous, it was difficult meeting with my partner to work together. However, we still managed to divide the work in a fair manner. I should run some statistical analysis with SciPy and NumPy modules earlier. As I mentioned in the report, applying SciPy and NumPy functions took longer time than I expected. They didn't work with my original 64-bit Python IDE, and I tried several ways to deal with the technical issues. After I installed some unofficial SciPy packages which claimed for 64-bit window systems, the whole Python working environment became unstable and crashed several times. In the end, I had to reinstall Python IDE to solve the problems. Anyway, I will leave more time for testing if I have to import outside libraries or modules next time. As for the advice for future students, I would say this assignment really takes time. If you want to meet the standards you set up in the proposal, you better start earlier. Programming code to your own problem requires quite a bit of planning which can be very time consuming and require revision as coding is happening. On the other hand, at a point it's best to just jump in and start coding and see how far you can get. Be sure to start early. Go to the office hours for sure. As independent as this project sounds, the TAs are extremely helpful in clarifying thought process and are able to help even when they do not have full context of the problem. If working in partners, be sure to better plan the work load. Give yourself plenty of time to work on the project and be very mindful/comprehensive about the test files you create! I would have definitely spent more time focusing on just the test files (accounting for more possible scenarios). How to do docstirings I wish I had known that the current library for Python in reading Excel files couldn't read xlsx files. My advice would be to closely check your sources of data ad make sure they are in a Python friendly format I would have allotted more time for editing the report. (I tried to find out who wrote ""If I had had time, I would have written a shorter letter."" It turns out that that quotation is attributed to many authors.) If I had spent more time on my report, it would probably be shorter. Attempting to explain complex concepts without ambiguity often requires erring on the side of redundancy. I would have tried to find shorter variable names. When many long names are in the same line of code, that line extends far beyond 80 characters. Shortening those lines of code requires not only time, but extra lines of code and extra variables that will only be used once or twice. Trying to recognize the need, or the use, for helper functions early on means that assertions can be written sooner. Planning test cases is good to do as early in the process as possible. Wish I had thought about specific code implementation and strategies before starting. I would have budgeted more time to work on the project this week if I hadn't had 3 finals during the week. I wish I had known that the results I was expecting to get from my data would not be the results that I got. I would have completely re-planned my project after finding out that what I was expecting was not what the data was telling me instead of continuing forward and implementing things on the fly. My advice to other students would be to plan ahead but make sure you have a backup plan in case what you were expecting doesn't happen. Wish I had more practice in how to decide parameters for functions. How to know exactly when to use helper funcitons -------------------------------------------------------- Part III Advice: Something I would do differently would be to choose a subject that I really cared about so I would be able to put more time and effort into it. And therefore have a better presentation. I think the good presentation skill is necessary for science and engineering student in both study and works. A good project presentation is equally important as a good project itself. For advice, I would say that many details have to be omitted from the presentation. Nothing really - just practice what you want to say so it's smooth and rehearsed. This was the easiest part of the assignment, because our calculations were already done. Its important to make the presentation appearance nice. I would advise future students that this is fun and not even close to difficult to do. Also, get creative! Be sure to have thoughts organized and to know what is important enough to present. I would recommend practicing the presentation once or twice after the slides are submitted, so the content can be trimmed down before the actual presentation. Nothing in particular. Creating a slide deck is pretty straightforward. Just make sure it represents the essence of your project. Nothing, making the presentation wasn't too difficult and or time consuming --------------------------------------------------------