Image for post
Image for post
Image Source

Every year around this time, thousands upon thousands of people vow to change their behavior. “I am going to walk every day!”; “I am going to eat healthier.”; or “I will read more!”, while these goals are great, they either set the expectation too high or do not give a means of measurement.

In order to obtain a goal, it helps to have milestones to achieve. This is good not only for the measurement of your progress but also for the motivation to move forward: “I can achieve this.” …


Arizona State University is a great school for computer science; ASU has been known as a pioneer in online education. Arizona State University offers over 200 online degree programs. The Master’s of Computer Science (MCS) degree is another feather in their cap. With so many feathers, they begin to look like Bartholomew Cubbins.

Image for post
Image for post
Illustration by Theodor Geisel

What makes this program special — and why I chose to attend it — is that you can earn your way into the program even if you don’t have an undergraduate degree in Computer Science, like me. So, how do you earn your way in? …


Image for post

Week two covered various topics, such as: solving a system of linear equations using Gaussian elimination, LU decomposition of a matrix, as well as finding the inverse of a matrix.

The material is covered very well, though I recommend you speed up the video a bit. The professor covers all topics in an efficient and insightful manner. The problem sets you receive are challenging enough whilst also giving you the opportunity to learn the proofs, essentially the ‘why do these methods work’. I still, to this point, have not seen another course that provides proofs in the assignments along with solutions. …


Image for post

I enrolled in a course from the Hong Kong University of Science and Technology through the Coursera platform. This course was titled Matrix Algebra for Engineers. This course is taught by Jeffrey R. Chasnov.

In the first week, this course covered the introductory concepts to Linear Algebra. We covered how to multiply matrices, how to add and subtract matrices, as well as how to transpose matrices. The material covered was well taught, though I think the teacher could speak quicker than he does. I just put the videos at 1.5x speed.

The homework assignments for the course weren’t too difficult, though they did have their difficult points. This is the first Coursera course that I have come across that includes mathematical proofs in the course material. The material was handled in a wonderful way, where the instructor provided answers after you have attempted the questions. I found it quite helpful and unusual that you would see proofs in an online course. …


Image for post

This course, which is hosted by Coursera and designed by the University of Pennsylvania, is intended partially as an advertisement for the University of Pennsylvania’s Master of Computer Information Technology (MCIT) degree and partially as a course dedicated to the underpinnings of problem-solving.

This course is comprised of four weeks. A good number of the assignments are peer-reviewed, but the majority of the assignments are done through the use of an autograder. This has both its advantages and disadvantages.

Advantages of the Autograder:

The autograder allows you to complete assignments in a timely manner and receive immediate feedback.

The autograder allows you to see where your deficiencies lie and allows you to better focus your study. …


Image for post

This week is dedicated to changing pseudo-code to actual python code. The coding assignment is not too difficult, though the auto-grader is frustrating at times. The week as a whole was quite well done. The information is presented in an efficient, easy to understand manner. The final assignment was challenging for a number of reasons.

The Final Assignment:

The final assignment was a coding project designed around the idea of how to count how many times a word, or its synonyms, appeared in a text. The code was moderately difficult, but nothing beyond the level of knowledge expected of you. The issue stems from how the autograder reads your code. The code has to be exactly how the autograder intends for it to be, otherwise, it fails you, even if you have the correct answers. …


Image for post

This course in its third week focused on how to write pseudo-code.

The great thing about this course is that it builds wonderfully on itself. In all of the courses I have taken so far, no course built on itself in such an efficient, effective manner. The first week is about how to tackle a problem. The second week is about how to represent that problem with a flowchart. The third week is how to write pseudo-code for the problem. …


What a week it was…

Image for post

The University of Pennsylvania’s Computational Thinking for Problem Solving course had an interesting second week. As with the first, this week provides plenty of information that is useful on many levels, especially as it pertains to programming. This week focuses on algorithms, in particular, the various types of algorithms. It focuses on efficiency and to take the lessons for week 1 and apply them in an even more practical manner.

The topics it focuses on, in particular, include Linear Search, Logarithmic Search, Quadratic Search, Algorithmic Complexity, Binary Search, and Greedy Algorithms.

While I will not discuss each one of them, I will discuss the ones I deemed most important and/or the ones that have personally interested me. …


An Introduction to the four methods for problem-solving.

Image for post

The University of Pennsylvania has a course dedicated to problem-solving and how to think about problems you face. This topic is quite interesting and embodies exactly what someone should learn. Learning how to think is, in my opinion, the most important thing that someone could learn. It is a powerful skill that is so frequently glossed over. The first week of this course tackles the skill of how to think by breaking it down to four different steps.

Step 1 — Decomposition

Decomposition is the act of taking a problem and breaking it down into simple steps. By tackling each step one at a time, eventually, the problem gets solved as a whole. This method is incredibly useful for tackling problems that seem too large are on their own. …


The learning curve can be quite steep.

Image for post
Image for post
Image credit goes to Wikimedia

I’ve had a difficult time learning to write and am still a student of this wonderful art. Learning to write is hard. I get it and so does every other writer. We understand how much effort it takes to become a good writer. Writers find themselves at various stages throughout this learning process. While there is always room for improvement, there is also a path that has already been traveled. It is important to look at where you’ve been in order to appreciate how far you’ve come.

Before I speak to what I feel are essential tips for a new writer, I feel I need to provide some backstory as to why I am qualified to speak on this topic. …

About

Brendan Massey

I write about programming and computer science as well as review Coursera courses I have taken related to the aforementioned topics.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store