Should I take intro to comp sci??? please advise, over.

Discussion in 'OT Technology' started by Ebtromba, Jun 22, 2006.

  1. Ebtromba

    Ebtromba Active Member

    Joined:
    Nov 22, 2005
    Messages:
    6,050
    Likes Received:
    0
    Location:
    alexandria, VA
    A bit about me- I am a music major, and am about to register for my last undergrad class EVER. I have always been good with computers, and a sizable chunk of life right now is editing and manipulating digital audio. I am a math retard, I never got past algebra II in high school, and I have not taken a math class in 5 years.

    I am considering taking COSC1410 INTRO TO COMPUTER SCIENCE I. It has always interested me. However I have no desire to take anything I can’t handle which is why I am pretty sure I won’t go through with it. The reason? Prerequisites: MATH 1330 and credit for or concurrent enrollment in MATH 1431. The first one is precal and the second is calculus. The course description says “Computer organization, introduction to structured programming, C programming language, and algorithm design.” The last one sort of scares me. How much math will be involved in this class?? Is a working knowledge of precal and such absolutely essential, or will I be able to figure it out as I go?

    It has almost totally scared me away. Still, the curiosity remains. Thoughts?
     
  2. P07r0457

    P07r0457 New Member

    Joined:
    Sep 20, 2004
    Messages:
    28,491
    Likes Received:
    0
    Location:
    Southern Oregon
    well, the first year of compsci for me was very easy. Basic intro to C++, structures, enums, basics, etc... Then we went into OOD, such as classes. I remember we talked about b-trees, and things like that. Discrete mathematics was a pre-req (could be satisfied by parallel enrollement) but except for basic logic opperands, I saw no other correlation between the two.

    If you understand == != && ||, the concept of a boolean, and order-of-operands (parenthesis, exponents, multiplication, division, addition, subtraction) then you'll be fine.
     
  3. Ebtromba

    Ebtromba Active Member

    Joined:
    Nov 22, 2005
    Messages:
    6,050
    Likes Received:
    0
    Location:
    alexandria, VA
    Well, as I had never heard teh word
    boolean before I googled it, and it seems quite simple enough. and while I have never heard the word 'operand' either google again pointed me to this extremely simple concept.

    not sure what you meant by
    but this is actually looking very doable. Its an intro course afterall (100 level) so its not going to be terribly advanced stuff I'm sure. and its the only thing I'll be taking. The only thing I was worried about was the math.

    I'm kind of excited. should I feel dirty?
     
  4. P07r0457

    P07r0457 New Member

    Joined:
    Sep 20, 2004
    Messages:
    28,491
    Likes Received:
    0
    Location:
    Southern Oregon
    They are all logic opperands. In fact, they're all binary opperands.

    assume:
    a=2
    b=3
    c=2
    d=4

    == is "is equal to": (a==b: false; a==c: true)
    != is "is not equaly to, or is different than": (a!=b: true; a!=c: false)
    && is "and": (a==c && a!=b: true, a==c && b==c: false)
    || is "or": (a==c || a==b: true; a==b || b==d: false)
     
  5. Corp

    Corp OT Supporter

    Joined:
    Sep 11, 2003
    Messages:
    28,201
    Likes Received:
    0
    Location:
    Providence, RI
    if it's anything like my intro to comp sci was this year, i would say no just because you dont learn anything worthwhile. i didnt really learn anything in either of my comp sci classes this year
     
  6. crontab

    crontab (uid = 0)

    Joined:
    Nov 14, 2000
    Messages:
    23,439
    Likes Received:
    11
    .

    Although I didn't take Comp Sci, I'm a Elec/Comp Engineer so intro classes were similar. Don't take it. Complete waste of time. Will serve no use for you whatsoever.
     
  7. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    My experience has been that people who know their ass from a hole in the ground in regards to comp. sci. have a much easier time getting their computers to cooperate with them -- no doubt this is because it trains them to think in very strict, logical terms when necessary. If you're capable of thinking about things in logical steps, take the course. It will help you decide whether you have any real interest in learning more about the discipline; that's what intro courses are for, after all. And if nothing else, you'll have a somewhat better understanding of what goes into making all that nifty digital audio software work.
     
  8. HardTech

    HardTech hungry

    Joined:
    May 5, 2000
    Messages:
    28,103
    Likes Received:
    1
    Location:
    NorCal
    My experience with computer geniuses has been that they ALL have a background in music.
     
  9. P07r0457

    P07r0457 New Member

    Joined:
    Sep 20, 2004
    Messages:
    28,491
    Likes Received:
    0
    Location:
    Southern Oregon
    music is math computers are math

    too bad my father is a big software dev, and he's very not musical so that pretty much ends the validity of that comparison :hs:
     
  10. HardTech

    HardTech hungry

    Joined:
    May 5, 2000
    Messages:
    28,103
    Likes Received:
    1
    Location:
    NorCal
    well, they both require you to think on your feet

    what's weird is that my best programming teacher went music all the way.. undergrad, masters, and PhD. I just found out that my IT Leadership professor (PhD level... VERY brilliant) graduated with her masters in the flute. Not to mention Paul Allen (Microsoft co-founder) is a huge Hendrix fan, and actually got Gates started into music

    maybe computers come naturally to musical people, and vice versa. I'm pretty musical too, so I'm naturally a genius :p j/k

    anyway, intro to computer science is good. My first programming class was Java and it beat the shit out of me. I spent more time in the lab than anyone else and still failed out. Now, I love Java and am pretty damn good at it if you ask me :coolugh:
     
  11. Peyomp

    Peyomp New Member

    Joined:
    Jan 11, 2002
    Messages:
    14,017
    Likes Received:
    0
    Take a CIS/MIS intro class instead.
     
  12. Ebtromba

    Ebtromba Active Member

    Joined:
    Nov 22, 2005
    Messages:
    6,050
    Likes Received:
    0
    Location:
    alexandria, VA
    I have not decided yet...
     
  13. Clarity

    Clarity New Member

    Joined:
    Feb 14, 2006
    Messages:
    3,309
    Likes Received:
    0
    Math retard? I'll say! You didn't even get past Algebra II?!

    Lucky bastard you are though. C Programming. The bastards at my school are teaching Java. As if I didn't have more shit to waste my life on.
     
  14. Clarity

    Clarity New Member

    Joined:
    Feb 14, 2006
    Messages:
    3,309
    Likes Received:
    0
    you bastard. my hs offers java only. fucking ridiculous, and i've already delved a bit into c++. you will regret divulging that info, i'm now going to ask you c++ questions ;)
     
  15. peerk

    peerk New Member

    Joined:
    Mar 14, 2005
    Messages:
    984
    Likes Received:
    0
    More than 2/3 of my intro to comp sci class dropped because they were just trying to kill a CS requirement and get an easy A. They thought they would be taking a "how to use word" class.

    But if you are willing to put a good amount of time into the programming projects the class shouldn't be a problem.
     
  16. Corp

    Corp OT Supporter

    Joined:
    Sep 11, 2003
    Messages:
    28,201
    Likes Received:
    0
    Location:
    Providence, RI
    thats all my hs had, i took it for 2 years and absolutley loved the class. my hs classes were worth more than my college classes so far.
     
  17. Peyomp

    Peyomp New Member

    Joined:
    Jan 11, 2002
    Messages:
    14,017
    Likes Received:
    0
    Fuck a C++. Its a totally inappropriate first langauge.
     
  18. Penguin Man

    Penguin Man Protect Your Digital Liberties

    Joined:
    Apr 27, 2002
    Messages:
    21,696
    Likes Received:
    0
    Location:
    Edmonton, AB
    :werd:

    Although, no less appropriate (I would venture to say slightly more appropriate) than Java.
     
  19. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    C++ is arcane at first glance, but it enforces good structured programming techniques that other languages (notably VB) slack off on. That said, because languages like VB are so lax, they are more appealing to people who don't know how to think like a programmer yet. So I guess the question is whether your focus is on quality-control or marketing.
     
  20. Penguin Man

    Penguin Man Protect Your Digital Liberties

    Joined:
    Apr 27, 2002
    Messages:
    21,696
    Likes Received:
    0
    Location:
    Edmonton, AB
    Yes, VB is possibly the _least_ appropriate first language. However, C++ has so much hidden complexity that beginning programmers simply don't need, making it a not so appropriate choice. I don't think any object-oriented language is an appropriate choice for an introductory course.

    In the good old days, everyone taught Pascal as a first language. It's a superb choice: very structured, but without the complexities of C++ or even C.
     
  21. Peyomp

    Peyomp New Member

    Joined:
    Jan 11, 2002
    Messages:
    14,017
    Likes Received:
    0
    C++ is so complex that only a few people on planet earth know all of it. Therefore it is a totally inappropriate first language. Its got nothing to do with quality control or marketing. The fact is, C++ in general has HUGE quality control problems, C++ projects only scale if you have extremely talented programmers (and you probably don't), and C++ in general isn't useful for most students in the jobs they will get. C++ in a highschool would be a misguided nightmare.

    Teach them something OO, and teach them C. And go from there. Java and C are good choices for first langauges. Although I'd prefer that they start with C, so students learn to manipulate memory, pointers and perform bit operations. When I hire, I ask C questions no matter what. As per Joel on Software, if you can't create a linked list in C, you can't work for me as an engineer. Period. The only reservation I have about Java as a first language is that its so fucking verbose and has such an inefficient way of doing anything that I'd hate for them to think that its normal. They SHOULD think that Java's way of doing things is sometimes much lengthier and verbose than C's, and they should appreciate the high level of abstraction and efficiency it provides through its libraries... because they've worked at a lower level in C.

    So, C first. Java second. Whatever theoretical coursework requires after that, but no language classes period.

    Know what they taught at my school first? Javascript. One of the reasons I never completed a CS course.
     
    Last edited: Jun 24, 2006
  22. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    Interesting.

    I taught myself BASIC and Visual Basic in middle school and high school, and I took a C++ course senior year in high school. I failed it. Then I took C++ again in my first semester of college (because that was the CS language of choice at my school) and I aced the living hell out of it. A lot depends on the professor.

    I didn't take an assembly course until junior year in college; I'd have to say that's a very good thing, because I wasn't mentally ready for it before then. I never have taken a C course; I'd be interested to learn it for knowledge's sake, but since I pretty much exclusively develop for Windows nowadays, it wouldn't do me a hell of a lot of good in real life.
     
  23. Penguin Man

    Penguin Man Protect Your Digital Liberties

    Joined:
    Apr 27, 2002
    Messages:
    21,696
    Likes Received:
    0
    Location:
    Edmonton, AB
    I would tend to agree with this, although I'm not against teaching OOP as a concept using more than one language. For example, there used to be a course here called Object-Oriented Programming Languages that covered Java and Smalltalk, or something like that. I think learning about the OO model and comparing/contrasting between different implementations (whether you choose Java/C++ or Java/Smalltalk or whatever, doesn't really matter) is a Good Thing for CS students. It's not necessarily the most practical way of teaching things, but I don't think practicality should be the goal of university studies.

    I heard Ken Thompson speak recently and he shared an interesting anecdote about the development of C++. According to Ken, Bjarne Stroustrup's sole goal in his career was to write a popular programming language. Because his goal was to make C++ popular, whenever someone would suggest a feature, Bjarne would put it in. No questions asked. This was the design philosophy behind C++ and helps explain why C++ has become so popular, as well as why C++ is so freakin' complex.
     
  24. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    Actually, if your goal is to teach object-theory, then you NEED to use more than one language -- otherwise the object-theory will become inextricably tied to the specific language in the minds of the students, and you'll have to fight their misunderstanding to make them advance. I've seen it happen many times.
     
  25. Peyomp

    Peyomp New Member

    Joined:
    Jan 11, 2002
    Messages:
    14,017
    Likes Received:
    0
    There's probably some truth to this. Design Patterns: Elements of Reusable Software is in many langauges, probably in part for this reason.

    I personally had a LOT of trouble grasping OO, because I'd been doing procedural/functional bash, tcl, perl and C for so long. I still get stuck in procedural mode sometimes. Alot of colleges try to avoid this headache by going with something OO like Java first, but I think this is a mistake. Lower level procedural first. There's nothing wrong with weeding fuckers out. If you can't handle C, then find another major.
     

Share This Page