Saturday, March 26, 2016

CST 363 Week 4

Week 4

This week was all about normal forms regarding relations in a database. This week was pretty informative for me. I understand most of these aspects and was actually practicing them a lot in my daily life, but I never knew the names for any of these or the defined normal form steps that would help logically break these up. I was just reasoning about it on my own and eventually getting to a databases that are very close to Boyce-Codd normal form (if not, actually in BCNF). We didn't get to the higher normal forms, but hopefully I'll get to dive into that in the future.

For the exercises and assignments this week I utilized the draw functionality in Google Docs and found it extremely useful and will hopefully find more cases to use it in the future. Although, I probably should have started familiarizing myself with Dia. But, I think Dia will be useful for schema diagrams (assuming we're getting there).

The content from this week is exactly the kind of content I was hoping to get out of completing my bachelor's degree. There are so many concepts and theories that I don't feel I was able to fully know from the bootcamp, but this is making me start to feel like I made the right choice in returning to school to get my degree.

Below are the normal forms that we covered and what they indicate for each table.
  • First normal form (1NF): A table is in first normal form when there aren't any repeating groups, the keys are defined, and all of the attributes are dependent on the primary key.
  • Second normal form (2NF): A table is in second normal form when it meets the requirements of the first normal form and there are no partial dependencies (or no attributes are dependent on a portion of the primary key).
  • Third normal form (3NF): A table is in third normal form when it meets the requirements of the second normal form and there are no transitive dependencies (or no non prime attribute depend on another non prime attribute).
  • Boyce-Codd normal form (BCNF): A table is in Boyce-Codd normal form when no primary key (or portion of the primary key) depends on any non prime attributes. The book describes this as normal form as "when every determinant in the table is a candidate key."

Sunday, March 20, 2016

CST 363 Week 3

Week 3

I'm already pretty familiar with using primary and foreign keys in tables and writing queries on tables with those constraints, so the material this week has been pretty quick for me to get through.

Overall, I've enjoyed this section more than the others up until this point since we've had more hands-on assignments. It's difficult to stay engaged when you're not really trying to accomplish anything. I also enjoyed that we had some examples to work on that didn't have to do with students and classes (they're in every class and they're always the most boring to look at).

We're sending a spool file for credit on our homework and I think that these commands are very useful, so I'll post those here for safe keeping:

-- Display the SQL statement along with the result of
-- the execution within the command line.
set echo on

-- Store the output of running the SQL script to a
-- plain text file in a specified location. The txt
-- file is useful for debugging purposes.
spool C:\Users\{user}\{location}\{file name}.txt

-- INSERT SQL COMMANDS HERE

-- Disable spool (stop printing to specified file).
spool off

Sunday, March 13, 2016

CST 363 Week 2

Week 2

I got my new computer running Windows this week (just in time to install Oracle)! I upgraded it to Windows 10 and have played with it a bit to get more familiar with Windows. There were a couple of hiccups in the installation of Oracle, but overall it wasn't too bad once the two installation directories were properly merged after unzipping them (heh).

As for this week's content, it's been pretty basic. We covered relational algebra and most of the basic syntax for SQL statements. There were a couple of pieces that were new to me, such as the "flashback" command that was mentioned in the professor's slides (textbook doesn't cover it). Also, the idea of division of tables required some extra research to understand. I ended up stumbling upon this slideshow that had some good examples that helped me understand it.

The structure of this course has been very easy to follow. I like that each week is broken up into smaller sections. However, I'm finding that I don't like the textbook. The book felt extremely dumbed down in the relational algebra section. I would have appreciated some examples of how to format written relational algebra statements and some explanations of the symbols commonly used would have helped as well.

Wednesday, March 2, 2016

CST 363 Week 1

Week 1

Our first week of this course has been pretty mild. The assignments opened a week early, so I was able to get a head start. The majority of the material we covered had to do with the pitfalls when data is repeated and the anomalies that occur from that. We also learned the various types of keys in a table (primary, foreign, composite, etc.).

I'm very glad everything opened up early this week. It gives me more time to get familiar with this new course structure. It's also helpful because I also started another course (called Operating Systems) and the junior college near me and I'm very nervous about that one.

This week we were told that we will need a PC to install oracle (PC as in not mac from what I could tell), but I only have apple computers at home. I had considered trying to do something like run a virtual machine on my mac, but I decided that I should just by a machine that I can play with for development purposes. I found a refurbished dell on overstock and ordered that. I'm hoping it will come in time for me to get set up on it and install Oracle.


Saturday, February 20, 2016

CST 336 Week 8

Week 8

This is our last week. We have wrapped up our final exam and completed the last assignment for the course. The assignment this week only added one new bit of information, however it required knowledge from previous weeks to complete. This week the class learned how to upload files to the server and store them either in the database or in the file system on the server. The idea is pretty simple, but can very easy to mess up by keeping track of the files in the session.

Overall, this course has been pretty simple for me since it's in my line of work. I've really enjoyed how structured the professor is and haven't felt like there were any surprises this course (aside from the slightly off first week). I also like his structure of teaching. I have always felt I learn tremendously better by implementing the concepts rather than just reading or listening to the material.

Below is my final assignment for the course.

Monday, February 15, 2016

CST 336 Week 7

Week 7

This week we went through W3 Schools AJAX Tutorials. The assignments this week were focused on using AJAX to retrieve data and JavaScript/JQuery to update the DOM with the retrieved information. This week has been pretty nice for me. This week I was requested to do a quick video demo of my assignment (each student is asked once at a random week in the course). I decided to try the Jing software. The software worked fine, but I ended up having a difficult time trying to convert from their SWF to anything else so that I could put it on YouTube. Everything I tried either didn't work, just had audio, or was watermarked. I ended up using the site that they basically force you to use. I guess that's fine for this demo, but it's likely I won't use that software in the future. As far as I can tell, flash is on its way out (thank goodness!).

My completed assignments for this week are below.

Monday, February 8, 2016

CST 336 Week 6

Week 6

This week we were assigned to read through the lecture material and watch several videos from Atomic Learning's JQuery & JavaScript Basics Training course. The workload was much lighter this week, so that we can focus on the practice exam. This works out well for me, since I'm out of town this week and partially into next week. We only had one assignment, which was practice with JavaScript and JQuery. The JavaScript and JQuery intro has been very simple so far. They're doing their best to distinguish between JavaScript and JQuery, but I imagine that the line is pretty blurry for some of my classmates since they were both introduced the same week. It also doesn't help that the lab used primarily JQuery. I think it would have been beneficial to do two separate assignments (one using only JavaScript and the other using JQuery) to help solidify the idea.

My completed assignment for this week is below.

Tuesday, February 2, 2016

CST 336 Week 5

Week 5

This week we learned about storing user data in sessions (specifically for logging in and out of a website). It was a very quick intro and very simple. We were assigned reading from chapter 12 (titled "Working with Cookies and User Sessions") of Sams Teach Yourself PHP, MySQL, and Apache All in One. The lab assignment was nice this week since we just added a log in to the website we did last week. I'm glad it ended up being short because it allowed me to spend more time on the team project.

I think my team has gone beyond what the assignment detailed, which is good, but it also meant that I have spent time on certain functionality that didn't meet the assignment requirements. So, this project has taken longer than I was expecting.

Below are my assignments for this week.:

Tuesday, January 26, 2016

CST 336 Week 4

Week 4

This week we were assigned to read chapters 15 and 16 from Sams Teach Yourself PHP, MySQL, and Apache All in One. The topics covered basic database design and basic SQL statements (SELECT, INSERT, DELETE, etc.). There are three relationships that help relate data in databases: one-to-one, one-to-many, and many-to-many. These relationships help us to better maintain our databases. The chapter assigned used students as examples for these. This is very useful information, but I would really appreciate new examples. Relating students to classes and professors is a very tired example in academics. I find that this example topic leaves me bored and disinterested.

We've also began our first team assignment of the semester. Our team has been a little late to the start, but I'm sure we will complete it fine. I'm glad we have settled on an idea and started building out our tables.

Below are my assignments for the week (team assignment should be posted next week):

Tuesday, January 19, 2016

CST 336 Week 3

Week 3

This week we covered HTML forms and PHP arrays. We were assigned the videos from section E of Atomic Learning's HTML5 & CSS3 - Basic Training course, videos from section E of Atomic Learning's PHP Basic Training course. I really enjoy these videos. They're extremely insightful and it's easy to follow along. Coming up with what I will do each time to fulfill the assignment's requirements each time is challenging. However, I am very excited about my assignment this week. Since there's been a lot of hype over the large Powerball winnings, I've created a generator to decide on numbers for your Powerball ticket. It ended up being a lot of fun.

Below are my assignments for the week.