Tuesday, May 30, 2017

Module 5 - CST 338

GUI is learned late in the game with Java.  Do you think this is helpful or harmful and why?
I think it is helpful to wait a little while to learn GUI after going over the fundamentals in a language because from personal experience I find it much easier to understand and comprehend the language. One can easily get caught up more in the appearance of the GUI rather than the programming itself, and I personally found it much more interesting to work with the code than focus on looks.

Why do think that coding the Swing elements in Java would be more difficult compared to some other languages?
The syntax for the Swing elements maybe a little harder to grasp initially then other programming languages such as python, but the versatility of being able to build layer upon layer of the interface rather easily makes the Swing system very fun to work with.

Update your learning journal from what you experienced this week with class. 
This week we learned about GUI interfaces and how to write them in Java. One really interesting part of the week was working with the Swing elements to create the card table for this weeks assignment. I also created a video presentation this week on my thoughts for assignment 5. We created a GUI High Card game for the assignment this week and I really enjoyed working on this project.

Tuesday, May 23, 2017

CST 338 - Module 4

Give an example of polymorphism and what what be inherited between classes.
One example of polymorphism would be to have an “Animal” class. This class could contain such aspects as whether the animal is carnivorous, herbivorous, or omnivorous, as well as how many legs it has. Then we could create a class called “Bear” which extends from the Animal class and it would set itself as omnivorous with 4 legs.


After the learning this week, can you identify the difference between Abstract classes and Interfaces?  Be specific.
Interfaces are a sort of empty shell filled with names for methods which will not be filled until later when the interface is used.
Abstract classes are actual classes and can have both method signatures and definitions inside, unlike interfaces which just lay out the signatures for methods.

Update your learning journal from what you experienced this week with class. 
This week we spent some time discussing interfaces, inner classes, polymorphism, abstract classes, and UML design. It was quite interesting to learn about the flexibility afforded using techniques such as polymorphism where you could establish general guidelines for parent classes which could later be built upon as more and more specialized descendent classes were created. I also enjoyed learning about UML’s as they seem a clean-cut way too quickly grasp how a group of classes are interacting.

Tuesday, May 16, 2017

CST 338 - Module 3

What is the largest multi-dimensional array that you have used?
3

What is the largest that you think would be unwieldy and why?
If you use a vector to access the elements than my understanding is that it does not matter how many dimensions the array is.

What does inheritance do for your classes?  Have you used it in the past? How?
Inheritance makes it easier to write more generalized classes, with methods that will be useful to a variety of different, more specific classes. Yes, I have used inheritance in the past when working on projects similar to this week’s in simulating card games for example.

Update your learning journal from what you experienced this week with class. 
This week’s project was quite fun. Working with my team we created three different classes, Card, Hand, and Deck, which simulated how playing cards would be used. It included methods for multiple decks, shuffling the decks, drawing cards, and more. Besides the project we also reviewed such topics as the enum type, class inheritance, and references. Overall there were a lot of different topics covered.

Tuesday, May 9, 2017

CST 338 - Module 2

OOP is not in all languages.  Have you used one that does not?
No I do not believe I have spent any significant amount of time with a non-OOP language.

What was your experience?
N/A

How extensively have you used OOP outside of the classroom?
I have used it a few times on personal projects, but not extensively.

Are you experience with UML diagrams and do they help?
I am somewhat familiar with UML diagrams, but I don’t know if I have enough experience to state one way or another.


This week was quite interesting. We have a large amount of reading to go over and that took a bit longer to finish than I anticipated. The casino game was fun to create with my teammates, and it will be interesting going forward to see what projects we will complete together.

Tuesday, May 2, 2017

CST 338 - Module 1

Have you used Eclipse before?
Yes I have used Eclipse in previous courses when working with C++.

What languages are you proficient in at this point?
I am proficient in Python and C++ thus far.

What is your desired field of Computer Science at this point?
Personally, I am interested in general software engineering and perhaps looking into video game development specifically.

Update your learning journal from what you experienced this week with class. 

This week I took my first foray into Java. It seems interesting, and similar enough to C++ that it does not feel completely alien. I look forward to learning more about this language as the course progresses. Overall, I am enjoying the course and am highly anticipating the next few weeks of learning.