Wednesday, December 14, 2016

CST 438 Week 8

Week 8

I don't know why, but this entire course I've felt very behind. Like, I'm just barely turning assignments in on time. I'm either getting a little burnt out or there's more work in this class than there has been in previous classes. I'm really glad it's the last week and I've spent all of my spare time this week working on the final paper. My company has a holiday party on the last day to turn in our assignments (Friday), so I'm feeling even shorter on time for this last assignment and am really pushing to get it turned in a day early (Thursday). I was hoping to get to work on the group project, but the amount of detail (and diagrams) required for the paper has made that no longer an option.

There were a couple of diagrams for the final paper that I ended up creating hypothetically since my group didn't get far enough to complete them, like the E-R diagram. Even with understanding some of them, I still spent a lot of time working on understanding each of them and how they're supposed to look. Hopefully, that works out in my favor. As of writing this, I'm about done with the paper. The paper is written and my diagrams are complete, but the paper itself still feels a bit choppy and is too long. I believe it's because there were so many questions to answer. Attempting to piece them together and make the paper flow well has been difficult, but I'm practically done. (woo!)

Looking forward to the short break after my final in my other course, Computer Architecture, until Design and Analysis of Algorithms begins.

Saturday, December 10, 2016

CST 438 Week 7

Week 7

The final exam (or assignment) was my primary focus for this week. It was a bit challenging and required some set up because the first two questions had their own programs to import into an IDE and run. However, I think I did okay and will spend the rest of my time focusing on the final paper (due module 8). If I have additional time, I'll contribute to my group project some more.

There were a lot of topics covered in this course. I was familiar with some and not so much with others. Personally, I learned a lot about different diagrams. I already had experience with database schema UML diagrams and class diagrams. However, sequence diagrams and deployment diagrams were very new for me. I really enjoyed learning how to do those.

Because I work in the tech industry, I was already familiar with some of the development patterns (Model-View-Controller mainly), the different workflows covered (Waterfall and Agile), and testing. This is how I know that these are practices already used in the real world and they're worth paying attention to.

I look forward to wrapping up the final pieces of this course and moving on to Design and Analysis of Algorithms!

Monday, December 5, 2016

CST 438 Week 6

Week 6

The assignment this week covered Gantt charts and team velocity (in an Agile workflow). The Gantt charts are pretty straightforward and show what's called a waterfall development process. It's exceptionally planned and relies heavily on the participants getting their work done in an expected time frame. We used a program called GanttProject to chart a hypothetical project. I found it useful and fun to plan out this fake project.

We also created a draft report (that will turn into our final report the last week of class). This was exceptionally difficult for me to complete because it was so heavily based on how my group worked together on our group project that we're currently working on and what we've built. My team has not been very team-like and we haven't had a chance to review any code for each other. Additionally, nothing is really built out yet and we're still looking at a bare bones application. I started two applications a few weeks ago (one for the server and one for the client) that still need to be filled in. However, this weekend I did get both of these applications running on AWS instances through Bitnami. That took a long time, mostly because I didn't know that I had to wait a half day for the servers to be created through AWS.

I believe that everyone is struggling to complete the normal course work and contribute to the team project at the same time. There are people behind in work that are still trying to get caught up on old weeks. Because the group project doesn't have any direct point value on our grade, I believe it's put off until last and results in students not contributing to the group project. I understand why it has the least priority for my classmates and I don't blame them for putting it off.

Monday, November 28, 2016

CST 438 Week 5

Week 5

Thanksgiving zipped by this week. I had some time off and was able to spend some of the time working on assignments in addition to visiting my family. It was very needed and appreciated. I spent all of Wednesday trying to get the initial project set up for my team. A pull request was submitted for it, but my team has been very busy and didn't have the time to review it over the weekend. Once we get the initial project set up, I believe I can tear through a good portion of it. I'm looking forward to getting it done and getting through this course (we're getting so close!).

Outside of the group project, our assignments have been focused on code reviews and team participation. I believe this is very crucial and relevant to the real world. I appreciate the assignments on the subject.

Tuesday, November 22, 2016

CST 438 Week 4

Week 4

This week was unexpectedly difficult due to me getting sick over the weekend. It took out a bunch of time that I would have used getting work done. Because I had a midterm in my other class on Monday (Computer Architecture), we didn't have any assignments. This significantly helped me get more done in this course over the weekend.

The assignments were pretty straight forward. We had a midterm but the questions all seemed reasonable. I still struggle with many of the diagrams. Hopefully I understand them enough to have done okay on the midterm.

Getting together and working with my team has been going okay. I feel like everyone is working very hard on their other assignments and haven't had the time available to put into our group project. I'm hoping, with the lighter workload next week, we will be able to get going quickly.

Tuesday, November 15, 2016

CST 438 Week 3

Week 3

This week has been very challenging. I spent almost an entire day this weekend trying to get our project set up in Intellij. I really dislike working in Eclipse and have been able to successfully make all of our previous projects work with Intellij. This time was a bit different because Intellij was automatically generating the servlet files different than Eclipse. After switching to Eclipse again, things went pretty smooth. Hopefully I've completed the programming assignment as expected.

The other assignment that was on building domain models really confused me. I'm okay with UML class diagrams, which represent the class contents and their hierarchy, and the idea of sequence diagrams but these domain models are not structured enough for me to completely understand.

Physically I'm probably the most tired that I have been in the entire program. It's not necessarily related to this particular course but I think it's just being a bit burnt out with my academic and professional work load. With two out of town weddings in the past month and a midterm this week, I am really looking forward to Thanksgiving break. Lots of cooking and studying to do! I'm also looking forward to moving on to larger group projects. Working on large assignments tends to help me keep my head in the game.

Tuesday, November 8, 2016

CST 438 Week 2

Week 2

This week and the weekend were exceptionally busy for me due to being a bridesmaid in my cousin's out of town wedding, making it difficult to complete my assignments. The assignments are a bit rushed, but it should be the last crazy week for me and this course (thank goodness!).

The topics this week included writing program requirements with UML diagrams and unit tests. This take on UML diagrams is new for me. I am very unfamiliar with them and I don't believe I have completely understood them correctly. However, I'm very familiar with unit tests. I've worked on several professional projects where I had to write them (ended up writing ~300 unit tests per project). They're tedious and can be exhausting to work out, but they really do help you catch mistakes.

I thought that my understanding of unit tests would help me breeze past the work this week, but it's been a lot more in depth and time consuming to work through. The system tests we got for our project were giving me errors, causing me to have an unexpectedly difficult time.

Monday, October 31, 2016

CST 438 Week 1

Week 1

This week has gone pretty well. I'll admit that I haven't put as much effort into it as I have other courses and I assume next week will be the same for me. I knew this fall season would be very rough on my personally and academically.

The content covered this week was a combination of version control systems (including git), GitHub basics, and the agile process. I'm familiar with all of these things, but I haven't really read into them before and had more of a hands-on learning environment when I initially learned all of these. I definitely think that helps when trying to absorb the assortment of information.

Our project this week was a very simple hangman website (served through HTTP server). The basic code was initially written by our professor and we only had to fill in the implementation. There were some unexpected snags that directed me down the path of learning more about java jar files. It wasn't part of the instruction but I felt like I came out of this week understanding them better.

We were also placed in groups this week. We have a very basic assignment (coming up with a topic and posting the requirements) for the first week and I'll be interested to see how my new group works out. My last group was pretty fantastic, so they have some serious shoes to fill (heh).

Saturday, October 22, 2016

CST 338 Week 8

Week 8

Woo! It's the final week. I'm very happy to see it here. I did really enjoy this course, but I'm ready to move on to the next topic.

This week we had some flexibility (really, a ton!) with our final project and that was a bit difficult for me. I felt like I was too concerned about making a project that really stood out. In the end, I decided to go for simplicity and to get the project completed. I chose to implement a super simple command-line driven recipe book. The user can't write to it, but they can navigate between the pages. I think that's good enough for this time around.

Specific Prompts

They say hindsight is 20/20, what advice would you give to the next cohort regarding this course?

I have a few suggestions for the next cohort that takes this course:
  1. The last assignment requires the use of an IntelliJ product called Android Studio. Begin using IntelliJ from the first day of class and this application will feel familiar.
  2. As far as the actual studies go, begin each project early. The 4-hour estimates are way lower than the time that is actually required for each assignment.
  3. Read each assignment over before/after you work on it for the day and make sure you follow the guidelines. Double check if methods are supposed to be private/public! You'll get some points marked off if it varies from the assignment description.

How much do you envision using the skills you gained in this course in your career?

This course covered a ton of material that's extremely useful in day-to-day programming. Granted, some of it's pretty Java-specific and many students may never come into contact with Java. Professionally, I've encountered many of the topics taught. I believe that knowing more of the design patterns would have also been useful and hope I'll get to see some more in future courses.

Saturday, October 15, 2016

CST 338 Week 7

Week 7

This week has been easy breezy! I really enjoyed learning Android Studio and getting a simple little application running. Because I've been using IntelliJ (Eclipse was recommended) for this entire class, it was an easy transition to Android Studio (because they're the same).

The application we created doesn't actually do anything, but it's fun to see the possibilities. Looking forward to my last set of assignments and wrapping this course up!

Specific Prompts

Have you ever created an app before, either for Android or iPhone? How did it go?

This was my first time creating a phone application! I have created plenty of web application, but never a native phone application. I'd like to dig into it more, learn how sessions are kept and actions are performed.

Do you have any ideas for apps that you could create for recreation? What about business?

I have definitely come up with some phone applications. The primary one I wanted to work on is a coffee log where a user can record the type of coffee they drank and the grind, brew method, wash method, the region the coffee was grown, and all other kinds of coffee drinking details.

There are also some web applications ideas that I have that could easily be converted into a phone application, like my idea to create an emergency preparedness website. In a phone application, it could serve as the source for where the user's family wants to meet when a natural (or unnatural) disaster happens. It could also send the user push notifications when a natural disaster is expected and remind them of the items they need to prepare for their particular type of disaster for the case that it actually happens.