Posts

CST-438 Week 2

  Summarize what you learned about React this week.  In your opinion, what the strengths and weaknesses of React.  This week, I learned to use the React framework to develop responsive user interfaces. I learned about state management techniques that React uses to update the state of the user interface, such as the hooks useState and useEffect.  I found React’s state management techniques and UI components to be very similar to those in other frameworks I have used, such as Flutter and Android Jetpack, resulting in a minimal learning curve. I think the only weakness of React that comes to mind is the context switching required between writing JavaScript code and HTML elements within the same JavaScript function, however, these functions can be reused multiple times, reducing the need of writing the same HTML elements in other functions.

CST-438 Week 1

  What did you expect a course in Software Engineering would cover? I think I would expect a software engineering course would cover the software development lifecycle, i.e. gathering requirements, creating designs, implementing designs, testing, and maintenance. After completing week 1, how has your opinion changed? I don't think my opinion has changed very much. The course seems to be what I have been expecting a software engineering course to cover so far. Something I have found interesting so far in this course is that the lab assignments feel very similar to the assignments from Internet Programming. In Internet Programming, we learned how to use Node.js to create custom REST endpoints that execute specific logic and render web pages. So far, Spring appears to offer a similar approach to creating REST endpoints.

CST-383 Week 4

CST-383 Week 3

This week, I learned to visualize variables by creating plots using Python. These plots include box plots, histograms, density plots, and scatterplots. Something I was not expecting was how easy it was to create plots in Python for data. For example, if we had a Data Frame (df) that contains a column called "age", we could simply call, df['age'].plot.hist() to create a visualization containing the frequency of the age column. Something that was a bit confusing at first for me was determining the probability of a value from a given PDF. However, it became more intuitive for me by thinking of it in terms of writing an expression using Pandas to determine the probability of getting a certain value. For example, we could create mask for a specific column then call .mean() using this mask to get a probability. Something I found interesting was how I have recently seen scatterplots being used for plotting real world data containing polling data. Before taking this course, I...

CST-383 Week 2

This week, I learned to use Pandas to perform data analysis. Pandas felt very similar to using NumPy, however, the terms in Pandas can be different. In Pandas, a 1D list is considered a Series. A 2D list is called a DataFrame. One of the main differences between the two that I noticed is that you can explicitly specify the index for a Pandas Series. For example, we could specify the indexes in a Series containing names of students, with values corresponding to the student's grade. Another thing that I learned which I thought was interesting to use was aggregation in Pandas. If we wanted to calculate the mean value in a list data structure, we would likely have to iterate through the values using a for loop in other programming languages. However, in Pandas we can just use aggregate() on a Series' column and pass in a mean function, allowing us to perform this calculation in just one line. Something else that stood out to me, is that we can use groupby to get rows that share the...

CST-383 Week 1

 This week I learned how to use the library, NumPy, to perform operations on numeric data. One thing about NumPy that stood out to me, was how its operations felt similar to operator overloading in C++. For example, if we wanted to add the contents of two NumPy arrays, A and B together, we would execute the expression: A + B. In C++, the operator, "+" could be overloaded to perform the equivalent expression on our own custom array data structure. This makes me curious if the implementation of NumPy uses some kind of operator overloading to perform these operations, or if it is just specific to the Python programming language. Another thing that stood out to me while completing this week's homework, was how similar NumPy felt to writing SQL queries. If we had a NumPy array, A, containing the values 7440, 12280, 11250, 12960, 7560, 13500, 13290, 13868, and we wanted to get the values greater than 8000, we would create a mask using the expression, "mask = (A > 8000)....

CST-370 Week 8

 Dijkstra's Algorithm: Solves the problems of finding the shortest path from a single source. It is a Greedy algorithm. It dertermines the shortest path from a single source vertex to each of the other vertices. Has wide applications such as:     - Internet routing     - GPS navigation     - Transportation planning