• Coding
  • Best suited major and uni for programming?

m0ei wrote About the university, both are good to a certain extent, and choosing a university based on ranks and other shit, is nonsense.
Not the American University Seth might apply to. American Universities use a ranking system (not necessarily the one I mentioned) when accepting their students. Students of a higher ranked university are highly likely going to get accepted over a student of lower ranked university along with other parameters (GPA, skills, individual effort, recommendation,...)

Also the ranking system is based on parameters. These parameters include quality of teaching, quality and number of labs, size of library, student satisfaction, teacher availability,... . So the ranking system gives a rough estimate on the quality of university you are applying to. Otherwise, there is no meaning to make a ranking system.

m0ei wrote About the university, both are good to a certain extent, and choosing a university based on ranks and other shit, is nonsense. Don't except to find a job after you graduate if you aren't going to put some side and daily efforts from your side in this field.
I think you missed a sentence between these two sentences. You said that choosing university based on rank is nonsense then jumped to something unrelated to which university to choose (which I couldn't agree more). I would like to know your opinion on how to choose a university.
Here's what I think, despite how illogical it may seem. (P.S.: Applicable in lebanon only)
Seth wrote If I'd like to pursue a career in programming and software development, should I choose Computer Engineering or Computer Science as a major?
1- Start with 2 years in Lebanese University in Roumieh, then pick either of the below:
21- Mechatronics Engineering, minor in CSC.
22- Electrical Engineering, minor in CSC.
23- CSC, minor in GD.
Seth wrote And given that's the case, would LAU or AUB be best for me?
The cheaper one.
To learn programming well(in a university, not on your own) you need a lab, you need also lab sessions and instructors helping. I know some people in lebanese university, in computer science or chemistry, whatever. They study everything on paper. I know from the programming courses I took that did not have a lab, studying on paper only does not do anything at all. Some of my friends in lebanese university are learning programming on paper and in french! ("le java", "si condition vrai ou faux") code documentation and code itself is english for crying out loud.

Also, in LAU, we have several computer science labs and biology labs and chemistry labs. One student can submit a request and book an entire lab for himself for several days. I was doing a heuristics research as part of a course in LAU trying to find the shortest way to tour canada. I designed a program that needed around 12 hours to run once, And it runs at 100% cpu capacity, so naturally I needed as many cores an I can get my hands on to get as many results as I can. So I booked a lab. My request was immediately approved. I was given the key to the lab so I could lock it when I exit so no one would mess with the computers, And for 5 days a lab with 14 computers was all mine. It was the only time during my long stay at LAU that I really felt my tuition was buying me something.

The degrees might look all the same from all universities, but the learning process is different. When mobiles started becoming the main thing, LAU started giving a mobile programming course in 2011 where we learned about phonegap and android/java programming(which later became my thing) and c# for iphone(which I did not care for) .

To sum up, the choice of university matters. I don't know anything about AUB or Roumieh exactly, So I am not judging either. Perhaps they are similar. All I am saying these kinds of things are worth asking about when choosing a uni
I think I should mention that I intend on going abroad, so I'm guessing Roumieh is out of the question?
As for the facilities, I've already seen the facilities at LAU, and they're quite nice. I was also told about labs being reserved for some students when needed.
I'm really not questioning the quality of these universities, but rather how much I can get out of the in terms of the international standards of the degrees they offer.

I'd like to thank you all once again for these responses, I think I'm leaning back towards Computer Science. However, what do you think would weigh more: AUB's international rank or LAU's ABET accredited CS program?
If you put enough effort and dedication can become a good programmer, the main requirement it to be passionate about what you do and act upon that. University degrees alone are irrelevant, classes can be useful but are not enough, not even enough for entry level jobs. Effort and dedication not for a month, a year or a couple of years but that of a lifetime. It has to consume you.

If you really want a career in programming, I suggest you pick up a good book and start reading then starting playing with code and building things, that's the best way to learn. Repeat that over your lifetime.

All those titles, accreditation, degrees and course labels are just noise. Learning is between you and the machine, and being around the right people.
@user you are posting things that are available in any international American university. Imagine AUB not having a lab. :P

Some people here are posting things unrelated to this thread and summarized in these two questions(written in bold in the original post):
- Choosing major between Computer Engineering and Computer Science (He decided on CS)
- Choosing university between AUB and LAU (which concluded with this question what weigh's more AUB's international rank or LAU's ABET accredited CS program)

If someone wants to debate about the other topics, he/she should move them to another thread.
khatib1 wrote@user you are posting things that are available in any international American university. Imagine AUB not having a lab. :P

Some people here are posting things unrelated to this thread and summarized in these two questions(written in bold in the original post):
- Choosing major between Computer Engineering and Computer Science (He decided on CS)
- Choosing university between AUB and LAU (which concluded with this question what weigh's more AUB's international rank or LAU's ABET accredited CS program)

If someone wants to debate about the other topics, he/she should move them to another thread.
This sums things up pretty well.
I think I'm more or less well informed about the majors as well as the universities themselves. I'm not looking for the best option to tell myself "oh I'll be a better programmer", but rather to know what would allow me to achieve such a goal in the best way possible.
In the end, graduating from X place with titles doesn't mean you're better, but it sadly does mean you have higher chances of getting accepted/hired somewhere else (which is what I'm worried about)
In the end, graduating from X place with titles doesn't mean you're better, but it sadly does mean you have higher chances of getting accepted/hired somewhere else (which is what I'm worried about)
That's only partially true. Crappy recruiters will care about the title of your university. It's a sad truth. But usually, crappy recruiters can only offer crappy jobs.

Interesting jobs are usually screened by good recruiters. They won't care about the prestige of your school or your grades, but will care about your raw skills. Publishing applications, understanding technical subtleties and, probably more important than anything else, good communication skills, will give you access to much more interesting challenges.

Source: My job kicks all sorts of ass. A lot of my coworkers never went to college.
I think I should mention that I intend on going abroad, so I'm guessing Roumieh is out of the question?
Wrong. I live in France. Most of the Lebanese software guys I meet here come from Roumieh. Both in academic circles and in the industry. Roumieh's a kick ass school.

Honestly, if you want to take away one thing from this thread: You may excel (or fail) no matter which university you choose. It only depends on the amount of efforts you're willing to put.

My advice is to care more about practical aspects, like how much does it cost, how far is it from home, how many people do you already know there, etc etc etc.
rahmu wrote Honestly, if you want to take away one thing from this thread: You may excel (or fail) no matter which university you choose. It only depends on the amount of efforts you're willing to put.
This.

I say it's a total waste of money to spend thousands of USD on AUB or LAU tuitions for a major that you can easily learn on your own. Go for the Lebanese University and you won't regret it. You can even spend the tuition money on buying a nice car; that would be a better way of spending that money.
I'm a bit late to this discussion, but I'd like to weigh in a bit.

First, a nitpick, @user, iPhone dev is in ObjC which is nothing like C#.

Second, @Seth, I guess your question can be broken down into two questions. One is the choice of university and the other is the choice of major between CCE/ECE and CS.

I personally attended LAU Byblos and studied CCE. So that's the only thing I can speak of with any kind of authority but I have talked to and met quite a few people from AUB studying CS or ECE.

On the choice of university, LAU(at least in Byblos, Beirut campus should generally be avoided for both CS and CCE) provides you with much better access to professors. They are way less distant and detached from their students than their AUB counterparts. While that, in itself, is a very good thing and definitely something that helped me in many ways, I'd still say you should probably study at AUB because of another factor that I don't think anyone has mentioned in this thread yet and that's the quality of other students around you. LAU has very very few really good students whom you could learn from, partner on projects with, and generally form friendships with other technically minded people. Class quality suffers immensely from this as professors can only go as fast as the class will allow(I mean they can just ignore the fact that 90% of the students aren't following but they generally don't). I went to LAU on a dependant's grant(so it was definitely cheaper as xterm mentioned) but that's pretty much the only reason I went there instead of AUB.

On your second question, I'd say that if you have at least the capacity to tolerate hardware courses, go for CCE/ECE and not CS but take all your electives in graduate-level software courses(if at AUB, any course given by Louai Bazzi gets my recommendation). Also, join the team for the ACM programming competition(s). I say this because some hardware courses definitely give you a certain amount of perspective you wouldn't obtain any other way. The courses I learned from and enjoyed the most during my time in university were things like VLSI design, Embedded Systems, High-Performance Computer Architecture, etc... Even though my true passion is in software and I now work at a software company(doing iOS dev for now but should also be doing some python/nodejs server work in the not so far future) I'd say those things were definitely worth it.

You can learn CS with just a computer, you can't get access to the labs and equipment to do embedded systems programming outside of university(at least not easily or cheaply, especially in Lebanon). As for any things a CS major could give you that a CCE/ECE major wouldn't in terms of software or algorithms knowledge, that will be more than offset by the technical electives and (especially) the ACM competitions.

Also, if you find that you enjoy the subset of CS that is algorithm design, start taking part in google code jam. It's simply awesome.
Haven't read all replies but just wanted to add my 2 cents. I personally majored in Computer Science mainly because I had extreme passion for programming (scripting at the time) and huge hatred for anything hardware-related. I was lucky to have the opportunity to work with Electronics engineers and personally delve into lower-level programming on MCUs (which is not taught for Computer Science students btw). Needless to say, I find the low-level knowledge of hardware architecture and how the Software interacts with the Hardware is extremely valuable for any good Software and Hardware engineer alike. My point is, I think a Computer Engineering or a Computer Science graduate are both equally capable of pursuing a Software development career, easy (but there's a compromise in the material you're taught which you must seek outside). From personal experience, I found that my Electronics engineering colleagues had very high potential in excelling in software programming more than most Computer Science graduates that I know - for all that matters.

As for which University, can't really argue on that as I think it doesn't really matter. But between LAU and AUB, I'd go for AUB (I've tutored an AUB CS student and I found their program pretty challenging - besides the reputation advantage).