Posts

CST 489-499 - Module 11

 Week 11, The main milestone for me this week was finally being able to create a board game event for the Capstone project and allowing the user to add what games they played or planned to play at the same time. However, once again there needs to be a UI change. Right now, the event creation is separated from being able to add matches, but upon viewing the event previously created, the user will be able to edit the event info, and in a further separated area, be able to add/edit match info. This makes displaying the info more modular and leave more room for more details, such as who won or lost the board game.  The plan for next week hopefully involves tying all the features together which is really taking shape. I assume the main thing to tackle is separating match info base on which user is invited or involved in the board game event, since it is more for friends than it is for finding public games. The main challenge I am facing in the project is reformatting how events, ma...

CST 489-499 - Module 10

 Week 10, This week was a bit more involved than last week in terms of contribution to the project. Overall, the core features are being implemented at a much faster rate than last week, but I feel I'm not going as fast as I want to. I was able to get the image uploading working, although right now it is not connected to the feature we want it for.  Additionally, I've been working on the main feature (board game event/match creation) for quite some time, however, it took quite a bit of code changes as more and more got implemented. The reason being that we need to reuse some of the code in different areas, and it involves many different parts of the database, more than I thought would be needed to start implementing the event creation. On the bright side, I also feel more confident in working with the database itself, but it is fairly different from what we are used to. For instance, in MySQL, you would create separate tables for different types of entities and relate those us...

CST 489-499 - Module 9

Week 9, The last two weeks, for the project, I was able to get android studio updated and running the project. There were a few snags that slowed us down a bit, but we got back on track. We were able to start testing with the chosen database, board game API, and an additional feature we needed, which was cloud storage for part of the features we wanted to implement, uploading photos. The plan for the following week is to tie the core features together with what we tested which will allow users to create a board game session and upload images with ease of use. Because the API/chosen database/cloud storage is different from what we usually work with, we had to make sure we can get those working individually in the first place before connecting everything together. At the moment, everything is relatively going as planned, if not we are a little bit behind, but as the team and I are getting the hang of the features and our workflows, we are starting to speed up. I mentioned earlier that we...

CST 489-499 - Modules 1 - 8

  Weeks 1 - 8 This is the first week of CST 489-499 - Fall 2025 Capstone, and this journal entry summarizes what we did in the planning section of the course.  First let's start with the main objective of the prep course. The capstone project can be worked on as a small team, or as an individual. In my case, I’m working with a team, and our project proposes a mobile application that allows the user to track and organize board game nights with friends. For instance, a user can schedule a game night session with their friends, keep track of scores, who won or lost, upload photos of the session, earn achievements, etc. Part of what was done so far was to develop a proposal paper for the project which goes in depth into the general idea of how we are going to approach the project, and important factors to keep in mind, such as risks and dependencies. After which we were able to start our development of the project. Other than the capstone project, we were also tasked with updating...

CST 329 - Module 7 & 8

  Week 7 & 8, The last two weeks and their modules take it up a notch with the use of first order logic. We look more closely at how to make more advanced first order logical statements using a combination of universal/existential quantifiers, and the different types of logical statements, such as conditional, “and”, “or” etc. For instance, how can we translate a complicated english statement into first order logic, given some domain, premises, and variables. How can we translate sentences with limitations, such as “There are at most two apples.”. This example can be done by saying “If you pick out an apple, and an apple, and an apple, then you will have picked out (at least) one of these apples more than once.” Which looks something like “AxAyAz[((Ax ^ Ay)) ^ Az) -> ((x = y v x = z) v y = z). So a seemingly simple statement looks very different from what you would expect in first order logic.

CST 329 - Module 6

  Week 6, This week's module adds onto the first order logic, including how we can use them in proofs. Last week, I mentioned that we can refer to samples of a domain using “for all” and “there exists”, but how do we use this in a proof? Sure, we know if anything in a domain is a human, then it is mortal, but how do we use that to say Alice is a human, so she is mortal? This is where the new tools for proof come to play. We can use a universal instantiation, which allows us to use that statement referencing the domain and generalize it to something we can use, a symbolic term or representation of something. Kind of like saying Alice can represent some piece of that domain, thus allowing us to get to the conclusion we want. This works similarly with the existential quantifier “there exists”, but with its limitations because it's easy to say that Anything can include Alice, but it's not quite the same for something can be Alice.

CST 329 - Module 5

  Week 5, This module introduces us to another way of writing logical statements. Instead of using propositional logic, we use first order logic. Propositional logic is good for establishing relationships between general objects, but when it comes to things more specific, like multiple named individuals, then it falls apart. That is where first order logic comes into play. Here we can establish a person as a variable, and a statement as a function. For example, we can say that “a” = Alice, and “Fx” = x is tall, thus “Fa” = Alice is tall. This allows us to make more accurate logical statements and proofs. Additionally, we can establish domains of groups. Maybe a domain can be all CSUMB students named x. We can refer to everyone in that domain as Ax, or “for all CSUMB students”, or maybe we want to refer to at least some student Ex, or “there exists some CSUMB student”.