Skip to main content

About the Blog

Earlier this year, it appeared to me that finding an actual internship wasn't in the cards for this summer--a combination of limited opportunities matching my experience and desires, many of those not being a fit, and finally getting down to the last opportunity seeming to evaporate left me thinking about how to productively spend my summer. That's when I came up with this idea to not just work on my own project, but to also document it via this blog.

THE ORIGINAL PLAN

I started to imagine the ideal backup plan for the summer. I knew I had some specific knowledge gaps I was hoping to fill out on the job--deploying a project, seeing big projects written by multiple people being pulled together, how exactly professionals go about coding day to day in an office setting, how test driven development works, planning things out from customer requirement to writing the methods.

Some of this, I could do myself. I'm a smart guy. I can force myself to adjust to "red-green-refactor" and write unit tests, though it would definitely be easier following someone's example. I can plan my own iterations based on use cases I've pondered at length. I can toy with my own best practices and develop a good rhythm for making commits and feature branches in my repo. It might not be as smooth as a structured, already-in-place environment but there's no reason I can't deploy my own project while practicing key skills.

However, all of this proved unnecessary as I was offered a chance to intern at OrangeBoy, Inc (side note: they have nothing to do with this blog and this blog has nothing to do with them--all content, opinions, etc are mine and my responsibility). That's not really a good enough reason to abandon all this prep work, so...

THE PLAN NOW

I'm continuing the project in my spare time, in addition to finishing my final semester at CSCC and continuing my internship through the fall semester. This blog will be the place I document my progress, with an eye towards laying out the exact steps taken and challenges met (and hopefully overcome). The overall goal of this blog is to provide a bridge from the knowledge provided at CSCC in basic concepts and syntax to the basic levels of app development, unit testing, and beyond--leaving a trail of breadcrumbs for others to follow into the wild jungle of .NET development.

Popular posts from this blog

Use Cases: The Theory

They told me in my CSCI-1275 Systems Analysis and Design course there's a tendency for programmers to just start coding stuff without thinking, and this was nigh on tantamount to total catastrophe. I didn't fully understand this until a little later in the semester. We had just learned about arrays and collections in my CSCI-1630 C# Programming I course, and I found this to be a perfect excuse to write a little application that would synthetically divide polynomials . (That's a really great way to master synthetic division, actually, if you're interested in brushing up on that skill. Although my wife still insists the time would have been better spent putting more time into my algebra homework. Two types of people...). At any rate, long story short: I made the program work perfectly, for 3rd degree polynomials that divided evenly. Then I realized it broke when I tried a polynomial of the 4th degree. And then again when the 3rd degree polynomial had a remainder. ...

A Word About the Analysis Sequence

I mentioned it earlier at some point, but I'm not following the traditional method of system analysis and design as taught in my class. I'm skipping quite a few steps, and really what I'm planning to end up with is a little disjointed. However, I have some reasons for that--namely that in a situation like this, I feel going whole hog on the discovery phase is redundant. For instance, domain model and entity relationship model. If a student had come to me and described the problem and asked for a solution? Yes. Absolutely. I would need to sketch this out--what things am I working with? Which things are going to live in the database? Does a course have a grade like a planet has a moon, or is a course and a grade more like Mars and Uranus? These are important questions that need answered before you can get into the meat and potatoes. But...I already did that. Months ago. Before I knew what a domain class model even was, but I have the relationships and the entities all l...

Activity Diagrams: Pertaining to the Project

I don't think I'll be posting about every diagram I do--they're not great works of art the world must see, and if you really wanna see them they'll be in the Github repo. But I did want to post something project specific for each piece of theory here. Thus, please see below. I think this is pretty self explanatory, even to the uninitiated. Black dot with no ring is the start point, black dot with a ring is the end of the use case. In this case, we can end the use case by just...stopping, or by going on to the "create course" use case. Which will be a diagram I can link to, hence that weird symbol after the Create Course block. As an aside, I'm using a program called Violet to do my diagrams, and have been for about a year now. It may not be as fancy as Visio or several online subscription options, but I'm honestly more interested in being able to get something on paper (so to speak) quickly, so I can start messing with it. I need to understand...