Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6673143
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 26, 20262026-05-26T03:35:35+00:00 2026-05-26T03:35:35+00:00

I’m working on a project for an academic institution and I need advice on

  • 0

I’m working on a project for an academic institution and I need advice on the best way to approach this problem. It’s been a long time since I did any traditional application development (close to five years).

The college administration recently revised the college’s academic standards policy. Previously, the administration only had three status codes, so this wasn’t as big of an issue. However, the new policy has six status codes:

  1. Good Standing
  2. Academic Concern
  3. Academic Intervention (1)
  4. One-Term Dismissal
  5. Academic Intervention (2)
  6. Four-Term Dismissal

From here on, I’ll differentiate between GPA for the term by saying termGPA and cumulative GPA by saying cumGPA. If a student’s termGPA falls below 2.0, and that causes his/her cumGPA to also fall below 2.0, he/she gets placed on Academic Concern. Once on Academic Concern, one of three things can happen to students in following terms. They:

  1. Return to good standing if their termGPA and cumGPA rise above 2.0.
  2. Stay in the current status if their termGPA is above 2.0, but their cumGPA stays below 2.0.
  3. Move to the next status if both their termGPA and cumGPA are below 2.0.

Normally, I would approach this process by writing a console application that processed each student iteratively and building the status codes as I go. However, we’re handling at least 8000 students, and in most cases around 12,500 students per term.

Additionally, this policy has to be applied retroactively over an as-yet-unspecified period of time (since former students could return to the college and would then be subject to the new policy’s restrictions), and once I include a student in the data set, I have to go back through that student’s entire history with the college. I’m conservatively guessing that I’ll go through at least a million student records and calculating each student’s termGPA and rolling cumGPA.

Questions:

  1. Is there any way handle this problem in SQL and avoid using a cursor?
  2. (Assuming the answer to 1. is “No”) How should I structure a console application? Should I create a large collection and process a few thousand students at a time before writing to the database, or update the database after each I process each student?
  3. Am I making way too big of a deal about this?

Thanks in advance for any insight and advice.


Edit: Based on comments to answers here, I should’ve provided more information about the data structures and the way I’m calculating the GPAs.

I can’t use the pre-calculated cumGPA values in our database — I need the student’s cumGPA at the end of each progressive term, like so (note: I made up the GPA values below):

ID      TermID  CumGpa  TermGPA TermNumber PolicyCode
123545  09-10-2  2.08   2.08      1         GoodStanding
123545  09-10-3  1.94   0.00      2         AcademicConcern
123545  09-10-4  1.75   1.00      3         AcademicIntervention
123545  10-11-2  1.88   2.07      4         AcademicIntervention
123545  10-11-4  2.15   2.40      5         GoodStanding
123545  11-12-1  2.30   2.86      6         GoodStanding

The problem is that each subsequent term’s status code could depend on the previous term’s status code — Good Standing is actually the only one that doesn’t.

As far as I know, that means that I would have to use a cursor in SQL to get each student’s most current status code, which is not something I’m interested in, as I work for a cash-strapped college that has precisely three database servers: one for testing, and two servers with the same data on them (we’re in the process of moving to SQL Server 2008 R2).

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-26T03:35:36+00:00Added an answer on May 26, 2026 at 3:35 am

    I ended up writing a console application in C# to process these status codes. My users changed the initial status update requirements to only include the previous two terms, but the process had enough edge cases that I opted to take my time and write cleaner, object-oriented code that will be easier to pick back up (he says, hopefully) once this policy matures and changes.

    Also, I ended up having to deploy this database onto a SQL 2005 instance, so table-valued parameters were not available to me. If it had been, I would’ve opted to commit to the database only after processing each student, rather than after processing each term for each student.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a string like this: La Torre Eiffel paragonata all’Everest What PHP function
I'm parsing an RSS feed that has an ’ in it. SimpleXML turns this
link Im having trouble converting the html entites into html characters, (&# 8217;) i
For some reason, after submitting a string like this Jack’s Spindle from a text
I have a jquery bug and I've been looking for hours now, I can't
this is what i have right now Drawing an RSS feed into the php,
I have this code to decode numeric html entities to the UTF8 equivalent character.
In my XML file chapters tag has more chapter tag.i need to display chapters
I have this code: - (void)parser:(NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock { NSString *someString = [[NSString
This could be a duplicate question, but I have no idea what search terms

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.