Comp Sci Major general questions/concerns

<p>So I'll be attending Santa Barbara City College this upcoming year in hopes of TAG'ing into UC Santa Barbara as a Computer Science Major focusing on Software Engineering mostly. I'm pretty much green as grass when it comes to coding and programming but I'm starting to look at some online courses for some Intro to Java etc. but the more I read, the more intimidated I am of what I'm reading...</p>

<p>I've been reading more and more about Comp Sci being a very competitive field and that many introductory students already have a lot of programming experience. Since the class is graded on a curve, this would mean I'm competing with classmates that may have a lot more programming background (my High School doesn't offer classes) than me and put me at a large disadvantage. I've also heard absolute horror stories about very bad Intro to Comp Sci professors who often have a difficult time teaching etc. making learning even more difficult. It's also worth noting as a senior in High School, while I'd say I am good at math, the highest math I've taken is AP Statistics, and have not yet taken Pre-Calculus, and I have a feeling with the heavy math requirement that also puts me at a bit of a disadvantage.</p>

<p>Now for TAG I'm required to maintain a certain GPA throughout my first 2 years (think last time I checked it was a 3.4? I'm unaware if it changed or not). I'm a good student with a pretty good work ethic, but I'm nervous I won't be able to keep up with some of the Calc and CS coursework in a situation I described and fall behind. </p>

<p>Hopefully an experienced Comp Sci major can answer some of my questions. Am I really behind due to the little programming experience and no pre-calc? Should I be worried about starting in Pre-Calc my Freshmen year? How important is learning some programming BEFORE taking the class? What's the best language to start with to help prepare me? And finally, am I overthinking this and just causing worry for nothing? I take this subject very seriously because I see myself enjoying it once I understand the material and the last thing I want happening is to fall behind on these courses. Thank you for any advice in advance.</p>

<p>Sincerely,
A Nervous Comp Sci Major</p>

<p>Having to take precalculus in college is behind in math. Depending on the physics courses needed and their math prerequisites needed, it may be more difficult to complete the pre-transfer courses in two years. Can you take precalculus during the upcoming summer session to get back on track for math?</p>

<p>The courses you need at SBCC to transfer to UCSB CS are listed here:
<a href=“http://web1.assist.org/web-assist/report.do?agreement=aa&reportPath=REPORT_2&reportScript=Rep2.pl&event=19&dir=1&sia=SBCC&ria=UCSB&ia=SBCC&oia=UCSB&aay=13-14&ay=13-14&dora=CMPSC”>http://web1.assist.org/web-assist/report.do?agreement=aa&reportPath=REPORT_2&reportScript=Rep2.pl&event=19&dir=1&sia=SBCC&ria=UCSB&ia=SBCC&oia=UCSB&aay=13-14&ay=13-14&dora=CMPSC&lt;/a&gt;&lt;/p&gt;

<p>My daughter’s HS didn’t offered any AP CS but she did fine in her intro class. I think she got an A+, but the second class is a killer/weed out class. She end up less than A and more than a B+. But it’s a lot of hard work on her part. Don’t take too many classes at once and you should be fine.</p>

<p>Thanks for the replies, I think I’m going to start with this book and go from here: <a href=“http://www.amazon.com/Jumping-into-C-Alex-Allain/dp/0988927802”>http://www.amazon.com/Jumping-into-C-Alex-Allain/dp/0988927802&lt;/a&gt;&lt;/p&gt;

<p>Will the math really hurt me in regards to my progression? If it’s something that would stop me from transferring in 2 years then I’ll certainly look into trying to take Pre Calculus over summer. My high school doesn’t offer summer school but I’m sure some local community colleges have something of the sort although I don’t know how feasible learning Pre Calc is in 2 1/2 months.</p>

<p>However a summer course would most likely cost more than it would be taking it at SBCC so I only want to take it if I’m positive I need to (as a side note I’ve taken Physics in Highschool but no college credits or anything). I plan on meeting my counselor April 26th to discuss this situation so I’ll probably have more of an idea of what I need to do regarding math. </p>

<p>I think you need discrete math for CS and lots of proofs. My daughter finished AP Calculus but I’m not sure if was necessary(knowledge wise) for CS.</p>

<p>The ASSIST report indicates that you need at least four math courses (starting at calculus) and some physics courses to transfer to UCSB CS. The physics courses may have additional math prerequisites (E&M often requires multivariable calculus). So being calculus-ready is likely important for being able to complete the pre-transfer courses in two years.</p>

<p>“Am I really behind due to the little programming experience and no pre-calc? Should I be worried about starting in Pre-Calc my Freshmen year? How important is learning some programming BEFORE taking the class? What’s the best language to start with to help prepare me? And finally, am I overthinking this and just causing worry for nothing? I take this subject very seriously because I see myself enjoying it once I understand the material and the last thing I want happening is to fall behind on these courses. Thank you for any advice in advance.”</p>

<p>I’m perplexed about the idea of having to take physics and/or calculus as a CS major, but I believe it has become a standard for engineering departments to make students take these courses for the sake of their department. Don’t argue with me about that, though. </p>

<p>When I was taking Algebra II in high school, my teacher taught us much of the skills needed to succeed in Precalculus. I never took Precalculus, but I knew the material. Either way, you have to assess your math skills yourself. Do you know about transcendental functions? Do you understand the concept of composition of functions? Can you manipulate a function and get to its graph other than using a calculator and plotting points? Do you know about horizontal and vertical asymptotes? Do you understand the concept of exponential growth and decay? Can you find the zeros of a polynomial by long division or synthetic division? </p>

<p>If you have no clue what I’m talking about, I recommend searching for some practice problems on these topics. If you want, I might have an old Precalc textbook PDF somewhere on my computer that I could send you. Calculus doesn’t necessarily require you to know / remember everything, depending on your instructor (be sure to read reviews online), but not knowing these topics is not helpful for you either for Calculus. </p>

<p>When it comes to the usefulness of Calculus for a CS major, it depends on what you want to be or do in the future. Do you want to be a software engineer? Then not knowing Calculus will make your life a little harder. Other than that, keep in mind that most CS majors have taken many math courses.</p>

<p>I don’t think it’s important to learn to be a master programmer before taking the course that is supposed to teach you how to program. Many of the programming classes are very brief introductions. You won’t learn how to make the second Call of Duty in a C++ course, that’s for sure. You can always watch tutorials and download Eclipse/NetBeans and do some problems. I might be able to send you some of my own programming problems, if you want, although I have never taken or learned any C++ other than Java, PHP, JavaScript and some Perl. I think this is the right time to know what is the most popular programming language on the market. Usually, Java and C++ are competing for the 1st and 2nd place, and PHP and JavaScript for the 4th and 3rd, althoug these two are complements for a successful website. PHP syntax is very similar to Java, and Java is very similar to C# (C-sharp). Learning any of these puts you at an advantage and makes it easier to learn 2 more.</p>

<p>You’re not overthinking it at all, in my opinion. These are great questions to ask a CS major. I know a few people who have taken classes in programming and have never done anything with it, but still aced the course. I think this has to do with passion, and if you get all As in a course, it doesn’t necessarily mean you will become an awesome programmer. Real life and employment for software engineers, for instance, is totally different than taking a course, flipping a book, opening up Eclipse, and become a robot for a few minutes and finish that one lab. This is where all of your knowledge and creativity comes into play. I have to say, besides all the math I’ve taken so far (up to calc 2), and the physics to come, you should definitely take courses that you like as well, (when you take your GEDs). Get to know other subjects, be curious and have a passion for what you want to do, once you’ll figure that out. Keep in mind that it’s totally normal that students switch their majors after taking that one class with that one instructor that inspired them. </p>

<p>This should be your to-do list:</p>

<ol>
<li>Brush up on your math, open a textbook, do sample problems, practice!</li>
<li>Get to know the many concentrations for a CS major. Programming is not the only thing we do. </li>
<li>After brushing up on some math, get to know what calculus is about anyway. </li>
<li>Explore what interests you the most in CS.</li>
</ol>

<p>Lastly, it is true that many CS students have some programming skills. Before becoming a CS major or even applying to colleges, I’ve done a lot of web development. Gradually I’ve started doing some Java and now I’m thinking of a summer project for a desktop application, (possibly a natural language processor. Yes, very complex, but even if I fail, I have become smarter.)</p>

<p>

</p>

<p>Engineering-based CS majors typically do require physics. Note also that ABET accreditation for CS also requires substantial math and science courses, as does the patent exam if one wants to take it from a non-ABET-accredited CS major background (ABET accreditation per se is mainly of interest if you want to take the patent exam).</p>

<p>However, some schools offer non-engineering-based CS majors that do not specially require science for the major (although science may be required for breadth or general education requirements). Calculus is typically still required, although often not multivariable calculus (although discrete math, linear algebra, and probability/statistics are typically required).</p>

<p>

</p>

<p>@DrGoogle: Do you know which class this was? Was it the Discrete math course or perhaps Data Structures?</p>

<p>I am curious because my son’s high school does offer AP CS and could then go on to take CS at the local university. There are some changes taking place though about which class students place into. I have heard that student going from AP CS to Discrete Math have had some challenges.</p>

<p>AP CS is completely unrelated to Discrete Math. Most high schools won’t have a class that’s all that similar to Discrete Math, the most similar would be Algebra. </p>

<p>Yes, the Discrete Math is offered at the university but students who take AP CS at the high school can then take classes at the university even if they are still high school students. Students used to go from AP CS to Data Structures but now they need to go from from AP CS to Discrete Math. Discrete Math seems much more challenging though.</p>

<p>I am wondering what class DrG. was referring to as a CS weeder class.</p>

<p>MidwetSalmon, it’s the first class of data structures. It was very time consuming and the final was very hard.
My daughter had an A average(95) going into the final but she either bombed and not doing well so the final grade was not an A.
I think Discrete Math was pretty easy as in not hard but there was a lot of proofs.</p>