<p>Hello. I am currently taking a Java class at my highschool where we are being taught very primitive programming skills–may I add being taught poorly at that. However, I have been doing well in the class, but I do know the assignments are not difficult. I plan on taking AP Computer Science next year. I looked at the summer assignment online and nearly had a heart attack. I haven’t learned half of the things needed to complete even one of the assignments, and my teacher definitely isn’t going to help because he assumes everyone knows everything (this assumption applies to only 3 people)! My first question about programming: If I struggle in AP Comp Sci, does this reflect how I will do if I pursue it in college? Should I just take this class and try to teach it to myself, and use this course as a “weeder” class?
My second question pertains more to the lifestyle of a programmer: I know that stereotypes are not good, but they exist for a reason, and most of the boys in my class (I am 1 of 2 girls in a class of 30) are, for lack of better description, nerdy and introverted. However, I consider myself outgoing, feminine, and extroverted. Is it true that programmers are really just shut up in front of their computer all day and never communicate? Thank you. My questions are throughout the text, so sorry if distinguishing them is cumbersome.</p>
<p>Computer Science is the art of problem solving. The programmer always has some kinds of problem obsessing his / her mind. He/she therefore tends to be more focused, less talkative (nerdy) and prefers quite places to noisy ones (introverted). It’s the job’s characteristic that forms the worker’s.</p>
<p>There’s nothing wrong with being outgoing and extroverted. Do keep in mind, however, that your classmate may already finish the course’s textbook while you’re hanging out with your friends. He spends more time and sacrifices his social life, so that’s a natural outcome. But it’ll more or less frustrate you in the long run.</p>
<p>If you do love programming, want to succeed while still ‘being yourself’, how about looking at more art-related sections of computer science? Digital media computing, for example. I’m sure you’ll love what you can draw as you apply object-oriented programming in implementing digital effects.</p>
<p>In terms of communication, there is actually a lot in a real world coding setting as most projects are completed by a team of programmers. At the very least there must be detailed email correspondence. An extroverted person won’t have any problems in a work setting.</p>
<p>Being a good communicator is an asset in any career. Don’t listen to people who try to redirect you because you aren’t hunched over a computer day and night. It sounds like your teacher isn’t giving a true introduction to cs. Can you take a course at a local community college? Or is the ap taught by a better teacher? </p>
<p>My daughter majored in math-comp sci. and went to grad school as well. I saw someone in the CS & Math majors forum saying they assume everyone there is a (Myers-Briggs) INTP, but my daughter is an ENTP extroverted. She is an attractive girl who can dress up or down. She never had any CS in HS and didn’t code or was a gamer type or anything. Well she dabbled in prepackaged websites in Jr High. Girls often come to CS through other channels than boys do and there are some universities that have recognized that (CMU) and look for other things in applicants. She was good at math, took the AIME. She was introduced to programming in Physics class in college using Matlab. Then she took her college’s intro to CS sequence and loved it. That class integrates CS concepts and theory and learning several programming languages and algorithms . She never looked at CS as being a programmer, but as being a scientist. She did research throughout undergrad years. Even CS research involves building things and programming and working with algorithms. She has several software engineering internships and is now a data scientist. There is a wide variety of jobs in the CS sector, working in a wide variety of industry, govt, tech, finance, health and more. CS lifestyle is very good and pays well. You may work hard but not like a lawyer or investment banker, say. Although some jobs are very deliverable oriented and may have long hours sometimes on deadline. You can have a life. DD is very active in the music scene in her area and even in a performing ensemble.</p>
<p>Nerd CS guys may think you have to be just like them to be successful but it isn’t true. There is much work to be done for women to break this sexist worldview. There are also a wider variety of guys in CS than you are seeing now. Women have opportunities in CS because of being underrepresented. You may bring something valuable to the table–communications, perspective. Many companies use pair programming and require working well with others. You can seek out companies that avoid ‘bro’ culture, or companies like Square who actively seek women engineers. They run High School and College Code Camp. Try to get involved with a group like Girls Who Code or something. My daughter’s university sent her to the Grace Hopper conference one year.</p>
<p>Do not take loving AP CS as a referendum on your ability or the study of CS. I’ve heard very mixed things about it. A college department will likely do a much better job at introducing you to the subject. If it is the same teacher and you think it will be a detriment skip it and focus on AP Calc and Physics. But I’d try it. If you neglect to tell your teacher you need help because you make assumptions about his assumptions then that’s on you.</p>
<p>My dad is a programmer and he has to do a LOT of communication. He has to wear a headset for most of the day and listen in on calls and discuss (or, in his case, teach!) with people daily. There’s also a lot of communication involved in his team and with his manager, and although he’s normally a bit socially awkward and somewhat introverted, he’s had to learn how to speak and pitch. Being an extrovert is more than likely to help you out, even in a CS field.</p>
<p>I’m friends with a number of people going into compsci/related engineering fields (about 20) and almost NONE of them are the non-talkative type. Sure, they’re sort of weird, but in a hilarious sort of way. They go paintballing, discuss politics, go out with pretty girls - in short, I’m sure you will meet people who don’t sit hunched over their computers all day, or even if you do, most of them won’t be so awkward as to want to avoid contact with you. They’re still people too, you know :P</p>
<p>As for whether or not you’re capable skill-wise, I really have no idea, but imo if you really want to go into this field and you’re willing to put in the hard work, then go for it. Jobs in almost ANY field require “reading textbooks” and finding a balance between your work and your social life. It’s really not that bad. </p>
<p>
</p>
<p>This. If anything the opposite is true. In my CS program plenty of people think they can get away with being jerks because they are “skilled”. First of all, they’re not that good. Second, they will have to go through interviews. Interviews not only test aptitude but also your personality. Third, working with people is necessary in every industry! The best CS jobs require a good amount of social skills.</p>
<p>I’ve seen and read about people at a lot of tech companies, and I’ve met people who work there, and they all seem like nice people. Yeah, they are a bit nerdy and quiet but they have friends, girlfriends, wives, go out, talk a lot, etc They are normal.</p>
<p>There’s a myth that you can be a “lonely genius”, but it’s not really true. In real life and academia, you mostly work and interact with other people. It doesn’t matter how good you are. If you are a jerk, you will get fired.</p>
<p>The only jerks I know in tech are people who work dead end IT jobs that barely have anything to do with programming. Or system admins, but you won’t ever meet one since they really don’t go out much.</p>
<p>Sorry I went on a rant there. It’s just that those kind of people really make me mad!</p>
<p>About the class itself, my APCS class was just Java 101 while teaching basic OOP principles. If you want to do well, I suggest you pick up a good java book (we didn’t use a text book in class but you can search online) or learn online. Google should help with both. You can search “Java X” where X is what you want to do. Also the Barron’s book is good. I suggest you learn what you are doing well because the AP exam is written by hand so you won’t be able to test a piece of code. You have to know what you are doing!</p>
<p>The problem that many CS students face is that it starts out easy (write a program that prints this or that with a loop), but the learning curve goes up when you start getting into discrete math, structures and algorithms. It’s then when you realize CS is mostly about math and problem solving than programming, and that’s when a lot of students drop out. Anyone can learn that stuff, though.</p>
<p>Luckily, you won’t have to learn too much about that stuff in APCS (which is also bad and why a lot of people drop college CS, but whatever). So yeah, it sucks that your teacher isn’t helping you, but the amount of programming help on the internet is infinite, so you can spend a few weeks learning online before doing the summer homework. Just doing an hour a day can help you a lot and still leave you with a lot of free time.</p>
<p>If you need any help, you can also let me know. I don’t really do Java but I can help with the concepts and ideas behind the code.</p>
<p>Sure, most of those in CS might come out to you as introverts or ‘nerds.’</p>
<p>Yet that could possibly be constructed to initial thoughts and paradigms. Yet there are all sorts of people in CS, even if you can’t tell initially. There are many nerdy outgoing introverts!</p>
<p>In the end, your personality isn’t based off of this field, and even if most people are nerdy introverts, you can still do really well in CS being a totally outgoing extrovert.</p>
<p>In the end, it is all up to you.</p>