Nice work! I played around with it a bit, and couldn't get it to crash. It seems like a genuinely useful app and you focused on building things that people could and would actually use, and that's a great skill to have and a lot of people could learn from it.

I'm worried however that everyone here is not being critical enough since you are an 8th grader. The only way you will get better is to get honest feedback, so here's mine. Most of my feedback is design oriented, since I can't see your code.

First up is calendar tab. First issue is that tapping on the table cells do nothing, but give me a blue highlight. You should disable selections on these since they do not actually drill in anywhere. Your choice to split the events into Today & Upcoming is a good idea. For Today events, you put the time, for upcoming events, you put the date in the secondary info, which makes sense. I would suggest for upcoming events, you look into making the dates more readble. For example, instead of "12/13/12", it would be useful to say "Tomorrow". Or instead of "12/15/12", say "Next Wednesday." This is more work for the computer, but less work for your users to do in their heads. (Anytime there is something you find like this, do it!) For farther out things, include the day of the week, since (as far as my dusty middle school memory goes) the day of the week really matters a lot as far as your schedule goes. Finally, the Feedback button doesn't really belong here. I realize there is currently not a better place to put it, so I don't really have a good answer for you, but usually Feedback is not on the first screen of an app since it is a secondary or tertiary function and that real estate is primary real estate.

Next up, schedule. I like your choice of using the segmented controls for grade selection, but here's something to think about: how often does your grade change? Only once a year. Segment controls are useful if you need to continually switch between things. I noticed you do save the selection, which is really smart! But, a better approach might be to ask the user when they first visit this tab what grade they are in, save that, and then provide a button in the navigation bar to change that setting. (You can try using an action sheet for this.) This way, you free up that real estate on the screen to show more information instead of having the segmented navigation taking up precious space.

Also, in the schedule tab, you have a really, really long list of stuff. In fact, you realized this, so you added a Jump button! Along the way, if you are building something like this, and it feels like you need to build something clever like that, it usually is a sign there might be a way to simplify things. Here's what I would to do start. First, you can get rid of the segmentation control like I mentioned above. Now, you could use a segmentation control instead to choose the type of schedule you are in. The problem with that though is that there are five types of schedules, and that's a pretty large number of choices for a segmentation control. But, even more importantly, just like your grade, you probably don't change your schedule type very often! In fact, as you noticed since you put it at the top, unlike your grade (where everyone is probably evenly split between grade), most people all are on a normal schedule, and then everyone changes to weird ones once in a while.

A better format for your schedule screen might be something along the lines of the weather app, where you flick to page between the different schedules. You can start off on the Normal schedule, and then swipe between pages. This is a pretty intuitive interface and makes it so the user can jump right to the information they need on the rare occasion they are not in a regular schedule, and removes the need to scroll very far. And it also gets rid of the need for that "Jump" button, which is taking up a very useful slot in the nav bar for future features!

Next up is assignments. First, lets talk about the "Manage" button. When I go into manage, there seem to be only two things I can do: move assignments around or clear the list. I might be wrong here, but I don't see the point of moving assignments around. This might be the first place where you fell into the trap of doing something cool that is not very useful, but I could be wrong. I think the help text said I should be able to delete things, but I couldn't get that to work. The thing that makes sense is the Clear button. This prompts me correctly to clear completed assignments, and does so. Since the rest of the "Manage" mode seems not very useful, and modes in general are a bad sign when designing stuff, you should remove the manage mode and just put a "Clear" button in the top left corner. Since you are clearing completed assignments, it might make sense to try putting "Clear Completed" on the button, but that could be too long so I would try it and see how it looks. But right now, hitting "Clear" is a bit scary, since it makes me worry that it might actually clear all my assignments. (Your pop-up confirmation of course is an important thing and I was glad to see you added it, but users should be able to have as good an idea as possible of what they are getting into when they tap a button!)

Now, when I am not in manage mode there are a few issues. First, I noticed that when I tap on the checkbox this moves between current and completed. This makes sense, but the checkbox is very hard to tap. Instead, leave the checkbox as a way to indicate to the user if things are completed, but make it so i can check off an assignment by tapping anywhere in the entire table cell. One of the most important things in a touch interface is to make sure the tappable areas of the screen are very large and unambiguous. In fact, for many of the controls on the iPhone, the area you can tap is much larger than the on-screen representation. (This type of thing is part the reason Apple had to rebuild their OS from the ground up to be used with fingers instead of mice.)

One more thing about Assignments. If I have a Clear button to clear up clutter, then why bother moving things between Current and Completed? Completed is there to prevent cluttering up the Current assignments. You should pick one way to reduce clutter. Here's what I would to. Make this just a simple list with no sections (not current or completed.) Leave your checkboxes in there and tap the cell to check on or off the box. But, don't move anything around when you tap on them, just leave them there checked or unchecked. As long as my list is pretty short, I can still tell at a glance how many assignments I have left to finish. Once it gets too cluttered with finished assignments, the user can clear out the checked ones by clicking a "Clear" button at the top. Or, better yet, if you have things this way, you can change that button to say "Clean Up", which makes it a little more clear (no pun intended) that when the user clicks that they will not be removing their unchecked assignments. As a bonus, you remove the need for the "Current Assignments" bar in the table view, freeing up more room for the list to fit on the screen (which is even more important now since you will have checked off items floating around in the list.)