Cumulative Reflection

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

Degnan 1

CprE Cumulative Reflection


I started at Iowa State University as a computer engineer in the fall of 2017. I came in
having taken one class about programming, AP Computer Science. The class was by far my
favorite I took in high school. The problem solving was challenging but fun, and I felt like I was
doing something I could really enjoy but also excel at. My dad was also a computer engineer,
and growing up I always wanted to be like him. I knew computer engineering had a lot of both
the hardware and software sides of technology, so I decided to choose computer engineering
over software engineering and computer science. I am really happy I did, because I loved my
classes, the people, the professors, and just computer engineering as a whole.

During my time at Iowa State University I have learned a lot about problem solving.
Almost every class I took, whether it was a math class, a hardware class, or a software class had
some sort of problem solving. Problem solving is, in my opinion, the main skill of a computer
engineer. Not only do you have to solve how to create a piece of software, but you also have to
debug it, fix it, maintain it, etc. I’ve had many different classes where I have learned and used
problem solving skills. The one I feel I used the most problem solving skills was in CprE 381.

CprE 381, Computer Organization and Assembly Level Programming, is a class where
everyone in the class worked on creating a parallel processor in a simulation software. We
started with creating the parts of this processor, such as the registers, controllers, etc. We then
took all those smaller parts and put them together. We then partnered up for the second half of
the semester to fully create a processor. Once our processor was created, we moved on to
creating a parrellel processor. This class was probably the class I spent the most time on at Iowa
State University. I spent at least 3 hours per weekday, and 8 hours on Saturday and Sunday
creating, debugging, and testing the project. To create this project I had to use many different
problem solving techniques.

The first big problem solving technique I used was following a single process from
beginning to end. I would go through different wires and make sure at each stage it is the value I
think it is supposed to be. I can then track a problem to specific wires and figure out where the
problem is. Another problem solving technique I used was creating unit tests that try and
pinpoint where a program is failing. If the program is incorrect due to a specific unit test, I can
track the test back to the point in the wires where it goes wrong. These are not the only
techniques I used, as different projects need different techniques.

During my internship over the summer of 2020, I got to work on a lot of web
development, in which I got to use the problem solving I learned at Iowa State University to
solve problems in real world situations. I got to learn Angular framework and create web
applications from scratch for internal employees. I learned about gathering requirements, finding
ways to make web applications work the way the employee wants, and maintaining and updating
it based on updates to the Angular framework. While I was working there, Angular updated from
Degnan 2

Angular 9 to Angular 10, and I worked through lots of code and tests to find where the new
update broke existing code to fix it.

I learned many different programming languages during my time as a student, but the
main thing I learned was how to problem solve. Languages will always change, technology will
be upgraded, but being able to adapt, learn, and problem solve is the most important learning
experience. I enjoy learning new things, and believe learning is the best way to grow as a person
and a programmer even after I graduate.

You might also like