Posts

Week 4 learning journal CST 363

Briefly summarize 5 things what you have learned in the course so far.   What a database is, why we use a them instead of spreadsheets Basic SQL terms like table/row/column and how they relate How primary/foreign keys work How to join tables, group data, and use subqueries to answer questions. How to make ER diagrams, turn them into tables, and reduce duplication with normalization. List at least 3 questions you still have about databases. When is a join better than a subquery, and when is HAVING better than WHERE? How do I know when to stop normalizing (1NF, 2NF, 3NF) for a real project? Which columns should I index first, and how do I check if the index is actually used?

Week 3 learning journal CST 363

What is an SQL view.  How is it similar to a table? In what ways is it different (think about primary keys,  insert, update, delete operations) ? A view is a saved select query that acts like a virtual table, so I can query it and join it just like a real table. It is similar to a table because it shows rows and columns and I can use the same select syntax on it. It is different because it does not store data itself, it usually does not have its own primary key, and many views are read only, so insert, update, and delete only work if the view is updatable and maps each row back to one row in a base table. We have completed our study of SQL for this course.  This is not to imply that we have studied everything in the language.  There are many specialized features such as calculating rolling averages, query of spatial data (data with latitude and longitude) coordinates, and more. But take a minute to think about how SQL compares to other programming languages such as J...

Week 2 learning journal CST 363

SQL has the flexibility to join tables on any column(s) using any predicate (=, >, < ).    Most of the time the join will use equality between a primary and foreign key.   Think of example where joining on something other than keys would be needed.  Write the query both as an English sentence and in SQL.  If you can't think of your own example, search the textbook or internet for an example. English: Match each student to any course that gives more credits than the number of credits the student has already earned SQL: select student.name, student.tot_cred, course.course_id, course.credits from  student join  course on  course.credits > student.tot_cred; What is your opinion of SQL as a language?  Do you think it is easy to learn and use?  When translating from an English question to SQL, what kinds of questions do you find most challenging? This is the first class where I have really focused on SQL. TO be honest, I do find...

Week 1 Learning Journal CST 363

Relational database tables and spreadsheets look similar with both having rows and columns.  What are some important differences between the two? A database is structured and enforces rules, while a spreadsheet lets me put almost anything anywhere. Databases can link tables and handle many people editing safely at the same time. They’re also better for large data, with real security and backups, whereas spreadsheets can get messy and break. Installing and configuration a database and learning how to use it is more complicated that just reading and writing data to a file.  What are some important reasons that makes a database a useful investment of time?  It keeps my data accurate and saves changes safely even if something goes wrong. I can ask complex questions with simple queries instead of fighting with formulas. It also supports multiple users and backups so a project can grow without chaos. What do you want to learn in this course that you think will be useful in your...

Week 7/8 CST 338

I can't believe I've made it. When I saw Hw01 the first time I was so convinced there was no way I was going to survive this class. And yet, after every assignment thus far I have felt so accomplished and honestly proud of myself. It is easy to doubt yourself when there is a big challenge in front of you, but finishing it is such a relief and like Dr. C says, definitely a victory. Looking back at where I started from where I am now I can say that I've definitely stressed more, lol...but i've also learned a lot! I've gotten more comfortable using IntelliJ, and surprisingly android studio. The first time I saw android studio I was like, "No way, absolutely not", but now that I've worked on it more it doesn't feel too alien to me. I've gotten more comfortable with working with multiple files, with understanding polymorphism, and with remembering to write my javadoc comments. Working with a team for project 2 has been good for me as I haven't d...

Week 5 CST 338 Learning Journal

Who did you work with? I worked with Sami Hobson and Luis Valadez. What was your strategy for solving the Markov assignment?  Did you start writing code right away? Did you plan it out on paper?  My strategy:  For this assignment, I started by looking at the UML diagram and used it to guide how I set up my class. I began with the constructor and declared all the required fields so the overall structure was in place. After that, I didn’t follow the exact order of the method list in the project file. Instead, I built the methods based on how they were connected. If one method called another, I made sure to write the called method first. I focused on building the most independent methods first—the ones that didn’t rely on any others—and then moved on to the ones that used them. This approach helped me test things step by step and made it easier to build the more complex parts of the program later on. What was THEIR strategy for solving the Markov assignment? Luis's strategy:...

Week 4 CST 338 Learning Journal

With whom did you work? I worked with Sami Hobson and Luis Valadez.  What was your strategy for solving the assignments?  Did you start writing code right away? Did you plan it out on paper?  My strategy was to start with one file at a time. I started monster.java first and explicitly followed the UML diagram for instantiating the variables and fields and methods. Before building the chunky methods I created 4 other branches, each with an individual monster in it, ex: electricRat, flowerDino, etc. Once I finished building my concrete implementations, I was able to build the chunky methods in monster.java without getting errors saying my electricRat or other monsters didn't exist. I don't like red errors lol. After building my chunky methods in monster.java I had to do a lot of debugging. I ran my tests and a lot of them passed but had some things I needed to fix. Got that done, everything ran smoothly, just happy to be done with it! What was THEIR strategy for solving the...