The End of High School
April 22, 2009 12:52 PM   Subscribe

High school is ending, I'm lost. What's a boy supposed to do?

To the Mighty Mefites:

I will be graduating from high school in less than a month. I've been accepted at a decent university but I've just learned that they use Java as their introductory language. I don't mean to come off as stubborn but I DO NOT want to be paying to learn Java when there are plenty of other languages that can teach the concepts a lot more concisely. I love computers and I just don't want to murder my passion with repetitive and pedantic details. Maybe I don't know what I'm talking about but I'm seriously thinking of reconsidering my major. I think learning a topic that is completely different than computers would be immensely interesting but I do not know which major would spark my interest.. I've even contemplated taking a year off but I don't know if I would be willing to pick up schooling again when it came back around. I also think I have mild depression and some anxiety so as the year dwindles down, and every class is in its last throes of homework and projects, it just seems like this is an extra heavy burden that I wish to set aside and come back to when I can focus on it solely but I can't. It hovers over me like a storm cloud and does not comfort the constant nagging by parents to "succeed in life." I don't know if I can fit in with society and the established "American Dream."

Sorry Metafilter, that all sounds pretty silly but I just need some guidance

My throwaway email is
posted by anonymous to Education (52 answers total) 3 users marked this as a favorite
I'm not sure about other majors, but most of my first year was basic review stuff. Some of the material was new, but the most I already knew. However, we got into more advanced material pretty quickly. Maybe this Java language is a way to weed out people who are just "there". Many of the students who were in my beginning classes in my major, dropped out before we even got started on the "real" stuff.

If you already know Java, then go there, and show them. They will know who is advanced in that language. Maybe this can help you shine in a field of many other students.

(btw my major was Music, and basic theory was a great weeding tool)
posted by snoelle at 12:59 PM on April 22, 2009

Okay, before stressing out, think about what your end goal is. Separate your problems with your major from your problems with your parents and your problems with society and your problem with the American Dream.

Not everyone needs to go to college and get a degree, but at least in America, it seems to be The Thing To Do when one graduates high school. At the very least, it'll get you out of your parents' house and some freedom and exposure to new people/places/things.

But you also have the whole summer to stress out about getting ready for college, so slow it down!

Do you want to work in computer science or engineering? Do you want to get a job that requires a college education? Getting a degree from a decent university is a key part of that, for better or worse.

Get over the learning Java part. There are going to be a million tiny things that you don't like about your major, your dorm, your university, your job, your life... and you just can't sweat it or you'll get stressed out. Take the Java class and if it sucks after a few weeks, drop it. You don't have to stay in your major if you don't like it. For now, what I'd suggest is to stick in your major but take some interesting-sounding classes outside of the department. Certainly you'll have some general education requirements that will require you to take some other classes anyway, so do it early.

posted by k8t at 1:00 PM on April 22, 2009 [2 favorites]

PS, your love of computers doesn't mean that you need to study CE or CS.
posted by k8t at 1:01 PM on April 22, 2009 [1 favorite]

If you can defer admission for a year, I'd go ahead and do that. You can use the time to figure out what you want to do. This is fairly common in the UK.

You can also use the time to learn some better introductory language, or even Java if you need to, and maybe place out of the introductory class. Maybe you can find a different school that will teach you what you're really interested.

That intro class is going to be about more than learning the syntax of the language; there are deeper principles that one uses regardless of the specific language in which one codes. You need to learn this stuff with a good teacher, and a good university will probably give you a better sense of this than learning "a language" either off the web or even in a just-finish-the-class community college setting; so please take care to get yourself some good instruction in these fundamentals whether you test out of the first course or take it at your current university.
posted by amtho at 1:01 PM on April 22, 2009

Just chill out, man. Really. What burden? You don't have to make any decisions now. In fact, you don't even have to decide on your classes until two weeks into the semester, and you don't have to declare a major until your junior year. That means: until 2012. Thinking about it now is really, really not going to help. I went through similar anxieties when I graduated from high school--and as it turned out, by the end of the first semester of college my priorities and concerns were not at all what I'd thought. (I have since graduated.) I mean, you're going to take a year off...and do what? Sit around thinking about how much you don't want to study Java? Seriously? This is one of those things where you have to bite the bullet and jump in head-first.
posted by nasreddin at 1:02 PM on April 22, 2009 [2 favorites]

For what it's worth, it's perfectly okay to start college without a clear idea of what you want to study. Most people, in my experience, change majors anyway, or at least wind up focusing on a different aspect of their major than they initially intended to. That's normal.

But since you mentioned depression, I should probably remind you that losing your ability to get excited about things is a big-deal depression symptom. If you want to give up CS because there's so many other wonderful and fascinating things in the world, then hey, go out and explore! But if you want to give up CS because everything seems awful — your major, other majors, the idea of staying in school, the idea of quitting school — then you might want to ask yourself more seriously whether you're depressed, and get help for it if the answer is "yes."
posted by nebulawindphone at 1:03 PM on April 22, 2009

If you can defer admission for a year, I'd go ahead and do that. You can use the time to figure out what you want to do. This is fairly common in the UK.

With all due respect, this is terrible advice. The difference between the US system and the UK system is that, in the US, you can take classes in any and every field you want to--in fact, your first two years you're generally completing a common set of general requirements along with everyone else. This is when you do your figuring out. If the OP really takes a year off, he'll be stuck living with his parents and working at the grocery store, which is going to be much worse than taking a couple classes in a subject he doesn't like.
posted by nasreddin at 1:05 PM on April 22, 2009 [9 favorites]

I think you may be overreacting about the Java thing. If you're going to be going into computer science or something related (the question isn't clear), then you're not going to be learning a language: you'll be learning concepts, and the language is not really important. You have some grasp of that, as you seem to feel that other languages express those concepts better. But I think you require a mind-shift: the language is a tool to be used to acquire the concepts. In my first year university classes we were using Pascal. We eventually moved to C and assembly and all that hardcore stuff, but the basics were covered with a simple, easy-to-use language. I never used Pascal again.

Others have touched on the "chill" part of the advice I was about to write, so I'll leave it out. What they said.
posted by flipper at 1:05 PM on April 22, 2009 [6 favorites]

Do you know what the curriculum is? Research the program you're actually going into.
posted by kldickson at 1:07 PM on April 22, 2009

You'll probably learn things you don't already know in this Java class that will be useful to know about. And you can change your mind about majors if you really do find it to be boring and sucky.

Also, familiarize yourself with the mental health and advising resources available to you as a student.
posted by substars at 1:07 PM on April 22, 2009

I will be graduating from high school in less than a month. I've been accepted at a decent university but I've just learned that they use Java as their introductory language. I don't mean to come off as stubborn but I DO NOT want to be paying to learn Java when there are plenty of other languages that can teach the concepts a lot more concisely. [...] It hovers over me like a storm cloud and does not comfort the constant nagging by parents to "succeed in life." I don't know if I can fit in with society and the established "American Dream."

You are doing something here called catastrophizing. I used to do it for years, too -- out of a combination of depression and anxiety, I would tell a story in my head about how one small thing in the present would lead, through a series of tortured inevitabilities, to something definitive and unbearable in the future. Then I would start reacting emotionally to the unbearable thing in the future that had not yet come to pass, but which I had convinced myself was as good as determined. (In this way, for example, I worked myself into a summer-long panic after 9th grade about my first ever "C" -- curse you, geometry! -- because it meant I would never be accepted into a good college and therefore my Life Was Ruined. Needless to say, 25 years later, my life was most certainly not ruined by that C in geometry.)

You may feel a tremendous pressure to succeed, to have your life mapped out, to see the world as a chess game for which you desperately need to make all the right moves. For a lot of reasons, I felt that way too for many years. And it drove me nuts... the need to be successful, coupled with a crippling fear of failure, actually paralyzed me in a lot of ways, or prompted me to make choices I thought I should make rather than choices I really wanted to make. It was only when I stopped trying to desperately control every possible future outcome that I could finally relax and enjoy my life -- a perfectly nice, pleasant, happy life, at that!

This is all a long-ish way of telling you to catch your breath and not tell stories about the future that trigger a negative emotional response. You have just graduated. Enjoy it. You will go to college in the fall. Consider that Java may come in handy, and that there may be good reasons to consider learning it when the time comes. That's all you have to do. To paraphrase the late, great Joe Strummer: your future is unwritten. That's your American Dream right there.
posted by scody at 1:08 PM on April 22, 2009 [12 favorites]

If, indeed, you already have the skills taught in the Java class, you should look into the possibility of testing out of it.
posted by box at 1:11 PM on April 22, 2009

1. Java isn't so bad, you could be coding in Pascal or VB Script. Also, you can code in the over hyped languages in your free time.

2. Reconsidering your major when you have no idea what to read instead? Won't do, friend, won't do. Stick with CS and see how it goes.

3. Taking a year of? Sounds great. Sounds terrible. What are you going to do: work, travel, slack around? It is difficult going back to school if you've gotten a job and begun earning some nice money. But a sabbatical can really re-charge your batteries and motivate you to go back to school and do your best. Doing nothing is statistically proven to be pretty shitty, though, so don't do that.

4. Maybe you have a depression, maybe you're just feeling the blues like everyone else who is about the finish high school. It's a scary world out there and most of us barely know what we're doing next week. Welcome to the club.

5. Fitting in with society? The American Dream? Sounds boring and dangerous for your mental health. Try coding, excersising, getting laid, or learning how to cook great food. All these things are scientifically proven - well, maybe except for coding - to make you feel much better.

Yeah. Part of being an adult is to plan things and making difficult decisions regarding your future. And feeling all lost and angsty is perfectly normal.
posted by Foci for Analysis at 1:15 PM on April 22, 2009 [1 favorite]

When I graduated high school, I knew what I wanted to major in and what my cvareer path would be. I went to a great prof and asked him what courses I should take in order to obtain my career goals.

"Take everything." he said. "Art, literature, religion, history, philosophy."

I followed his advice and ended up changing my major and career path. I'm glad I did. there was more to me --- and to the world --- than my just-out-of-high-school mind realized.
posted by goethean at 1:17 PM on April 22, 2009 [2 favorites]

Do not get worked up about the programming language that your school will be using for CS instruction. Believe me, you will take classes that would "murder your passion with repetitive and pedantic details" even if you were writing code in unicorns and rainbows.

That may be overstating the case, but the fact is, your classes will be teaching you about this or that programming concept, not about how to be a Java programmer. Java is just the medium of instruction, and the concepts will (for the most part) be broadly applicable.

When I was in college the one thing that made me a better student was to treat it all as a big game. Games have arbitrary rules. Why do you turn three cards in Klondike solitaire and not one or two? That's the rule. Treat college's rules the same way, and see how well you can do within those confines. College makes you code in Java? Play along.
posted by adamrice at 1:20 PM on April 22, 2009 [2 favorites]

To give a tunnel-vision answer to a very small part of your question, the odds are that a significant of people who are taking that class or those classes already know Java. It's the major reason why the intro classes are frequently the most brutal, competitive, and hard-to-do-well-in classes that CS majors take.

In fact, while my sister is bright enough that her (pretty good) state school actually pays her a decent chunk of change to study there and hardworking enough to basically live on the Dean's List, she had no background in comp sci and ended up having to drop her intro to computer science because so many of the people were veteran programmers who were taking it to fulfill their intro requirements.

It may be helpful not to think of those classes as "paying to learn Java when there are plenty of other languages that can teach the concepts a lot more concisely," but as a "I really love computers, but do I love them enough to deal with a not-insignificant amount of drudgery?"

Also, horrors, you might actually learn something. ;)
posted by joyceanmachine at 1:20 PM on April 22, 2009 [1 favorite]

For what it's worth, I started out in CS and did well enough in my classes, but got bored of it and realized that I didn't want to spend the rest of my life sitting in front of a computer in an office. I switched to horticulture and couldn't be happier! I still love dorking out on computers now and then, but man it sure is great to go outside and grow stuff!
posted by bengarland at 1:21 PM on April 22, 2009

Here's what I will tell my children when they go to college, and what I wish I had been told when I started: don't decide on a major right now. And if you do, take some classes that sound interesting while you're taking your core requirements. There's no need to declare anything right now. Just go, be serious about your grades and your studies, but for God's sake, have fun.

I desperately wanted to take a year off when I started college. My mother wouldn't let me, and I'm so thankful she didn't. I'm pretty sure I wouldn't have gone back at all. This is the time in your life when you get to practice at being an adult with the safety net you'll never have again.

And this:

It hovers over me like a storm cloud and does not comfort the constant nagging by parents to "succeed in life." I don't know if I can fit in with society and the established "American Dream."

is easy enough to get around once you get to school (assuming you're living away from home while you go to college - which I HIGHLY recommend). Your parents will only have the information you give them. Keep your grades up, of course; the rest is up to you. Screw the "American Dream." What's your dream? Soon enough you'll be living on your own and paying your own way. What would you like that scenario to look like? Work towards that goal. And if you don't have that goal yet, don't worry. I still don't know what I really want to be when I grow up and I'm pushing 40.

Good luck.
posted by cooker girl at 1:24 PM on April 22, 2009

1. If you're in the US, and I think you are, you don't need to choose your major yet!!!

2. Your major does not dictate the rest of your life, or even your first job.

3. For all you know, you can test out of intro computing.

So, what everyone else said: stop catastophizing, stop freaking out, take a big breath and realize both that YOU ARE SCARED, and that it's PERFECTLY NATURAL THAT YOU ARE SCARED. You're leaving what you know. Going off to college in a big deal. Your world will turn inside out and upside down, even in the first few weeks. Embrace it! It might be scary, but it is insanely, crazy cool.
posted by kestrel251 at 1:27 PM on April 22, 2009

Why wouldn't you want to know Java? When you're applying for a job, it will be rare that you get to pick the language you code in - it's far more likely that you'll have to work on a project already in progress, where those decisions have already been made, and the more languages you know, the more projects you'll be eligible to work on.
posted by restless_nomad at 1:27 PM on April 22, 2009

Not being happy with Java shouldn't factor into this at all.

Languages are just tools. By the time I'd finished up my degree, I'd used a dozen different languages. Some are better for certain tasks. Some are just fun.

90% of what I learned had nothing to do with a particular language.
posted by ChrisManley at 1:29 PM on April 22, 2009 [3 favorites]

Also also, speaking as someone who graduated high school early and went straight off to college shortly after turning 17, that first quarter (our school didn't go to semesters til after I'd graduated) KICKED MY BUTT. I was so used to being little miss smartypants and getting As for just showing up, and I registered myself for what was, really, a pretty obscene classload thinking "ha ha! I am so smart! I can do Russian 101 and German 203 and advanced history and logic all the the same time, no problem!"

Think again.

Seriously -- use that first semester to get acclimated, to explore, to take some classes that sound interesting (and one or two you absolutely have to do, for whatever reason) and get things started slowly, you'll be better off in the end...
posted by at 1:31 PM on April 22, 2009

Look, there are lots of reasons to take a year off, switch majors, whatever, and lots of people switch majors from what they enter college thinking they will do. I decided computer science wasn't really for me in the end, for a variety of reasons. But the fact that some introductory classes in your major use java should not be one of them. It sounds like you have the conception that a CS degree is about learning to program; this is not correct, and learning to program is only an incidental thing that happens in this kind of major. If it were, and you were going to spend four years learning about java, then that would be a reason to switch majors. But you will spend four years learning about concepts that are completely independent of any language you might choose to implement them in, and in some cases independent of any particular implementation altogether (perhaps after suffering through one intro to programming class that would be rather dreary in _any_ language, and which you might be able to test out of anyways). Java might happen to be the vehicle in some or all of the classes, but it is not the point at all.

Also, it sounds like you haven't really given java a shot -- it is not a language for writing concise one-liners that implement strong AI, but it isn't really so bad, and one of its strengths is that it has a lot of packages that do a lot of stuff for you already. Try programming in fortran or ada or something and _then_ decide how bad it is. (One reason to become comfortable with it is that even in classes where you have a choice of languages, you might have to work with classmates who only know java. There is a larger lesson here about scenarios that may happen with the kind of jobs a CS degree would lead to...)

With respect to switching majors, you will probably have to take a bunch of gened classes in your first year anyways. Pick a bunch of interesting-sounding intro courses in majors that you know nothing about, that fulfill some of these requirements, and see where they lead. This is how I found my field, at least.
posted by advil at 1:32 PM on April 22, 2009

Taking a class in Java is a whole lot less painful than going through life without a degree - trust me on that. You're going to have classes that you love and classes that you hate, but be assured that you won't be studying Java next year.

If you don't need to declare your major now, then don't. But whatever you do, get your butt in college first. Taking a year off is poison. Do something fun this summer and go to school as scheduled.
posted by The Light Fantastic at 1:38 PM on April 22, 2009 [1 favorite]

A couple points:
  • Don't worry about languages. Worry about your instructors. I got lucky and my first year CS professor was incredible.
  • Take a year off only if it's the correct decision for you. I have a friend who took a year off, and she's very intelligent, social. Just don't sit around at home doing nothing - make sure you're working towards a bigger goal. I don't think taking a year off is always the right answer, and I don't think it's always the right answer.
  • Succeed in life? Well meaning parents use those words, but they have a ton of baggage. Don't put off adult things like applying for a job, getting a license, or doing work. If you're mature and have some perspective, you'll be just fine.
Yes, you're catastrophizing. Yes, most high school students don't know what they want to do. As a college student, let me just say that the college application process is broken and we're working on it. It's really just a lot of undue stress.
posted by theiconoclast31 at 1:41 PM on April 22, 2009

I don't think taking a year off is always the right answer, and I don't think it's always the right wrong answer.
posted by theiconoclast31 at 1:44 PM on April 22, 2009

Congratulations on your upcoming graduation and your university acceptance!

Deep breaths. It sounds like there's a lot going on right now. Your major is not set in stone. Even if you are asked to list one now, you can change it. College is a great time for developing and honing your interests.

What do you love about computers? Is it programming? Which language(s) do you know? If you have a good grasp of programming concepts, you might be able to test out of some introductory classes. If you can't test out, excelling in your intro classes is a good way to get TA jobs early and to start laying ground for independent study research in the future.

By the way, I believe many universities are using Java as an introductory language. As a name that might stand out, it appears that Carnegie Mellon is doing so. Their Algorithms & Data Structures class is currently taught in Java.

Good luck!
posted by wiskunde at 1:51 PM on April 22, 2009

First, you have my absolutely official permission to NOT WORRY about what to major in at college until you arrive on campus. Just refuse to think about it, in all its variations. (No "I hate Java", no "do I really want comp sci" no "will coursework kill my passion"). You may however worry about high school stuff and think (but hopefully not worry) about the advantages of becoming a college student.

When you get to college, find out who are the most interesting, dynamic professors and try to take as many classes as possible from them. You might not have as much flexibility with required classes but make sure you have at least one, if not two classes, that being taught by someone with a reputation for being a great teacher. It hardly matters what the topic is if you enjoy being in the class. A true liberals art education will teach how to think and how to learn. Different disciplines approach learning differently so you will learn to think more creatively, with a more open mind if you sample a number of different departments.

For now, you might want to plan to take what you need to be on-track for a comp sci major but that is just keeping your options open. In my case, I had absolutely no idea what I wanted to major in when I arrived on campus and within the first week, I found an inter-departmental program that was an absolutely perfect major for me. Find out when you have to declare a major and give yourself permission to be "undecided" until then. You can think about it but DO NOT DECIDE until you need to do so. Be open to being influenced by your experiences - you may find new things that suit you better or you may find your first love is still the best. Either one is OK.

Finally read through a bunch of metafilter questions about college and career choices. There are many, many, many people who did not follow the standard, "normal" path in their early 20's and yet ended up in places that make them feel happy and successful. It is your life, you get to construct your own version of the American Dream that suits you - you have a choice how much you torture yourself with the idea you are supposed to be doing the "normal" things and how much you reinterpret the rules to suit your own values, interests and preferences.
posted by metahawk at 1:52 PM on April 22, 2009 [1 favorite]

I just want to throw in that a CS degree is more than just programming - there are tons of interesting math classes, and if you're a CS rather than CE, there's plenty of liberal arts electives you will take - and trust me you want to take them, the girls in my Arthurian literature and Archaeology classes were way better looking than the ones in my Assembly language class. Java is just the instruction language of the day (it was Pascal, then C, when I was in school). I mean, you wouldn't get overly worked up if your English professor wanted you to save your papers in Office 97 format, but you had Office 2007 on your PC - you'd just click "save as (Word 97/XP)", right?

Anyways, if you don't have a condition that needs to be treated by a professional, I think you're just a little overwhelmed - trust me and everyone else, it gets better.
posted by Calloused_Foot at 1:55 PM on April 22, 2009

Read adamrice's comment several times. Print it out. Hang it above your bed when you get to school, which you should do sooner rather than later.
posted by phrontist at 2:02 PM on April 22, 2009

Learning some computer science will likely cause you to care much less about the differences between programming languages.
posted by gsteff at 2:05 PM on April 22, 2009

Oh, and CS is not about computers. It's about algorithms. Who cares how those algorithms are entered? Will you have to take a bunch of classes that teach you things you already know? YES. That's part of the game. I promise you it won't bother you so much when you're cranking out your assignments way faster than your peers and getting to partake in all the wondrous, uh, "extracurricular activities" college has to offer that much faster.
posted by phrontist at 2:06 PM on April 22, 2009

You, video store or Netflix, now. You want a movie called Real Genius.

Watch it two or three times. Take a deep breath. Resolve to be more Chris Knight and less Mitch when you hit campus.

You're gonna be OK.
posted by fairytale of los angeles at 2:12 PM on April 22, 2009 [1 favorite]

There has been a lot of good advice here, that you'd do well to absorb. I won't repeat what's already been said, but take my anecdotal experience as an example of how college works:

I loved/was enthralled by/tinkered with computers throughout high school, and the internet was just becoming widespread when I entered college. As a Freshman I declared a CS minor and a major in (my other true love) Theatre.

I dropped my CS minor after one semester, and graduated with a Theatre degree. My favorite class was called "Russian Folklore" - having nothing to do with my course of study.

Every job I've ever held has been in the technology industry, and has nothing to do with my major (not even remotely).

College itself is an experience, but it does not -- does NOT -- in any way determine WHO you are or WHAT you will become. You do that yourself.

One thing, though, I will reiterate that has been mentioned. Do the work. Go to class. And do your work. With these three things, you will not fail. Hard work is a transferable skill that will serve you in whatever path you choose.
posted by pkphy39 at 2:15 PM on April 22, 2009

I don't mean to come off as stubborn but I DO NOT want to be paying to learn Java when there are plenty of other languages that can teach the concepts a lot more concisely.
Actually, there isn't. For engineers or biologists or other nerds, Java is probably overkill. But here's the thing: your professors are in a better position than you are to evaluate the answer to the question of what's appropriate for Computer Science students. Or to even know what the concepts are.

I'm sure you're a young and smart guy, but Java has some important properties that you may not be aware of. Java's support for multi-threading has few peers. It's probably the most concise language that's also usable and familiar. It's not perfect in practice, but it's better than say Python's. So if you're going to optimize a language for education's sake, at least optimize for the hard case.

So take everyone's advice and chill out. Any CS program will graduate people capable of learning new languages and familiar with important concepts. And the intro course is only 1 of many courses you'll be enrolled in your first semester in a hopefully broad array of subjects. Many people switch majors after their first semester, and that's perfectly fine.
posted by pwnguin at 2:18 PM on April 22, 2009 [1 favorite]

First off, you've gotten a lot of good advice already, one facet of which I'd like to reiterate to make as explicit as possible:

There is no way this decision can screw up your life in any meaningful way.

In fact, I'm going to say it again, because I wish I'd understood this better at your age:

There is no way this decision can screw up your life.

Between now and the time you're 30, you will probably make one hundred times worse mistakes and every so often feel one hundred times more lost and adrift. (If you think it's bad now, wait 'til you've just graduated from college. ) But here's the good news: in turn, you will find on thousand different ways to get back on track after your mistakes, and in the process of screwing up and figuring shit out, you will have one thousand different kinds of experiences that you never imagined you would and discover a million things you never knew about yourself.

Don't get so caught up on making the right decisions now, because at this point, the most important thing is that you make many, bold decisions, many of them wrong, and learn from their results. I know it doesn't feel that way. That's probably because your parents and teachers have been using college, and the need to get into a good one, as a motivational tool to get you to work hard in high school. Well, It seems to have worked, though, so it was probably worth the anxiety it's causing you now.

But guess what? You're going off to college soon, and college is awesome, no matter what you study. Here are a few tips:

a) Personally, I think most college-bound kids could seriously benefit from a year away from academia before going to college -- it can help you get a better perspective on the narrow path you feel you're on, as well as make you appreciate college more when you do get there. Only if you decide to take a year off, figure out in advance what you're going to do with it. Some kids do a year of a community volunteering program, some kids go off and work for something like habitat for humanity. There are also internships and apprenticeships, travelling or backpacking or outward bound type stuff, and any number of seriously worthwhile things you can experience before going back and hitting the books. (And then later, you'll find that being able to buy beer a year ahead of your classmates means you never have to worry about finding a ride anywhere.)

b) The subject of the class matters FAR less than the quality of the professor who teaches it. You will learn more, and enjoy your learning more, from taking a course with a great professor in a subject you're not immediately interested in than you will taking a course in an interesting subject taught by a lousy douche. So ask around of the upperclassmen, and let the proff's reputation be your primary decision-making criterion, and requirements for a major, 2ndary.

c) Go ahead and take a class in a subject you already know; I guarantee you there will be many times over the course of the semester where you will be really glad to have a course you can slack off with on occasion.

d) Try to remember that the purpose of college is to get a good education, not to set yourself up on some sort of path to your future. If you do the former, the latter will work itself out.
posted by patnasty at 2:20 PM on April 22, 2009

Hi, I'm a freshman in college at the moment. Who did, in fact, take an intro level Comp Sci class last semester. That used Java. And really, we spent faaaar less time talking about Java (except in the context of well Java does this for you, but in other languages, you would have to do x) and way more time talking about algorithms and the theory behind the data structures we were learning. I took two years of AP CS in high school, which used Java, so in theory I knew a lot of what we were talking about. In reality, I knew how to do the things we were learning but not why, or how they worked, or how to do it best. And that was what our class was mostly about. Maybe you're a hot shot programming genius who knows Java or another language backwards and forwards, but I'm pretty sure you'll learn something.

As for the other parts of your question, dude. You are a) catastrophizing and b) taking this way too seriously. Guess what. Whether you're going to a big university that intends for you to start taking classes in your major immediately or a liberal arts college that actively prohibits you from doing that (ie, where I go), what you think you want now will probably not be what you want in a year. I know that what I want now will probably not be what I want next year, or in two years, or in ten. I'm going ahead based on the best knowledge I have now, and I know that I can change my mind. Even big universities are not going to be like "But you said you wanted to major in CS! You must continue and not change to Geosciences!" Even after you formally declare your major, you can change. You might want to find out your school's policy, but I can almost guarantee you that there's a way. So take whatever you have to take and whatever interests you (including that Java class), don't be afraid to randomly contact people with questions, and stop freaking out. Enjoy your last bit of high school and this summer. It'll fall into place eventually.

I do have one last note, though: how have you made it this far through the education system and realized that sometimes, you have to do things you don't want to do? Sometimes that class is taught in Java and not whatever you like best, sometimes that really cool class is at 8 AM, sometimes you have papers that seem pointless or reading that doesn't make any sense. College has a lot of flexibility, but sometimes you have to balance things out. Namely, are you interested enough in the CS major to get through the annoying prereq class? Is that class worth waking up early? Is a good grade worth the work? And hey, if it turns out you made the wrong choice and it's too late to drop the class, you've learned something new about what you really value.
posted by MadamM at 2:41 PM on April 22, 2009

From a computer programmer who can empathize (not me):

If you want to learn how to program, don't want to take classes, and want to do something productive with your time, you should take a year off and read Sussman and Abelson "Structure and Interpretation of Computer Programs" (available here) and watch the lectures here.

From me:

You're right to be skeptical of not wanting to pay for things you can teach yourself, but I think there's no way to know this without sitting in on the class to see. So do that; and if it looks boring (and if it's teaching you things you already know) drop it and take something else. Or, if it's a requirement, see if you can test out of it.

Either way, it seems like you owe it to yourself to give college (and your stated passion) a chance before you go running int he opposite direction. There's no way to know whether you'll like it or not until you're there -- and there's no sense jumping the gun on incomplete information. You'll probably switch what you want to do six or seven times before leaving school, even with the best intentions -- so best to accept now that you don't know, and so can't / shouldn't worry about it until you have better information.

And if you don't like it and feel like you're not getting what you pay for, you can always drop out or take a leave of absence.
posted by puckish at 3:34 PM on April 22, 2009

a) Personally, I think most college-bound kids could seriously benefit from a year away from academia before going to college -- it can help you get a better perspective on the narrow path you feel you're on, as well as make you appreciate college more when you do get there.

Totally agree. I was not ready for college immediately after high school, but went because I felt I had to. I had a miserable first couple of years, took a year off, transferred, dropped out because of mental health issues (which I likely had as a high school student and were exacerbated by my awful college experience), and have been going part time ever since. It has taken me eight years to finish undergrad.

I always wish that I hadn't succumbed to the pressure to rush off to college immediately after high school. I spent part of my year off in a fellowship at a research library and the other half just working a well-paying mind-deadening corporate job. I grew more from these two experiences than I had during two years of college. In fact, having the horrible but well-paying corporate job motivated me to return to school so I could become qualified to do something I enjoy. If I had lived that before school, my college experience would've been much more positive.

Also, mind your expectations. For some, college is a life-changing time in which they see the world anew and make these amazing friends and graduate with stories of booze-induced hijinks. For others, it's a place to get an education, and that's it. Thinking of it as "college" and not "COLLEGE!" may help.
posted by Tall Telephone Pea at 3:59 PM on April 22, 2009

Java is just there for illustrative purposes. This is computer science, not "programming school." Suck it up. There is value in using a language you don't like and maybe even learning what other people see in it.

I got a CS degree a large public university. The classes were also in Java. And, like you, I didn't care much for Java going in. And, five years later, I still don't care for Java. I haven't used it since. But, dude, c'mon, it didn't break my soul. Give yourself some credit -- struggling through some ugly syntax ain't gonna ruin you career.

All the good stuff happens outside the computer lab anyway. Take some poetry and art classes.

(Also, here's another vote against NOT taking a year off. I wanted to defer and had to be talked out of it. Luckily I decided against it. Looking back now it would have been a huge mistake.)
posted by meta_eli at 4:18 PM on April 22, 2009

I don't know if I can fit in with society and the established "American Dream."

Well then, this should probably cheer you up: the established "American Dream" that you're familiar with will most likely be a fairy tale by the time you graduate. So, one less thing to worry about!
posted by Civil_Disobedient at 4:51 PM on April 22, 2009

What scody said. This isn't a big deal, I swear. If you're uncertain about CS, try out some other classes too.

As for Java: it's perfectly fine, and it's a good thing to know. And it probably won't be the only language you use there, either--you'll probably encounter C at least once, and maybe C# or something Lisp-y, too. And if you take a programming languages course, you'll see all kinds of wild stuff. But, really, the particular language that you use is going to be like 5% of what you learn, tops. You'll be learning stuff that applies to any language.

As for "murdering your passion": I was a little afraid of this, too. But then I took my first CS class and fell in love all over again. The stuff you'll learn in college is vastly different from what you've probably seen in high school or on your own. Sure, it's possible that you won't like it, but I bet you'll enjoy it a lot. So don't freak out until you've tried it, at least.
posted by equalpants at 5:07 PM on April 22, 2009

The most important and interesting things you'll learn in your first year at college are not things you learn in class.
posted by DarlingBri at 5:22 PM on April 22, 2009

"If the OP really takes a year off, he'll be stuck living with his parents and working at the grocery store, which is going to be much worse than taking a couple classes in a subject he doesn't like."

Considering that MeFi is full of folks who moved out at 16 or 17, and many more who took off a year or more before going to college, I can't begin to imagine why someone would expect that this time would be spent living with parents OR working at a grocery store.

Taking a year off after high school is the best thing I ever did. (Going to grad school for something totally unrelated to my bachelor's degree is the second best.)
posted by coolguymichael at 6:14 PM on April 22, 2009

You sound so much like me I laughed out loud.

A little background for context: I'm a math major. I went to a large technical school for two semesters, hated it, dropped out (best decision of my life), took a semester off (2nd best), and now am at a smaller liberal arts school, where I am having loads of fun, despite the larger workload.

I've even contemplated taking a year off but I don't know if I would be willing to pick up schooling again when it came back around.

A year (or perhaps just a semester) off sounds like a really good idea, actually. My time off gave me a chance to get a better handle on my anxiety, and get a lot of perspective. It sounds like you need to see what the non-college adult world is like; even if you don't take time off, go some place interesting this summer and meet some people who aren't students. If you keep your eyes open, you'll learn a lot. A lot of freshmen really suck, and the reason is they think the whole world made up of teenagers. Don't be one of them.

does not comfort the constant nagging by parents to "succeed in life."

Don't listen to them, then. You're an adult, it's time for you to start having an adult relationship with your parents; part of that is politely letting them know when they need to shut the fuck up. You don't need micromanagement; you're 18, you can take care of yourself. If they don't like that, tough.

I don't know if I can fit in with society and the established "American Dream."

To hell with the American Dream. If you can't fit in with it, don't. Do what makes you happy and let other people do what makes them happy. Don't worry about what everybody else thinks. You're not everybody else.

I love computers and I just don't want to murder my passion with repetitive and pedantic details.

This Java class will only kill your passion if you let it. Furthermore, it is 3 credit hours out of ~30 you'll be taking for your major, and ~80 you'll be taking to graduate. Dropping out of CS because of one class is ultimately self-defeating. Dropping out of any major because you'd rather study something else, on the other hand, is one of the best decisions you could ever make.

Bottom Line:
College is not the culminating event of your life. Relax. No one is forcing you into anything. It's a big world out there; college is just one of many possible next steps into that world. One of the advantages of choosing that particular path is that you'll have a lot of room for messing around and having interesting experiences. Revel in it.

By the way, if you want to know more about what it's like being an Anxious Person at College, feel free to drop me a MeFi mail.
posted by Commander Rachek at 6:23 PM on April 22, 2009

Yeah, you need to step back and chill. A year off might be good. The choice of language for an intro class really doesn't matter, and, like it or not, learning Java will do you some good. Now, if the entire program is in Java and you never will learn a lower-level language or a functional language, well, then there's a problem. But very few programs are like this.

Your other option is to skip the intro classes, which may be more common than you think. If you can show you know the material well sans Java (i.e., if they want you to implement a binary tree, you better be able to implement the binary tree on paper in front of the prof. to show taking the class is a waste of time), they may well let you sub in a higher-level class for the program requirement.

And at worst it's a wash of a class, tack it onto your quarter, spend extra 5 hours a week on it because you know it all already, and now your transcript has 5 extra units (or 2 extra credits or whatever your school does) and you have a big fat A to start off your CS program with.

College will be massively stressful in other ways, but whether or not your intro CS class uses Java or not should really be nothing more than an annoyance.
posted by devilsbrigade at 7:01 PM on April 22, 2009

As a senior I feel the need to give you a few bits of advice I wish I'd been smart enough to realize when I started college. I recognize a lot of your worries and want to say it's okay. There is no magic answer to any of this; you're not going to suddenly wake up one day and have the rest of your life planned out. Uncertainty is part of everything, and the sooner you stop looking for the one right answer the better off you'll be.

Don't worry too much about coming out of college with the "right" resume. I have two majors, a minor, an education certificate, and I'm in my school's Honors program, on top of working and volunteering each week. I felt like I had to pick up a second major so it would distinguish me from other people, and I picked the major because I felt it was what potential employers would want to see. Now that I'm almost done I wish I hadn't taken on so much simply because I thought it would give me a "one-up" on everyone else. Do whatever you can to succeed, but don't let it become all-consuming.

To take it one step farther, don't worry about coming out of college with a major life plan, either. You don't need to have every year of your life plotted out so it will help you reach "the American dream." Take it slow, and take some time to figure out what your dream is. It's okay if you don't know now. Nobody does, not even the people who say they do.

You're going to have to take some horrible classes with some horrible teachers at some point. My capstone seminar is about the history of American sports; it's hard to imagine a subject that could possibly be less interesting to me, but the teacher's really good so I suppose it's a wash. adamrice is exactly right when he tells you to think of college as a game. Some (most?) classes aren't about learning the subject; they're about fulfilling the requirements to graduate. Better to go in knowing you're going to play the game rather than get all righteously indignant halfway through the year because you're not learning anything and how dare this teacher waste your time like this and who does he think he is, anyway?

Finally, it's normal to have some depression/anxiety about finishing high school. You should throw yourself into these last few months and don't feel bad about it all being over soon. You'll have better days in college. Not immediately, but they'll happen. You can be both sad about high school and excited for college at the same time, but you have to choose to be excited about it. If you think you're depressed don't be afraid to ask for some help. The summer before I started college were some of the hardest months of my life. It does get better, I promise.
posted by lilac girl at 8:01 PM on April 22, 2009

I'm a professional programmer, BA in math-compsci, 35 years experience, but you probably haven't read this far down in this thread anyway (no insult intended, it's just a long thread, huh?)

Java, ick. Could have been a good language. Write once, debug everywhere.

Do what I did in college. Write the assignment to hand in and get a grade, then write it the correct way in a better language. And that was on punch cards sonny. Students (except medical students) have the great luxury of time. Enjoy it. You may never have it again.

For instance, write your own version of the Java assignments in C#. It's what Java could/should have been.

Last word: my career is starting to run out of's coughing...outsourced jobs to other countries, economy in shambles, etc. I always advise young people to be ***CAREFUL*** about getting into IT at all, and what career path within IT if you feel you must. I'm not trying to reduce my competition from the next generation, I'm just trying to be compassionate.
posted by forthright at 8:27 PM on April 22, 2009

ok, everyone's giving you advice so i'll add mine:

"I love computers and I just don't want to murder my passion"

don't have a passion for "computers." find a passion for something about them that you really care about. is it the materials/hardware? is it the display of information? is it the global communities with whom you communicate? is it the combination of many aspects/is it none of these things? pick something and run with it, learn as much about it as you can, and keep digging deeper.
posted by Señor Pantalones at 10:00 PM on April 22, 2009

I'm going to add another comment here. Go for CS if that's what you want to do. But don't be in a huge rush to graduate. Take some crazy classes that sound interesting, and don't worry about whether or not they count towards graduation credits (just be aware that some schools have an upper limit since they want you to eventually get out of there).

Also, during the summer when you have time off, go on a study abroad. Even if you don't know spanish, pick up a phrase book and find something fun to do in Latin America. Most schools offer these experiences and if you don't take advantage of them while you're in school, you may never. Going on three study abroad trips (Ecuador once, Costa Rica twice) was easily the BEST thing I EVER did in college. All told, I spent about 10 months of my education in other countries. I learned more there about myself, about people, and about the world outside of the United States than I did in all of my regular classes combined.

If you have some extended free time when you're not out of the country, consider taking classes at a community college. You can learn all sorts of cool stuff -- welding, car repair, beekeeping, carpentry -- that will make you a more well-rounded person and give you the skills to do things on your own (and thus save you some money) in the future.

Good luck.
posted by bengarland at 6:15 AM on April 23, 2009

If your CS department is worth the paper your degree will be printed on, you will be learning many, many new environments foreign to you. For me, SQL, ML, VHDL, hardcore OOP, etc etc etc. (And had I entered the next year, C#.) Assuming you know C++, the jump to Java is the least of your worries. Take a couple weekdays to read up and you're set.

Don't look at college as a shopping cart, where if you see something in there you don't want you refuse to pay for it. If that were logical I woulda dumped ML from my coursework on day 2. (Here's why.)
posted by spamguy at 7:02 AM on April 23, 2009

They're not teaching you Java so you can write the next Halo or make fancy websites, they're teaching it to you so you learn the fundamentals of computer science, which you can then apply to whatever language you like. Once you learn Java, you'll be able to switch C# in a day, and from there PHP is a snap.

And for the record, Java is an incredibly elegant, modern language. You could do A LOT worse.

Man, I wish I could have learned Java - they taught us C at Rutgers-Newark, while the kids at the bigger campus were learning Java. Now I do C# development.
posted by exhilaration at 2:14 PM on April 24, 2009

« Older Where is an uncrowded beach on Memorial Day?   |   genealogy/family tree programs Newer »
This thread is closed to new comments.