Wednesday, December 14, 2016

CST 438 Week 8

Week 8

I don't know why, but this entire course I've felt very behind. Like, I'm just barely turning assignments in on time. I'm either getting a little burnt out or there's more work in this class than there has been in previous classes. I'm really glad it's the last week and I've spent all of my spare time this week working on the final paper. My company has a holiday party on the last day to turn in our assignments (Friday), so I'm feeling even shorter on time for this last assignment and am really pushing to get it turned in a day early (Thursday). I was hoping to get to work on the group project, but the amount of detail (and diagrams) required for the paper has made that no longer an option.

There were a couple of diagrams for the final paper that I ended up creating hypothetically since my group didn't get far enough to complete them, like the E-R diagram. Even with understanding some of them, I still spent a lot of time working on understanding each of them and how they're supposed to look. Hopefully, that works out in my favor. As of writing this, I'm about done with the paper. The paper is written and my diagrams are complete, but the paper itself still feels a bit choppy and is too long. I believe it's because there were so many questions to answer. Attempting to piece them together and make the paper flow well has been difficult, but I'm practically done. (woo!)

Looking forward to the short break after my final in my other course, Computer Architecture, until Design and Analysis of Algorithms begins.

Saturday, December 10, 2016

CST 438 Week 7

Week 7

The final exam (or assignment) was my primary focus for this week. It was a bit challenging and required some set up because the first two questions had their own programs to import into an IDE and run. However, I think I did okay and will spend the rest of my time focusing on the final paper (due module 8). If I have additional time, I'll contribute to my group project some more.

There were a lot of topics covered in this course. I was familiar with some and not so much with others. Personally, I learned a lot about different diagrams. I already had experience with database schema UML diagrams and class diagrams. However, sequence diagrams and deployment diagrams were very new for me. I really enjoyed learning how to do those.

Because I work in the tech industry, I was already familiar with some of the development patterns (Model-View-Controller mainly), the different workflows covered (Waterfall and Agile), and testing. This is how I know that these are practices already used in the real world and they're worth paying attention to.

I look forward to wrapping up the final pieces of this course and moving on to Design and Analysis of Algorithms!

Monday, December 5, 2016

CST 438 Week 6

Week 6

The assignment this week covered Gantt charts and team velocity (in an Agile workflow). The Gantt charts are pretty straightforward and show what's called a waterfall development process. It's exceptionally planned and relies heavily on the participants getting their work done in an expected time frame. We used a program called GanttProject to chart a hypothetical project. I found it useful and fun to plan out this fake project.

We also created a draft report (that will turn into our final report the last week of class). This was exceptionally difficult for me to complete because it was so heavily based on how my group worked together on our group project that we're currently working on and what we've built. My team has not been very team-like and we haven't had a chance to review any code for each other. Additionally, nothing is really built out yet and we're still looking at a bare bones application. I started two applications a few weeks ago (one for the server and one for the client) that still need to be filled in. However, this weekend I did get both of these applications running on AWS instances through Bitnami. That took a long time, mostly because I didn't know that I had to wait a half day for the servers to be created through AWS.

I believe that everyone is struggling to complete the normal course work and contribute to the team project at the same time. There are people behind in work that are still trying to get caught up on old weeks. Because the group project doesn't have any direct point value on our grade, I believe it's put off until last and results in students not contributing to the group project. I understand why it has the least priority for my classmates and I don't blame them for putting it off.

Monday, November 28, 2016

CST 438 Week 5

Week 5

Thanksgiving zipped by this week. I had some time off and was able to spend some of the time working on assignments in addition to visiting my family. It was very needed and appreciated. I spent all of Wednesday trying to get the initial project set up for my team. A pull request was submitted for it, but my team has been very busy and didn't have the time to review it over the weekend. Once we get the initial project set up, I believe I can tear through a good portion of it. I'm looking forward to getting it done and getting through this course (we're getting so close!).

Outside of the group project, our assignments have been focused on code reviews and team participation. I believe this is very crucial and relevant to the real world. I appreciate the assignments on the subject.

Tuesday, November 22, 2016

CST 438 Week 4

Week 4

This week was unexpectedly difficult due to me getting sick over the weekend. It took out a bunch of time that I would have used getting work done. Because I had a midterm in my other class on Monday (Computer Architecture), we didn't have any assignments. This significantly helped me get more done in this course over the weekend.

The assignments were pretty straight forward. We had a midterm but the questions all seemed reasonable. I still struggle with many of the diagrams. Hopefully I understand them enough to have done okay on the midterm.

Getting together and working with my team has been going okay. I feel like everyone is working very hard on their other assignments and haven't had the time available to put into our group project. I'm hoping, with the lighter workload next week, we will be able to get going quickly.

Tuesday, November 15, 2016

CST 438 Week 3

Week 3

This week has been very challenging. I spent almost an entire day this weekend trying to get our project set up in Intellij. I really dislike working in Eclipse and have been able to successfully make all of our previous projects work with Intellij. This time was a bit different because Intellij was automatically generating the servlet files different than Eclipse. After switching to Eclipse again, things went pretty smooth. Hopefully I've completed the programming assignment as expected.

The other assignment that was on building domain models really confused me. I'm okay with UML class diagrams, which represent the class contents and their hierarchy, and the idea of sequence diagrams but these domain models are not structured enough for me to completely understand.

Physically I'm probably the most tired that I have been in the entire program. It's not necessarily related to this particular course but I think it's just being a bit burnt out with my academic and professional work load. With two out of town weddings in the past month and a midterm this week, I am really looking forward to Thanksgiving break. Lots of cooking and studying to do! I'm also looking forward to moving on to larger group projects. Working on large assignments tends to help me keep my head in the game.

Tuesday, November 8, 2016

CST 438 Week 2

Week 2

This week and the weekend were exceptionally busy for me due to being a bridesmaid in my cousin's out of town wedding, making it difficult to complete my assignments. The assignments are a bit rushed, but it should be the last crazy week for me and this course (thank goodness!).

The topics this week included writing program requirements with UML diagrams and unit tests. This take on UML diagrams is new for me. I am very unfamiliar with them and I don't believe I have completely understood them correctly. However, I'm very familiar with unit tests. I've worked on several professional projects where I had to write them (ended up writing ~300 unit tests per project). They're tedious and can be exhausting to work out, but they really do help you catch mistakes.

I thought that my understanding of unit tests would help me breeze past the work this week, but it's been a lot more in depth and time consuming to work through. The system tests we got for our project were giving me errors, causing me to have an unexpectedly difficult time.

Monday, October 31, 2016

CST 438 Week 1

Week 1

This week has gone pretty well. I'll admit that I haven't put as much effort into it as I have other courses and I assume next week will be the same for me. I knew this fall season would be very rough on my personally and academically.

The content covered this week was a combination of version control systems (including git), GitHub basics, and the agile process. I'm familiar with all of these things, but I haven't really read into them before and had more of a hands-on learning environment when I initially learned all of these. I definitely think that helps when trying to absorb the assortment of information.

Our project this week was a very simple hangman website (served through HTTP server). The basic code was initially written by our professor and we only had to fill in the implementation. There were some unexpected snags that directed me down the path of learning more about java jar files. It wasn't part of the instruction but I felt like I came out of this week understanding them better.

We were also placed in groups this week. We have a very basic assignment (coming up with a topic and posting the requirements) for the first week and I'll be interested to see how my new group works out. My last group was pretty fantastic, so they have some serious shoes to fill (heh).

Saturday, October 22, 2016

CST 338 Week 8

Week 8

Woo! It's the final week. I'm very happy to see it here. I did really enjoy this course, but I'm ready to move on to the next topic.

This week we had some flexibility (really, a ton!) with our final project and that was a bit difficult for me. I felt like I was too concerned about making a project that really stood out. In the end, I decided to go for simplicity and to get the project completed. I chose to implement a super simple command-line driven recipe book. The user can't write to it, but they can navigate between the pages. I think that's good enough for this time around.

Specific Prompts

They say hindsight is 20/20, what advice would you give to the next cohort regarding this course?

I have a few suggestions for the next cohort that takes this course:
  1. The last assignment requires the use of an IntelliJ product called Android Studio. Begin using IntelliJ from the first day of class and this application will feel familiar.
  2. As far as the actual studies go, begin each project early. The 4-hour estimates are way lower than the time that is actually required for each assignment.
  3. Read each assignment over before/after you work on it for the day and make sure you follow the guidelines. Double check if methods are supposed to be private/public! You'll get some points marked off if it varies from the assignment description.

How much do you envision using the skills you gained in this course in your career?

This course covered a ton of material that's extremely useful in day-to-day programming. Granted, some of it's pretty Java-specific and many students may never come into contact with Java. Professionally, I've encountered many of the topics taught. I believe that knowing more of the design patterns would have also been useful and hope I'll get to see some more in future courses.

Saturday, October 15, 2016

CST 338 Week 7

Week 7

This week has been easy breezy! I really enjoyed learning Android Studio and getting a simple little application running. Because I've been using IntelliJ (Eclipse was recommended) for this entire class, it was an easy transition to Android Studio (because they're the same).

The application we created doesn't actually do anything, but it's fun to see the possibilities. Looking forward to my last set of assignments and wrapping this course up!

Specific Prompts

Have you ever created an app before, either for Android or iPhone? How did it go?

This was my first time creating a phone application! I have created plenty of web application, but never a native phone application. I'd like to dig into it more, learn how sessions are kept and actions are performed.

Do you have any ideas for apps that you could create for recreation? What about business?

I have definitely come up with some phone applications. The primary one I wanted to work on is a coffee log where a user can record the type of coffee they drank and the grind, brew method, wash method, the region the coffee was grown, and all other kinds of coffee drinking details.

There are also some web applications ideas that I have that could easily be converted into a phone application, like my idea to create an emergency preparedness website. In a phone application, it could serve as the source for where the user's family wants to meet when a natural (or unnatural) disaster happens. It could also send the user push notifications when a natural disaster is expected and remind them of the items they need to prepare for their particular type of disaster for the case that it actually happens.

Tuesday, October 11, 2016

CST 338 Week 6

Week 6

This week has been difficult, but I think my team pulled through just fine. We worked on implementing our project in an MVC pattern and used multithreading to display a timer on the screen. I'm happy with how it turned out. This was our last group project of the course. It's been fun to work with a group again, but I'll admit that I am glad to go back to being a little hermit with my assignments again for a bit. The pressure of getting a good grade for myself and my team is too much.

Because our next class already opened up on the website, I'm feeling a bit overwhelmed trying to also get prepared for that and wrap up this course. I am hoping that I will get through the next couple of weeks without a problem. October is very busy for me socially and it definitely impacts the time I can spend on my academics.

Specific Prompts

What experience do you have with UML diagrams?

I had some experience with UML diagrams, but not for designing programs and class structures. I've primarily used them for databases at work and in some of my recent courses.

Are they used at your workplace? Have you done multithreading in any language before?

UML diagrams are known of at my workplace and occasionally used for database schemas, but not preferred. After several years of producing them, my company found that clients didn't care about them and the developers never referenced them. They found them to be unuseful.

I have used multithreading before at work (in Java, too!) and it has been fine. I've never really had to think about how it was all working. We typically use other libraries and packages that do most of the most difficult things for us. Also, we tend to use them for background processes that aren't so obvious. The most recent thing I can think of is pulling data from endpoints while the application is running and placing it in the cache it for the user to see. It makes the application appear much faster than it actually is.

Did you find Patterns to be helpful?

Yes. I really like patterns in general. They help keep everything in a nice, defined place. Otherwise, the programs can get very out of control. I will say, however, that there's a big difference from the MVC pattern we implemented in this course and what I have seen used in the real world. I think it's the difference between the old style and the new. In the pattern we learned in class, the view does not interact with the controller at all. The one I know in practice has the controller handle everything and the view and the model does not interact with one another.

Tuesday, October 4, 2016

CST 338 Week 5

Week 5

This week has been very wild! I ended up taking a vacation day on Wednesday (when the content came out) because I had weekend commitments that were very time-consuming. I'm so glad I did. I don't think I wouldn't have been able to finish off my work if I hadn't. I also had to create a video this week discussing how I was planning on working on the assignment for this week. It's attached below. I find it challenging to talk about how I plan on solving the assignment without showing some code and giving too much detail. My team really helped me through this week and I am so glad that I get to work on these projects with them.

Specific Prompts

GUI is learned late in the game with Java. Do you think this is helpful or harmful and why?

When working with Java, I do think it's helpful to learn to program GUIs. Especially if you're coming from a language that isn't as verbose (like Ruby, JavaScript, or Python). However, it does feel like a totally different thing so it may be perfectly fine to learn the event-driven style prior to the functional way of programming with Java. Although, learning it in parallel may work too (but I could see it getting confusing). In the end, I think it's important for each person to consider what works for them and what they're interested in. If they have a great idea for a GUI to build, they should work on that and skip the console stuff. Same applies in reverse. Whatever keeps you interested and excited.

Why do think that coding the Swing elements in Java would be more difficult compared to some other languages?

Java is very verbose and usually requires a lot of additional steps and lines of code to accomplish something that something, like Python, can do in a few lines. Depending on your background, it may be extremely challenging to using Swing elements in Java. If someone comes from a Ruby background, they're going to have a hard time. They will probably have a pretty easy time and would prefer it if they are experienced with Java, though. Just depends on the perspective.


Monday, September 26, 2016

CST 338 Week 4

Week 4

This week has been pretty difficult for me and I expect next week will be more challenging due to personal life conflicts with school. Despite that, while difficult, I feel that I was able to contribute to the group assignment pretty well this week. We worked really hard and I'd like to say we did everything correctly, but I'm still expecting to get a few points knocked off because that's how the past couple of assignment have been. My team has been great though and really powering through.

For the project, we focused on implementing a class based on the methods defined by an interface. We additionally got practice working with multiple java objects and having them interact.

Specific Prompts

Give an example of polymorphism and what what be inherited between classes.

An example of polymorphism would be a ProPlayer that inherits Player. ProPlayer would inherit the methods defined in Player, like getName(). However, ProPlayer can override methods in Player to create their own implementation. ProPlayer can add their player number to the getName() method. The only exception to this would be if the methods were defined as static.

After the learning this week, can you identify the difference between Abstract classes and Interfaces? Be specific.

Abstract classes and interfaces are similar in that they both will essentially contain method stubs that are intended to be implemented by a derived class (actually, they're enforced). The difference is that an interface is completely full of these stubbed out methods and an abstract class may have complete methods in addition to their stubbed out methods. Any class that inherits either of these will be required to implement the missing classes. In Java 7 and lower (I believe) one could only implement multiple interfaces and one abstract class, but I think Java 8 allows you to inherit multiple abstract classes now. The main difference is the method implementation differences, but there are other, more detailed, ones too.

Monday, September 19, 2016

CST 338 Week 3

Week 3

I've really enjoyed the time that we've been given in this course to focus on programming assignments. This assignment was surprisingly time-consuming and required a lot of focus. The assignment prompt wasn't as explicit as it had been in the past. It's been really great though because my group has been very on it and we are continuing to finish prior to the due date, which allows me to be obsessive (I am about everything) and check everything again before we submit it. I'm after those points!

The assignment focused mostly on loops and arrays, from what I can tell. We implemented 3 classes that work together (Card, Hand, and Deck). I like that this assignment was just the foundation for a future game and can be used with any card game. I think it displays the potential benefit of OOP very well.

Specific prompts

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

A 3x3 array is likely the largest multi-dimensional array that I've used and it was most likely for an assignment. I find myself using objects the most frequently and don't usually need to model anything larger than a 2x2.

What is the largest that you think would be unwieldy and why?

I would definitely say that a 3x3 and up would be considered unwieldy. As multi-dimensional arrays grow, they quickly become more and more difficult to contain in your head. If the person writing them struggles to understand what they are, the person reading them will likely have a much more difficult time. I like to think I'm constantly writing for a future reader. That helps me keep my code in line and (hopefully) legible.

What does inheritance do for your classes? Have you used it in the past? How?

Inheritance allows like objects to share the same code through a base class. This can be useful, but it often leads to giant messes of hard-to-follow hierarchies. I very seldom use inheritance and, in my specific profession, generally just define completely separate classes. Sometimes I will extend classes, but I can't think of a specific example for when I used inheritance outside of course work.

Saturday, September 10, 2016

CST 338 Week 2

Week 2

This week has been great. We were assigned new teams, which was the first time since this program started and I am very glad to switch it up a bit. Working with my new team was great. Everyone is familiar with git and we utilized GitHub to keep track of our code and share updates between each other. It worked out well.

The material for this week has been Java-specific lectures. I'm very familiar with Java (though I haven't used it in a while), so it hasn't been an issue for me and I feel like I'm cruising along. Working on the program was very refreshing and I found myself getting into finding all of the bugs and squashing them! Once I start, it's really hard to put it down and it made me a bit sleepy at work the following days. I am going to try to settle down and give myself same rest in future weeks.

Specific prompts

OOP is not in all languages.  Have you used one that does not?

Many people don't follow OOP with JavaScript. I use JavaScript very often and most of the time it is not in an OOP way. However, I may be known to utilize prototypes to facilitate an OOP-style language. Other than that, I don't have any experience outside of OOP (unless you count bash).

What was your experience?

OOP has been drilled into my head over time in all of my previous courses. I find it very difficult to not follow it now. I don't feel like it's intuitive and reading through the code can be very difficult. I work with several people that have functional programming backgrounds and I always have a difficult time reading through their work. However, I find it beneficial for me to have exposure to their coding style.

How extensively have you used OOP outside of the classroom?

I have used OOP more outside of the classroom than within it. I work with large applications daily that rely on this principle. It has led me to believe that it's a strong foundation and many people would benefit from understanding it. I'm actually really glad that I am able to go back through and learn it from the ground up again because it never hurts to relearn something. There may be little bits that I have missed.

Are you experience with UML diagrams and do they help?

I'm experienced with UML diagrams, but I wouldn't call myself an expert. I often draw little (simpler) UML diagram for my own reference at work when I'm learning a new application. If the database isn't too large, I'll keep a little picture of one near to understand the application better. Having said that, my work does not use UML diagrams at all. They used to create them, but found that they were never referenced by programmers and the clients didn't care what the database looked like so they were not useful and were a waste of time (money). For my work context, my company is 19 years old and we're contracted out by other companies to build web applications.

Friday, September 2, 2016

CST 338 Week 1

Week 1

Here week go again with a new course! We began this course with a pretty straight-forward string manipulation assignment that is going to be our only solo assignment for the course. Starting week 2, we will be grouped into new groups for the following assignments. We haven't had to work in groups for the past couple of classes and I have enjoyed it because I can work on my homework on my own time. I'm not super excited about having group work again, but I understand the benefits of doing so.

The solo project went fine. I read in the material that we will be deducted points if we use functionality that hasn't yet been taught. That makes me a little nervous and I found myself going back to the lecture notes often to make sure that I wasn't using something that wasn't there. I have taken several courses in Java and have worked with it professionally (and still do every so often). It makes it a bit difficult to remember where we're at in our guided instruction.

Specific prompts

Have you used Eclipse before?

I have used Eclipse in both courses for school and professionally. However, I switched to IntelliJ and found that I prefer it for Java development. I primarily switched because the dark theme that I was using at the time for Eclipse wasn't consistent with the toolbars. So, the text editing portion of the editor was dark and the navigation and side panels were white. I look at a computer a lot and prefer dark themes for things that I spend a lot of time looking at. After getting used to IntelliJ, I couldn't turn back. Everything felt so much more natural in it compared to Eclipse. For this course, I will continue to use IntelliJ, while using the same style settings that the professor prefers.

What languages are you proficient in at this point?

The language that I'm proficient with varies depending on when you talk to me. Two years ago, prior to working my current job, I would have replied with Ruby. Shortly after, I would have said C#. Now, I would likely respond with Javascript or Java because that's what I've been using the most lately. If I were to list languages on a resume right now, I'd likely only put Ruby, Java, and JavaScript.

What is your desired field of Computer Science at this point?

I'm employed full-time as a web developer. I'm very happy with it and don't see that direction changing anytime soon. However, I'm not opposed to changing my career goals and I probably will at some point.

Friday, August 26, 2016

CST 361s Week 8

Week 8

I'm so glad that this is the last week of this course and we get to move on to more technical courses. I do see how service learning can be a beneficial course for students because they develop themselves by servicing others, gain connections in the community, and may get to work on products that solve real-life problems (not hypothetical assignments developed by instructors). However, this is not what I am looking to get out of school at this time. What bothered me most about this class is that it was more expensive than the other courses because it was assigned 5 units instead of the usual 4 units. It was difficult and time consuming, but I don't necessarily want to pay more because of that.

I've wrapped up the final material for this course, a written final report and a mini documentary, and am ready to begin the assignments for the next course that are already released.

The final report was pretty straightforward to complete, but the mini documentary took a bit more time. Last weekend I went to the Santa Monica Pier to get some background footage or filler footage for it and I've basically spent the whole week working on it in chunks. I put together some slides and transcripts over the weekend. Throughout the work week I recorded portions of the video and then spent the final two nights piecing it all After publishing it, I realized that I messed up aligning the audio on a slide and put it in the wrong place (whoops!). I didn't want to go through the whole process of republishing ... so it's just going to have to be. This may be a teaser, but I don't really want to share it publicly so I won't be listing it here this time.

Saturday, August 20, 2016

CST 361s Week 7

Week 7

The material for this week was extremely brief because there are a week and a half to complete two modules. There was a quick assignment to go over and understand the fourth service learning outcome, which is multicultural community building or civic engagement and that was pretty simple and straight forward. The only other assignment (other than internal forum posts and blog entries) was to read Five Ways Social Entrepreneurs Use Technology to Increase Their Impact. This article describes how social entrepreneurs can better use or interact with technology to drive their idea. First, the author describes the importance of hands-on experience with building technology as opposed to only learning it. By giving women the experience of working with technology and solving problems, we can come closer to closing the gender gap. The article also says that it's beneficial to have stakeholders in a project, alter the perceptions of society and people marginalized, and share data with the community.

My service learning hours are actually complete, but I have been doing a few things to wrap up my work with my service learner outside of this course. It's been exhausting and I'm really glad that I can wind down a bit for a week before my next two courses begin again.

Sunday, August 14, 2016

CST 361s Week 6

Week 6

This week was much lighter work-wise and I really appreciated it! I was able to get a lot more done on the website for my service-learning partner. I'm really happy with the work I've been able to do and I hope that they like my improvements. I attempted to make their website more admin-friendly while I completed tasks by adding useful content to their dashboard, cleaning up the navigation links to only the ones used, and also renaming some of the links to be clearer. I put a ton of hours into working with my partner the past couple of weeks and completed 30 hours worth of work. I've sent off all of the forms to wrap up that portion of the course and will get it turned in soon.

As for the coursework, we basically just created a storyboard for our mini-documentary and did some reflection assignments (video and analysis of vide). They're pretty straightforward, but I definitely struggled with the documentary portion and will likely struggle more with creating the documentary itself! Working remotely has extreme disadvantages here, but I'll use what I have access to in order to make something that is hopefully at least presentable.


Sunday, August 7, 2016

CST 361s Week 5

Week 5

The reading this week covered the difference between equity and equality in regards to social justice. It's interesting to consider the difference and what it is that we're striving for exactly when advocating for social justice. Overall, we just want everyone to have the same opportunities. The videos this week were about Black Girls Code and their mission and how gaming can change the world. Both of the videos highlighted how technology can make an impact. Black Girls Code gives young black women a potentially new opportunity through learning to code. Additionally, they are helping to add diversity to the tech industry. The second video suggests utilizing games to change the world. It's an interesting idea and I think it could take us somewhere when more creative minds get involved.

We continued learning about project management through Coursera's Project Management Basics course. The course itself is fine and relatively interesting. It may be nice to follow it up with the Agile development ideology since it's so prominent in the tech industry right now (even if it isn't ideal for projects).

I'm putting a lot more time into my contributions with my service-learning partner. After posting the basic information they wanted to their website, I'm now able to focus on the larger portions. In particular, I'm focusing on adding an event calendar. This has been a bit difficult because I don't have direct access to their server and I'm trying to manipulate the website through their drupal system. Hopefully, I'll get that figured out soon.

Sunday, July 31, 2016

CST 361s Week 4

Week 4

The reading this week was interesting, as usual. I really enjoy that it is the kind of material that makes us consider the world around us. An article we read was about an African American man that brought himself to the tech industry and is continuing to bring more diversity into tech through his company, Walker & co, and Code2040. A video we were assigned this week brings to light where our electronic waste is illegally going (and it isn't pretty). That's posted at the end of this post. We also had to watch videos on project management through a course on Coursera. The material is good and fine, but I don't really think that it is appropriate for this particular class.

This week we also had check-ins with Dr. Tao and our TA, Cassandra. The check-in was fine, but I'm still feeling very behind and it definitely helped keep the pressure on me. It's a good reminder that I can't be lazy so I can get through this class!


Sunday, July 24, 2016

CST 361s Week 3

Week 3

The content to read and watch was shorter this week probably because we had to do a project called the "community scan". This project requires us to go into communities that we aren't necessarily comfortable with and interview residents, take photographs, and analyze the community in general. It's pretty uncomfortable and I really hope we don't have to do another project like that again. The reading this week was nice because it encouraged us to take into consideration what other people feel and not impose how we feel about things on them (specifically speaking of the "Golden Rule"). The video we watched showed how different learning centers are using technology to teach kids to play, learn and explore. The video is at the end of this post.

I am behind on hours with my service learning partner and I am hoping to make that up this week. This was the last week of my other course that has been very reading and writing heavy. I expect to have a lot more time to dedicate to my service learning partner now. Trying to balance everything has been very difficult and I feel really bad for not being able to put that much energy into working with my partner.


Sunday, July 17, 2016

CST 361s Week 2

Week 2

This week has been very busy for me. I have one week left on my history course that I'm doing at the same time as this one and I can't wait for it to be over so that I can put more effort into this service learning course. Additionally, I've had a late start with my service learning partner and am just barely getting the paperwork turned in so I haven't had the opportunity to get working hours in. I'm hoping that this next week I can swap that all around.

The course work for this week has been really interesting. We read some case studies on schools that are local to Los Angeles and how they have and haven't been working with technology. I believe that our academic system is embarrassing and I really enjoyed hearing more about how other schools are handling their lack of funds and lack of quality instructors. In LA, I also believe that there's an issue with the housing marking. Teachers don't get paid enough to live in LA and it really impacts the schools in the area. There are a lot of issues from my perspective and I'm glad to see that people are writing about them and making them known.

At the end of this course, we are supposed to create a video documentary. I'm pretty nervous about it because I'm doing it completely remote and won't necessarily have the footage. As I go along, I'm hoping to get some footage of their website and some of the major improvements that I make to it. I also think I'll start recording some audio samples in week 4(ish) that I can put into the final presentation. Getting some general videos of the beach or something would probably be good. I can use that as a backdrop. It'll probably be Santa Monica, but one can use their imagination to believe it's Monterey Bay instead.

Saturday, July 9, 2016

CST 361s Week 1

Week 1

We're already in the first week and I've been extremely stressed out because I don't have a finalized service-learning partner and we're basically out of time. Additionally, I'm in the middle of a reading heavy history course through another college (which ends in ~2 weeks) that has made it very difficult to send out more emails and line up service partners. Honestly, I didn't think it would be so difficult but I'm finding that my work hours make a lot of the in-person volunteer work unavailable to me.

As far as the reading for this course has gone this week, I've really enjoyed the topics. They're relevant to what's going on in society right now and since the founding of this country. We've read a couple of items on what makes up someone's identity, social privileges, and social marginalization. It's really important to try and be empathetic with all different types/groups of people and I think we can always use reminders of this.

I'll hopefully have finalized a service-learning partner next week and will have more to say! I've a couple of leads, but we will see what happens.

Tuesday, June 14, 2016

CST 311 Week 8

Week 8

The material for this week is much smaller because it is due the same night that week 7 is supposed to complete. Because of this, it's also been a very rough final week with regard to assignments. The material assigned for this week covered the link layer and switches. This seems like a pretty straightforward topic after covering routers in the previous week(s). The routers send data (datagrams) based on IP addresses and the switched send data (frames) based on MAC addresses. Switches are intended to be used within a network.

I'm really glad this course is coming to an end. I've enjoyed it in the sense that it has been challenging and I feel I've learned a lot, but I'm exhausted and it's been very difficult to maintain my study discipline. There are three days until the final exam. I have spent the past seven weeks studying consistently in my free time. I'll likely relax a little and do some light review each night leading up to it. Because this is not a subject I'm already familiar with, I'm less focused on my grade for this course and have been more focused on actually understanding the material. I know it'll be useful in my career (it already has been a bit!).

Wednesday, June 8, 2016

CST 311 Week 7

Week 7

This week has been very difficult because it's a full week of material and we also have to do slightly more than half of week of material ("week 8") during the same week. Both weeks opened at the same time and close at the same time. I wasn't too worried about it until I got to homework #10, which was to come up with the routing table for a particular node in a network using the distance vector algorithm. I wanted to make sure I completely understood it (it took a lot of videos and reviewing the textbook). The textbook wasn't very helpful for the distance vector algorithm. It does a good job of explaining what's happening in the network, but doesn't use accurate mathematical syntax and has a some very confusing pseudocode to explain the algorithm. The videos were helpful, but weren't very precise on the steps needed to complete the second iteration of the algorithm. The topic Dijkstra's algorithm was much easier to follow (and was assigned in homework #9). This was the first half of the week that covered the rest of the Network layer.

The second half of the week began covering the link layer. There were a couple of longer videos on this topic. They covered parity errors and MAC protocols. The one on MAC protocols was long because there were a lot of protocols to cover. They're divided into separate kinds, which are channel partitioning, random access, and "taking turns" protocols.

The lab was focused on ICMP and traceroute, which I can't even remember if we have had this topic presented to us. These concepts are all completely new to me and trying to remember all of the details (and acronyms!) is very hard. It definitely worries me about the exam because the exam is worth 1/4 of our grade, I'm not a great test taker, and it's closed book. One more week of material left and I should have adequate time to relax a bit and review all of the topics covered for the final.


Tuesday, May 31, 2016

CST 311 Week 6

Week 6

There were a lot of videos to watch this week and a there was plenty of information covered. I struggle to remember everything after doing the lab and homework assignments, which focused on performing traceroute commands to obtain router information, implementing the longest prefix matching forwarding tables, and reassigning IP addresses using DCHP (analyzed with Wireshark).

I'm hoping the upcoming weeks are short again so that I can get through that material and get enough time to review the material from the past two weeks. There's been a lot of information and I've been doing my best to keep up with it all and take it all in, but it's very difficult.

Tuesday, May 24, 2016

CST 311 Week 5

Week 5

This week was pretty intense content-wise. This has been the most challenging course for me in this program, but I am happy about it. I feel like I'm walking away each week with a new understanding of how the internet is working. It definitely helps me feel more in-tune with my surroundings at work, too. This week at work we have been having some frustrating issues with the VPN client, Pulse (Juniper Networks). It drops a lot of packets when a particular packet size is sent. If I recall correctly, it's hitting the congestion window size. I didn't understand all of the specifics of it, but I could at least somewhat follow the conversation around it and I thank this course for that.

This week we covered TCP's sequence numbers and acknowledgements, reliable data transfer, connection management, and TCP's congestion control algorithm. However, I heavily focused on TCP's congestion control algorithm. There was a quiz this week that was pretty difficult for me after reading the textbook and re-watching videos on the topic, but I think I figured it out okay. I felt like some of the concepts were just taking a really long time to click. One of the professors sent out some videos as additional resources and one of those ended up helping me, but it's also possible I was just more awake when I was working on the problems.

Monday, May 16, 2016

CST 311 Week 4

Week 4

This week caught me off guard because I didn't look at the due dates well enough to recognize that both week 3 and week 4 were due the time that week 3 was due (meaning week 3 and week 4 were combined into week 3). Week 4 is actually a week off to study for the midterm on the Saturday of the actual week 4. There were lighter work loads for both week 3 and week 4, but they were presented as being lighter to give the students more time to study for the midterm and I didn't read it as two weeks condensed into one. It would probably have been more ideal to just tell us all that all of the material was for week 3 and there isn't material for week 4 to give us time to study for the midterm. So, I found this frustrating. I always do my assignments as quickly as possible at the beginning of the week so that I don't have to waste my energy on stress surrounding deadlines.

As for the material, we covered the transport layer in more detail, multiplexing, demultiplexing, and UDP. The point of the transport layer is to provide communication between the host's processes. Multiplexing is done at the sending host and adds a transport header. Demultiplexing is done on the other side (receiving host) and breaks apart the header to send the data to the correct socket. UDP is an unreliable, unordered delivery protocol. Our Wireshark lab was focused on UDP this week.

We went into a surprising amount of detail this week with regards to calculating the checksums on UDP headers. The checksums are used to quickly check if a UDP segment has an error or not. While they're not a reliable way of checking for errors, they can help signal that something may have gone wrong. To do the assignment we had to understand binary addition. I'm glad I'm also enrolled in an Operating Systems course that taught me how to add binary numbers this semester because this course didn't provide any assistance there and it was necessary to complete the homework assignment. Calculating a checksum is done by doing this:
  1. Add two binary numbers (we added bytes, UDP uses 16-bit integers).
  2. A "wraparound" will be at the beginning of the sum (0 or 1) at the number of bits you're adding plus 1 decimal place.
  3. Remove the "wraparound" from the beginning of the sum and add it to the rest of the binary integer.
  4. Flip all the bits to be the opposite (0101 -> 1010).
  5. That is the checksum!

Sunday, May 15, 2016

CST 311 Week 3

Week 3

I got behind a bit this week due to the lab taking me a long time. Many of the prompts that we were supposed to perform didn't work because the DNS servers were no longer public or no longer existed. I made the best of it and used alternate ones and also relied on the results that the author of the Wireshark labs had received. I also work on OSX, so I've had to find the equivalent commands of those that are provided in the lab (Windows commands).

The content covered this week was SMTP (Simple Mail Transfer Protocol), DNS (Domain Name Service) and how various applications utilize these. These are all very relevant to what I've been doing at work. Coworkers have explained parts of these to me, but I just didn't completely understand some of the tools I was using. I've enjoyed becoming more familiar with the tools that have been presented this week. I've used ifconfig (ipconfig equivalent) at work to find my IP address at work pretty frequently.

We watched a video, called "A Day in the Life of an Application", that explains how some services work. I really enjoyed learning how a voice call works over Skype and how peer-to-peer sharing work. I'd heard of (and used) peer-to-peer sharing systems in the past and never really understood what was going on under the hood. I love the idea of being able to obtain data from several people that are also downloading the same content. Now I understand why you'd want to have many people downloading the same thing. All I used to understand was that it was faster and more likely to complete when there were more users.



Sunday, May 8, 2016

CST 311 Week 2

Week 2

This week has been very informative and took be a bit longer to complete in comparison to last week. That may be because I took more detailed notes when I watched the video to help me complete the quiz for the end of the week's content. I think it was beneficial to take the notes. Even when I didn't capture the information that I needed there, I was able to go back and reference the correct video to get the information I needed.

This week we've been focused on HTTP and FTP. Getting to know the different protocols has been very interesting. I had a general idea of HTTP, but no knowledge of FTP. It's really interesting that FTP opens an additional port to transfer data and then closes it immediately after the data is sent, but keeps one open regardless of the data being sent.

A simple socket programming exercise was sent out this week. I've been working on it in Java (there's a handful of languages to pick from). So far I haven't had much luck, but I am going to continue chipping away at it. I think it's a really good exercise and I personally benefit from hands-on experience, so I'm really happy about this extra credit assignment. Really, I wouldn't be too upset if it were a regular homework assignment.


Saturday, April 30, 2016

CST 311 Week 1

Week 1

This week has been great. I've learned a ton of new information already. I'm nervous I won't be able to retain it all for the exams. I didn't make notes while watching the lectures this week, but in the following weeks I'm going to start putting together quick reference sheets. When I took this week's quiz, I found that I had to go back to find information and I had no idea where it was.

This week we learned how the internet is all connected and had a quick overview on how it operates by sendings packets between hosts. We also dove into understanding throughput in a connection and what the delays in sending a packet are.

Delay times for a packet on a network seem to be the most notable information for this week:

dend-to-end = dproc + dqueue + dtrans + dprop

dproc : This is where the packet is processed. Here, the bits are checked for errors and the output link is determined.
dqueue : Time a packet spends waiting in the output link queue to be put on the output link. This time depends on how busy the router is.
dtrans : L/R, where L is the packet length and R is the link bandwidth. This is the time spent placing the packet onto the output link.
dprop : d/s, where d is the length of the physical length and s is the propagation speed. This is the time spent on the link itself.




Saturday, April 23, 2016

CST 363 Week 8

Week 8

This week is our final week. We had a final exam and have been working on a group project, which is to design a database. I've been really happy with my group for this assignment. I felt like everyone came together and really put in a lot of effort. Our database is quite large (11 tables!), but I'm happy with the thought that was put into it. As for the final exam, it was a bit more challenging than I was anticipating and I was pretty discouraged that I didn't do as well as I thought I had.

This course had decent content and it was nice to get to know a new database system (Oracle), but I think this content could have been presented with other databases that are more accessible to everyone, like MySQL or PostgreSQL, since we didn't go into anything that was too Oracle specific and I think that the students could learn to write sequence tables if they need to later on when they need to.

Wednesday, April 13, 2016

CST 363 Week 7

Week 7

The material this week was pretty easy, at least easy to follow. The string manipulation we did was very similar to string manipulation in other regular programming languages. Most of the links were to regular Oracle database documentation and it's all pretty straight forward there. Overall, it's pretty difficult to read documentation when you aren't looking to do something specific so I had a difficult time staying focused there.

This week we covered the following ideas:
  • Creating a sequence table to be used for automatically incrementing values in a table we're already using. The most basic command to get up and running is CREATE TABLE sequenceName. The user utilizes this by calling for the next value, like INSERT INTO tableName VALUES (sequenceName.NextVal, …); (professor's example).
  • Creating aliases for columns. The user has the power to change column names, but they can also temporarily display alternate names just for the temporary use of a particular display. This can be done by adding the alias directly after the column name in a select statement or by specifying "as", like SELECT EName as "Student's Name" FROM STUDENT or SELECT ENAME Stu_Name FROM STUDENT. This can also be done for tables, like SELECT * FROM STUDENT s, CLASS c WHERE s.CLASS_ID = c.ID;
  • Adding padding to the left or the right of a particular string with "lpad" and "rpad".
  • Removing extra whitespace characters to the left and right hand side of a string with "ltrim" and "rtrim".
  • Using "substr" to get a subsection of a string.
  • Utilizing "sysdate" to show the current date. The sysdate variable can be incremented up and down by the day by just adding/removing an integer, like "sysdate+1" to get tomorrow's date. The date can also be formatted for the column to provide more details as well as compared to other existing dates in the database.


Sunday, April 10, 2016

CST 363 Week 6

Week 6

The first section of this week covered SQL queries using group by, having, and order by. Last week I didn't know that the reading for this wasn't supposed to be read yet, so I had already done the reading for these by the time this week rolled around. They're pretty basic and extremely useful, but I honestly haven't used having in my regular work and I can see it being very useful in some cases.

We also covered prompting the user for inputs and saving their inputs to variables for use later in the script. These are done by using the keywords "accept" and "prompt". To get entry from the user, you could do something like:

ACCEPT vUserInput PROMPT 'Enter your input: ';

The variables are accessed by prefixing them with an "&":

PROMPT Your input: &vUserInput 

Finally, we covered sub-queries. They're basically all just a query added into a SQL query in parenthesis instead of using variables, like you might in a regular programming language.

I've enjoyed that this week has been more hands-on. All of our assignments this week have allowed me to utilize the new computer I purchased and also use this Oracle database that many of us worked very hard to get installed.

Saturday, April 2, 2016

CST 363 Week 5

Week 5

This week was heavily focused on entity relationships and modeling the relationships using ER diagrams. The two diagrams we learned are the Chen Model and the Crow's Foot Model. I've played around with modeling database systems using the Crow's Foot Model in the past. It was nice to learn all of the additional bits that I didn't know (like a dashed line indicates that a relationship is weak). Also, the Chen Model is interesting to know, too. It provides a very quick overview of a database.

I'm hoping that we can refine these ER diagram skills and get some hands-on practice in the next couple of weeks. I'd like to make use of the computer that I purchased for this course.

Overall, the material this week was dense and I'm still uncertain about how to interpret some of the "business rules" that were provided in class. I think that there are some odds n' ends that could be left up to interpretation, so I'm hoping that it's recognized that way when the homework from this week is graded.

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.

Saturday, January 9, 2016

CST 336 Week 2

Week 2

This week has been focused on creating webpages with PHP. We were assigned reading from the second chapter of Beginning PHP5, Apache, and MySQL Web Development. We were also assigned videos from Atomic Learning's PHP Training course.

For me, this week and last week are basically once since I messed up on the start date for last week. The projects were pretty basic and we've basically been writing the HTML inside of the strings in PHP. This is my first time working with PHP and I am getting a grip on it, but I am still feeling like PHP is pretty messy and it is complicating my HTML. I get the feeling I'll learn a bit more in the upcoming weeks that will help me clean it up. I'm also going to begin looking at various PHP style guides to better understand how companies keep their code base clean and easy to read. So far, the example videos and code snippets don't appear to have much or any code style discipline. Python, which was used in the last course, has a very distinct style guide. It doesn't appear that PHP does.

We began creating some very simple HTML pages with PHP. Below are my assignments for this week.

Friday, January 8, 2016

CST 336 Week 1

Week 1

I'm a bit late on posting this since I thought the assignments for this week weren't already due (they were due the day after the class officially began and I had gone out of the country during the scheduled break), so I'm late on all of my assignments for this week. The week 2 post will follow quickly after this week 1 post. This week we covered several components that can, and often do, make up a website. We were required to read O'Reilly's Learning PHP, MySQL, JavaScript, CSS & HTML5 Chapter 1 Introduction to Dynamic Web Content and follow along through several videos in Atomic Learning's HTML5 & CSS3 - Basic Training videos. Reading through these were pretty simple for me since I already understood these basic concepts. They are really good things to understand and review though, so I read through all of the materials and watched all of the required videos.

We also created some very simple HTML and CSS webpages. One of them was more free form and the other appears to be our home page where we will link all of our assignments from. Below are the webpages I put together for these assignments. Note that the second can be accessed through the first.