> Why don't you get an internship and take a leave of absence afterwards if the company will offer you a full time position? If you don't want to finish your degree and you can get a job offer you don't need to go back. It should be noted that this will make getting into grad school ever next to impossible and getting a work visa outside the USA very, very hard at best.

I'm pretty happy where I am right now because I do enjoy the coures that ARE CS related. I really like challenging myself and that's what the professors like doing. Everyone I've taken seems to enjoy when I ask if my way is better or if they can show me a faster implementation (maybe I break the monotony of "Why doesn't GCC compile this .CPP file"). I'm also working with a group of some of the smartest people I've ever met and writing software for them for money. I couldn't really ask for more: hard problems in school, "I've done this before" problems at work, and people to learn from about business/R&D/scientific reasoning.

I'm getting paid to go to an afterschool special basically and getting to work for people who apreciate my skillset since it's alien to their own for the most part. Similarly I feel the same about them.

> For Physics try the Structure and Implementation of Classical Mechanics. It's SICP for Classical Mechanics. I will leave to others the reasons to know in depth Discrete Mathematics and Calculus.

I'll definetly have to give that a look. What we use here is absolutly useless.

> If you have so many ideas for a senior thesis, such ability in Phyics and so little desire to do the courses, why not try and get out of it?

I have very little clinical CS knowladge. I have a basic understanding of calculious and how radio behaves a little bit. Mish mash some concepts in and I've got a shakey but effective enough base in physics to be able to write the software I need to write.

> If that's true could you do enough meaningful work to get second authorship on a paper

Hopefully that's where this position I'm at is leading to. I've been mentioned in papers but I eventually want to write the parts that deal with data aquasition, agregation, and processing. I don't care about the physics past what's already well understood. I care about the software and systems behind everything.

> That would go a long way to persuading the relevant person to waive one course's requirements. But you need to be really, really persistent and annoying. I have seen people make an entire semester of tuition disappear by being really persistent, and get bureaucrats to make up a transfer of credit agreement just for them by being really annoying.

I doubt that will happen for me sadly. I have a situation right now where I'm basically stuck in a class that I don't belong in. It's a networking class that talks about implementing client & server architectures. In my free time I designed and implemented a network protocall for a game I was working on. It has a lot of features (multiparts, different prority streams, blob data, and untracked packets) that are useful for game networking projects. I took it to the professor and she said "yea it's cool but you still need to take the class". I wouldn't know where to go with this.

Similarly I was in an operating systems class that was talking about OS design & implementation.... only I don't care about design and they didn't teach any implementation. I've dabbled a bit on my own ( https://github.com/gravypod/Simple-OS ) and unfortunatly reached the limit of where I can take it in my own learning abilities. I got stuck with figuring how to get FS and MM working. I still got pretty deep into the theory part while reading and was able to pass the class with a B+. Still no way to skip it though even though I was able to boot into C, get IDT and ISRs working. Remap them. Get vidmem working. Handle keyboard and timer interrupts.

Nothing special but further then we went into OSs in the class. Again I couldn't take it anywhere.

> I do highly recommend doing some decent humanities courses though. You're unlikely to ever write at such length again, to such high standards.

Last semester I submitted the same essay 3 times in a row only changing ~10% of the words. The topics were 3 completely different prompts. I got B+, A, A on the papers. A in the course.

Humanities subjects are important but only if they are taught to the standard at which they need to be to provoke thought in the individuals taking the corse and if the course is relevant to the students.

Since I'm looking into going into Software Engineering I should take a class in IP/Copywrights (to understand what I own), a class in Software Development Culture & History (to show me how we got here, what all of this comes from, why we do specific things), and classes in philosophy to excersie the parts of my brain that think about abstract systems.

Sadly none of that will be provided to me in my education because that would be too useful. Instead I'm probably going to take pingpong, walking, and another BS hum class.

All of these things I've had to suppliment myself dating back into highschool when I started programming. I'm lucky I got a head start. There's graduate students at my school who couldn't for their life tell you what historically important programs/protocalls are like vim or telnet is, who don't know who RMS is, who don't know what Bell Labs is, who don't know that by writing code they own it to some degree acording to our country's legal system.