Giter VIP home page Giter VIP logo

chen-3170's People

Contributors

dealmeidavf avatar jboffie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

chen-3170's Issues

Error retrieving images from raw.githubusercontent.com

The raw.githubusercontent.com URL is returning a 404 error for some hosted images. The issue is found at the moment in notebooks: 03-arrays and labwork-03-801-802. However, the hosted image for 04-arrays-operations is working.

Notebook 02-variables-types-structures

I think this notebook lays out the different kinds of variables very well. I think that there could be more in depth information on how to use structures such as dict() or list() since they are used substantially throughout the rest of the course. Having the big blocks of code broken up by the comments is good but there are still sections that get very complicated quickly such as the 'Systematic operation on all elements of periodic_table' cell.

Notebook 05-linear-algebra-fundamentals

The pre-made handwritten notes aren't a useful way for students to understand the math (in my opinion). It would be much better if you did this math in class along with the students so they can actively see the process instead of looking at it as you discuss the steps.

Notebook 11 - Modified Arrhenius Rate Constant Data Fitting

This notebook was very easy to understand based on the information in Notebook 10 and was not too difficult to put together for the weekly assignment. Once the matrix was assembled, the rest of the notebook guided students on the plotting of information as well as adding additional data points.

Notebook 07-computational-stoichiometry

This notebook is full of useful information but I feel as though we did not spend a lot of time going over all of it. It kind of felt as though this section was very rushed when it is used a lot in future labs and in the midterm. Definitely spend more time going over line by line what each string of code means and what it does.

Broken link

"Also refer to the course notes OneNote [ChEn-3170-stoic](https://studentuml-my.sharepoint.com/:o:/g/personal/valmor_dealmeida_uml_edu/EkBIxJckVj1Nu9j9xAK_1LoBxr_UYjPrNdelFTNwpxdoQQ?e=VD0uB6) on computational stoichiometry including an introduction to the linear, full-rank, least-squares method."

Notebook 03-Arrays

This notebook is full of useful information but it can be a bit overwhelming. I would suggest breaking it up into 2 notebooks with one notebook discussing matrices and the code implementation (filtering, 2D and 3D arrays) and the other discussing the remaining information (plots, how to set up matrices, etc.).

Notebook 06-flow-controls

Not an issue within the notebook, but possibly increase the amount of assert statements that should be included in the labs (at least the earlier ones). Those can be useful in teaching why certain code doesn't work besides the program just giving an error. Also, I would teach while loops along with the rest of the information in this notebook, especially since we never got around to really using them and they can be very useful for looping code.

Suggestion on course resources.

About getting the tools

From the same initial assumptions of 00-syllabus.ipynb, to avoid those famous dependency issues related to getting the suggested packages and software, It'd be a good idea to add the following package managers as suggestions for the not-so-die-hard-programmers:

On Windows:

On macOS:

On Linux:

  • Nixpkgs, for a sandbox approach.

About Anaconda

On line 74 of 00-syllabus.ipynb, it's suggested the students install Anaconda as a way of getting the Python-Jupyter resources.
I'd like to differ and recommend the smaller version of Anaconda, Miniconda, which is also readily available at https://conda.io.

Miniconda is considerably smaller than Anaconda and the user can add packages as they're need, where Anaconda has a much larger prepackaged toolchain which most of the time goes on unused.

On the matter of the resources available.

Google offers two very capable free options to the ones already mentioned in line 72 of 00-syllabus.ipynb.

Which have the following attributes.

  • Production and execution of arbitrary python code through the browser,
  • Both are especially well suited for:
    • machine learning,
    • data analysis and
    • education.

Technically, those are hosted Jupyter notebook services requiring no initial setup to use while providing free access to Google's computing resources including CPUs, TPUs and GPUs through the web browser.

Additionally one might run those notebooks locally through the jupyter_http_over_ws available at PyPl.

Notebook 04-arrays-operations

This notebook is a very god description of vectors and an intro to matrices. The only thing I would add to this notebook is in the matrix section, possibly explain the plot functions in more detail instead of just using them. We use the plot functions alot but I've noticed myself just copying the code from the notebooks instead of knowing how to use it myself.

Notebook 9 - Rank-Deficient Least-Squares Reaction Rates

This notebook definitely contained a lot of vital information that was used throughout the rest of the course. Definitely make sure that at this point students are comfortable with this information in lecture.
I feel that we did not discuss a lot about the sub-mechanisms in lecture and during the lab period and may be why some people struggled with this section in the midterm project. The extra-help class that you held really helped to clarify everything and put all of the pieces together as you were actively writing the code with us. I feel as though the importance of the plots at the end of this notebook were not explained in lecture.

Notebook 15 - Multiple Reactions at Equilibrium

There is a lot of complex math behind all of this code and I would recommend spending a little bit more time on it if you can to make sure students fully understand it. Once the first few blocks of code are described (based on the math), it does help clarify things and make the information easier to apply to a real example.

Notebook 08-full-rank-least-squares-reaction-rate

The lu_factorization, as you probably know, was the hardest code for people to write because of all the different steps it requires. I think going through this idea on paper more in class would help people understand how the code itself should work instead of the class needing you to give them the code. While knowing how the code works to solve the lu is useful, unless it is taught better during class people will not be able to accomplish the task of writing it.

Other then the lu, the rest of the notebook outlines the reaction rate vector information very well.

Notebook 05-linear-algebra-fundamentals

Having us write our own function codes that already exist in Python was extremely difficult and note really needed. In my opinion it was kind of pointless to re-write function codes that already exist (forward solve, backward solve, and lu_factorization function codes). This was very challenging and students were left to figure out the complex code without enough practice to write it.
I would definitely recommend providing more guidance if you are going to have students write function codes like that early on, or move it near the end of the semester so that students will have a better understanding of how to write code.

Notebook 01-Introduction

Delete the use of Anaconda software, it was too much of a hassle to use this program. Not to mention if you used the Anaconda program you could not access any of the data files on the notebook.

Wavelet Notebook12a review

The interactive visualization does not work because it is just a copy of the Fourier Notebook 12. Needs a complete update.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.