Computer Science Majors...

2»

Comments

  • Reply 21 of 34
    dfilerdfiler Posts: 3,420member
    Sorry if I mischaracterized the UCI educational experience as vocational. My goal was to point out differences between CS programs or even intra-program differences between courses. It is probably advisable for CS students to at least ponder the merits of theoretical vs. applied education.



    I am leery of proclaiming one better than the other. That debate has been waged for at least a couple centuries now. Theory and application-centric educational models have come in and out of favor for many fields. Simply being aware of the debate at this point in someone?s education should be intrinsically valuable?



    (Or maybe that is just my theory-based education showing )
  • Reply 22 of 34
    yevgenyyevgeny Posts: 1,148member
    Quote:

    Originally posted by dfiler

    Sorry if I mischaracterized the UCI educational experience as vocational. My goal was to point out differences between CS programs or even intra-program differences between courses. It is probably advisable for CS students to at least ponder the merits of theoretical vs. applied education.



    I am leery of proclaiming one better than the other. That debate has been waged for at least a couple centuries now. Theory and application-centric educational models have come in and out of favor for many fields. Simply being aware of the debate at this point in someone?s education should be intrinsically valuable?



    (Or maybe that is just my theory-based education showing )




    No worries. Sorry if I sounded like I was dismissing theory based schools- wasn't, I was just saying that UCI will pair theory with alot of work and that entering students need to be aware that they are going to a school and a major that will essentially assume that you live for the major.



    The two approaches are both good for different things. Comparing them directly is like comparing a wrench to a hammer (ok, not such an obviously different comparison, but they are different). The truth is that you have to have a mix of both. You must have the theory or your skills go out of date and you must have the practical implementation skills or you can't put the theory into practice. Real world jobs have a tendency to like the practical skills and this is reflected in UCI's curiculum (because UCI asks SoCal and NoCal companies what they want to see in graduates and takes this into consideration when making the curiculum).
  • Reply 23 of 34
    gspottergspotter Posts: 342member
    Quote:

    Originally posted by Flick Justice

    I'm wondering what I should be doing to prepare myself. Any software I should be looking for? Do I need a PC? Can you recommend any book that might help?



    I have the german equivalent to a BS in Computer Science, but our university system is (or at least was) a bit different than in the US, but from the comments of the others, there seem to be some similarities, like weeding out the students in the first years etc. 8)



    You didn't mention what you already know, so it is a bit difficult give some concrete advice, but anyway, here are my comments:



    - learn more than one language asap. It helps to think more abstract and extract the real algorithm from language idioms.

    - One of the best selling CS books is still "Design Patterns" by Gamma, Helm, Johnson, Vlissides. Patterns are IMHO a very nice way to structure proven knowledge (e.g. in order to teach it). Today, you'll find tons of literature, web sites etc. on all sorts of patterns (process patterns, architecture patterns, etc.)

    - If you will be using Java, you might want to look at eclipse.org. There's a nice cross platform OpenSource Java-IDE. Eclipse is the nucleus of IBMs commercial "WebSphere Studio Application Developer" suite. One of the lead architects of eclipse is Erich Gamma (see above), so the whole system is full of patterns you can learn from.
  • Reply 24 of 34
    scottscott Posts: 7,431member
    You know when I think back about getting "prepared" for college work I don't think about reading some book or learning something I thought everyone would know already. I'm not sure what I would tell someone getting ready for college.



    Mostly you have to go into it with the right attitude. Keep track of your work and how long you expect it to take. Sometimes it takes a while to build up experience with those things. Knowing when to give up and ask for help is important. If you have a project deadline coming and you're stuck you have to know when time is getting too short. Go ask someone, prof, TA, fellow student (don't violate the honor code). Don't overload yourself. Talk to the more senior students to get and idea of which classes are killer and which aren't. Ask them which prof's to avoid and which ones to sign up for. Don't forget to have fun but remember I telling you to not to forget to have fun and I'm not telling you to remember to get your work done. You will fall behind in some classes but don't give up. At some point you have to just burn the oil and catch up.



    God what else would I tell someone going to school?
  • Reply 25 of 34
    Quote:

    Originally posted by Flick Justice

    I'm wondering what I should be doing to prepare myself. Any software I should be looking for? Do I need a PC? Can you recommend any book that might help?

    I'm looking forward to this, I have five friends that have either gone through the program or are just finishing up. SO I have a good set of tutors if needed.

    flick.




    Hey flick, I just finished my Computer Science degree at the U of C this Spring! No need to get a PC. I went through the four years on a Mac without any problems. In fact, it routinely served as an advantage for me. I even got to make videos in Final Cut Pro and convinced my group in CPSC 451 to do our project using WebObjects. Drop by and say hi sometime. I work at the Learning Commons (Bio Sciences, 5th floor).
  • Reply 26 of 34
    kickahakickaha Posts: 8,760member
    Hurm. Well, I'm finishing my PhD in CS at UNC-Chapel Hill, thesis on software engineering, programming language theory, design patterns, and architecture analysis. *whew*



    I rather *ahem* skipped the BSc. in CS... got one each in Physics and Math instead from the Univ of Washington in Seattle, looked around and realized I didn't want to be flipping burgers, and went to CS grad school.



    The MS program was a nightmare in the beginning. Walked into the graduate level Algorithms course without knowing what O(n) notation meant. (Walked out with a passing grade, thank god.)



    If UIC is anything like UNC, you'll be doing lecture-oriented theory work in class, then about 60 hours a week of homework. No, I'm not making that up. (Okay, maybe you won't, I was the putz who didn't know O(n)...)



    But... I survived, and I loved it. Even thrived a bit, I guess, since I'm back here after a couple years in industry. Definitely don't diss the theory... a lot of students here came here for the graphics/VR work, and had nothing but disdain for the theory (including the *math* ferchrissakes), and ended up hitting a ceiling in their careers. Theory lets you migrate between specialities with ease. (I taught an undergrad programming languages course a couple years ago... instead of teaching it "Ok, we're going to learn to program in four languages...", I taught theory, then introduced example languages to illustrate the theory, but the theory and basic concepts were the main point. I *still*, to this day, get emails from students from that course thanking me for making it easy for them to learn new languages in a day or two. The students from other years know four, period. The practical experience will come through the homework, but be sure to try and grok the theory too.



    As for the Mac... shouldn't be a problem at all. Most of the faculty here are decrying the lack of student experience in anything but Windows, and are definitely noticing a decline in the quality of incoming student education, overall. :/ PowerBook G4s are taking over, rather quickly, since the faculty *love* having Unix in a laptop. The fact that they can run PowerPoint is just the icing for them. (Moving them slowly but surely to Keynote, I am... )
  • Reply 27 of 34
    nemesisnemesis Posts: 138member
    Quote:

    Originally posted by Yevgeny

    Yes, my friend, I have a good idea of what you can expect. I am a UCI ICS Alumni. UCI has a really good ICS department and a challenging courseload. Prepare to work alot on your homework.



    What series are you starting off in? Are you starting with the ICS 2X series? How much programming experience do you have in general?



    Anyhow, back in the day, UCI's intro courses were Pascal based for the first year and run on Macs. UCI has switched away from Pascal as an intro language to Java and away from Macs to x86 machines as the hardware of choise (with some SPARCs as backup). The good news is that the UCI faculty are pretty anti MS, and so you will not be doing MS specific Java programming. This means that you can do Java programming on your Mac and all you will have to do is to make sure that your homework compiles and runs on Windows (this isn't much work- because this is the whole point of Java code).



    The campus computer store is very Mac friendly- I used to work there and they do quite a bit of Mac business (frankly, they suck at the PC business because it is very hard to compete with Dell even when Dell gives you an edu discount). Their academically priced Mac software selection is excellent.



    As for general advice, where college is fun and all, you need to realize that you are an ICS student and that you can't live the dorm life of a social sciences major. You need to get your homework done. UCI is a quarter school and this makes it very easy for you to get behind (midterms are at week 4 or 5!). Do your homework. It takes longer to get a lab done than you think and you do not want to procrastinate on labs because you will fail out of the program.



    Another thing to realize is that UCI starts off with something like 450 freshman ICS students and they don't want to graduate 450 students. Heck, they don't want 450 students to make it to the second year. Your first year courses have two goals (in order of priority):



    Fail students out of the major

    Teach students tons of computer science



    That's right, ICS 21, 22, and 23 are all about kicking students out of the major. There are too many students who think that ICS is an express ticket to wealth and so the solution is to make the courses sufficiently difficult so that many students simply leave the major. This doesn't mean that you can't do well in the classes. I got B's in all these classes with no previous programming experience, but it was because I was much more disciplined than other students. Get your labs done and do well on the tests for the first year and you will do well for the remaining years.




    Thanks for the heads up. I am taking ICS 21 , Discrete Math, and Writing. I will definetly do my homework. I have little programing experience, i know BASIC and some cheap web markup languages. ICS is a school know. I hope I do well, and I will diligently work to not be one of thse who flakes out. But boy am i gunna have to work my ass off.
  • Reply 28 of 34
    Quote:

    Originally posted by NEMESIS

    Thanks for the heads up. I am taking ICS 21 , Discrete Math, and Writing. I will definetly do my homework. I have little programing experience, i know BASIC and some cheap web markup languages. ICS is a school know. I hope I do well, and I will diligently work to not be one of thse who flakes out. But boy am i gunna have to work my ass off.



    Well, if it's too hard you can get into MIS.
  • Reply 29 of 34
    o-maco-mac Posts: 777member
    Hello,



    I got my BA in Computer Science 12 years ago but ended up in the PC Support field. What can I do to get back into applying my ever-fading CompSci knowledge?? Or should I just bite the bullet and admit that I wasted 4 yrs of my life? hahahahaha....
  • Reply 30 of 34
    yevgenyyevgeny Posts: 1,148member
    Quote:

    Originally posted by NEMESIS

    Thanks for the heads up. I am taking ICS 21 , Discrete Math, and Writing. I will definetly do my homework. I have little programing experience, i know BASIC and some cheap web markup languages. ICS is a school know. I hope I do well, and I will diligently work to not be one of thse who flakes out. But boy am i gunna have to work my ass off.



    Who is your prof for 21? I seem to recall that Klefstad doesn't teach the 20 series anymore (which is good for you!)
  • Reply 31 of 34
    nemesisnemesis Posts: 138member
    Quote:

    Originally posted by Yevgeny

    Who is your prof for 21? I seem to recall that Klefstad doesn't teach the 20 series anymore (which is good for you!)



    Jacobson I believe.
  • Reply 32 of 34
    yevgenyyevgeny Posts: 1,148member
    Quote:

    Originally posted by NEMESIS

    Jacobson I believe.



    Norm Jacobson? I had him for 21 and 23 a while back. He is a good lecturer. Oddly enough I could never get better than B's on his tests regardless of which class of his I took (hence why I got B's for the 20 series). Prof Jacobson is a pretty friendly guy. Jacobson is good in the into series.
  • Reply 33 of 34
    nemesisnemesis Posts: 138member
    Quote:

    Originally posted by Yevgeny

    Norm Jacobson? I had him for 21 and 23 a while back. He is a good lecturer. Oddly enough I could never get better than B's on his tests regardless of which class of his I took (hence why I got B's for the 20 series). Prof Jacobson is a pretty friendly guy. Jacobson is good in the into series.



    Yes that is who I have Norm Jacobson for 21.
  • Reply 34 of 34
    xoolxool Posts: 2,460member
    At Cal I earned my BS in EECS: Electrical Engineering and Computer Science. I finished school over 2 years ago and used Macs my entire time. I only rarely used the campus Windows workstations (mainly making sure my OpenGL C code compiled on windows as well as my Mac). There were also tons of *nix labs, but I stayed away from those since I could easily SSH in and get my work done from home. Mac OS X's *nix underpinnings certainly simplify and streamline matters.



    I was lucky, I was only forced to use dial up for only 1 semester. This was after I moved out of the dorms and before Berkeley had Broadband. If I didn't have high-speed access, I'm sure I would have spent more time in the labs.



    OS X wasn't available until my Senior year, so I can't say exactly how much of an advantage it will be. But think of it this way, my experiences were great while running OS 8/9. I can only imagine what I would have accomplished if I had OS X the entire time.
Sign In or Register to comment.