Skip to main content

About the Project

The project I'll be tackling is not exactly a unique idea: an app that allows students to enter scores and see their running grade. You can find the Github repository here.

The idea is to improve on what is available in portals like Blackboard. They typically either reveal only what's been attempted, or only the points earned in relation to all points possible. In either case, a student has a hard time determining how they stand without doing math and referring to the syllabus--that they hopefully haven't trashed.

I had the idea when I was making out a spreadsheet to figure out my current actual grade for a math class halfway through a semester. I had formulas laid out to account for the weighting of quizzes versus homework versus tests. It was annoying to set up and I did my math wrong a few times but finally had something that worked--as long as I manually updated the point totals earned every time I added a new score.

This was in the middle of my C# Programming I course, and I had an epiphany--I could write a program that would let me set all this nonsense up once using classes and variables and collections of scores and oh my! I spun up the initial, mostly-working console version full of ugly unwieldy code and showed it to the C# instructor...who quite rightly determined there wasn't much to say except "Solving real world problems is totally how you build your skills."

My project is to apply about a year's worth of constant skill building to that old concept, and make something that resembles a useful program.

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...

Use Cases: Pertaining to the Project

So last time we covered the really high level theory behind use cases and why planning them is kind of important when writing a program. This is the part where I tell you I've changed my mind, I'm just going to totally wing this project since I landed an internship and I don't actually need this program to be professional looking. PSYCH--did you even read how I closed the last post? That was hilarious. But anyway. I didn't actually go through the full CSCI-1275 "discovering your use cases through '20 Questions,' rune reading, and chasing clients for interviews" approach. We spent close to a month on use cases in that class--how to identify them, how to define them, how to model them, and a little on how to prioritize them. The bulk of the class was use cases, and like I said...I get it now. But that doesn't mean I'm doing to sit and actually write out a full CRUD technique analysis of all the ways a single user will interact with a ...