Monday, May 29, 2017

JPA

This week, we're using JPA, the Java Persistence API, which is a type of ORM, object relational mapping, to access and manage data between Java objects / classes and a relational database in MySQL.

We're also studying measuring the time complexity of a recursive algorithm using initial conditions, backwards substitution and recurrence relations, after studying the non-recursive mathematical analysis of algorithms last week.  We find the basic operation, then create a function including the recursion and any other multiplications that occur, then look for a pattern in the backwards substitution. From that we find a general form that can be compared to the initial condition, so you solve for that, and you can produce an expression that will be in the range of Big Theta, between an upper and lower bound, or if there are possible variations to efficiency based on the input, O and Omega, as well.

Tuesday, May 23, 2017

Java Enterprise and Model-View-Controller

This week we studied coding a web service application with the Java Enterprise, J2EE, which consists of Java Server Pages, the Java Servlet and Java Persistence Architecture (next week), and its use of the MVC pattern (M-JPA; V-JSP; C-JS).  Other frameworks apart from Java include .NET and Ruby On Rails.

Thursday, May 18, 2017

Testing

It's great to get some more experience or exposure to test driven development in our Software Engineering class this week.  I've really valued studying and writing test files.

We also had our midterm this week in the Algorithms class.  I'm definitely not in agreement that having two programming classes at the same time is easier, as had been mentioned was the rationale and would be the case.  We've definitely dived into the deep end with respect to course material/content, compared to some of our more recent classes, so it's a lot!  The above in conjunction with studying asymptotic time complexity, which is a lot to get one's head around, in itself...!

Tuesday, May 9, 2017

Netbeans

These last two weeks, we've been working at modifying code in Netbeans for a hangman game cloned/forked from Github.

We've also started working with Pivotal Tracker, a project management system, which is great.  These software are so valuable to a team that must work together in iterative code progression.

Tuesday, May 2, 2017

Algorithms and Software Engineering!

It's great to be enrolled in CST370 and 438.  In terms of my progress:  this week I'm glad to finally be spelling the word 'algorithm' correctly, i.e., without requiring reference or outside verification.  ...Just joking.  But it's just smashing to be studying algorithms; I love them and approaching a problem with greater precision and the confidence that it can be solved, to analyze the ways that a given solution is better or worse than another and, even to understand the solution before beginning coding....  Problem solving is very entertaining.

I'm plunging into the deep end with C++, which is great because it really expands my exposure to what is a new language, and I always enjoy writing with Java.

Learning about agile methodology, its advantages and controversies, is very interesting and useful, as well.  I wonder if I'll be involved in sprints and daily reporting to a scrum master sometime next year -- that would be awesome.  I had better continue to study.