LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Programming (http://www.linuxquestions.org/questions/programming-9/)
-   -   university courses (http://www.linuxquestions.org/questions/programming-9/university-courses-812524/)

shadow771 06-06-2010 03:13 PM

university courses
 
Hello,

I always wanted to learn how to program mainly for creating dynamic Websites and Linux system administration and i might give desktop (GUI) apps a try when i am confident.

I searched a lot about how to learn about programming most threads in ubuntuforums talk about learning with python as a first language and i really like the language, but i really didn't want to learn a specific language i wanted to know about the whole process, so i decided to take one of these courses and i really don't know which is suitable for someone like me.

MIT 6.00 is an into to CS and they use python as the course's language but the assignments are really hard i can tell by looking at them :O

Stanford have an amazing series CS106A/B CS107 but the start with java and i heard that java is a complex language for a newbie.

Harvard's CS50 teach their first CS course in C and PHP and Javasciprt the course is really good and its the most up-to-date ( they renew the files every year) but its very intensive, time consuming one...


i really can't choose its a tough situation all of them are all good courses, please help me out here.

Thanks in advance.

H_TeXMeX_H 06-06-2010 04:01 PM

I would take the Harvard's CS50, definitely.

Python is a good choice too, it's easy and it teaches you the concepts you will need for any language.

Java is useless, don't learn it if you can help it. But, you probably will learn it anyway, whether you want to or not.

fruttenboel 06-06-2010 04:15 PM

Quote:

Originally Posted by shadow771 (Post 3994578)
Hello,

I always wanted to learn how to program mainly for creating dynamic Websites and Linux system administration and i might give desktop (GUI) apps a try when i am confident.

Try to find a copy of 'programming in Modula-2' by Prof Wirth. This one is real cheap: <http://www.amazon.de/gp/offer-listin...condition=used

Modula-2 is very structured and easy to learn. If you're a good programmer in Modula-2, you can become a good C or Python programmer too. The reverse is not certain... C is a portable assembler. Not an easy choice to start out with.

The book I mention is more an introduction to Modula-2, but it contains theory and examples.

Later, check the sources at
http://fruttenboel.verhoeven272.nl/mocka/index.html
http://fruttenboel.verhoeven272.nl/modula-2/index.html
http://fruttenboel.verhoeven272.nl/Java/index.html
http://fruttenboel.verhoeven272.nl/asm/index.html
http://fruttenboel.verhoeven272.nl/m4m/index.html

And http://fruttenboel.verhoeven272.nl/Prog/index.html of course.

Free books about programming:
http://www-old.oberon.ethz.ch/WirthPubl/CBEAll.pdf
http://www-old.oberon.ethz.ch/WirthP...ogInOberon.pdf
http://members.home.nl/jmr272/Oberon/AD.pdf
http://www-old.oberon.ethz.ch/WirthP...InOberonWR.pdf
http://spivey.oriel.ox.ac.uk/mike/obc/
http://members.home.nl/jmr272/Oberon/Oberon2.Report.pdf
http://www.mathematik.uni-ulm.de/obe...port-1992.html

shadow771 06-06-2010 06:01 PM

@H_TeXMeX_H

Thanks for the response, CS50 is great and i was going for it if no one answered me.

@fruttenboel

by looking at this http://www.modula2.org/tutor/chapter3.php Modula-2 is very similar to C like languages but i don't see the point why learn it, if i have access to a full Harvard course (a VM with a pre-configured GCC + psets + handout + video lectures).

plus, i would like to take the chance and report that all the mocka complier links you got on your website are ( Forbidden/dead ).

anyway, i really appreciate your reply and thank you.

EDIT: i found out that the GNU guys are have a compiler but its "still in development"...
http://www.nongnu.org/gm2/

salasi 06-06-2010 06:19 PM

Quote:

Originally Posted by shadow771 (Post 3994578)
I always wanted to learn how to program mainly for creating dynamic Websites

...for dynamic websites, you probably want things like PHP, javascript (no relation), maybe python and java...but maybe you'd be better off learning a CMS rather than a language, per se. Oh, and obviously HTML and CSS. And, if you decide to go down the CMS route, that might push whatever is used in your CMS of choice up the list of priorities.

Quote:

and Linux system administration
...bash (or other shell), python, perl...ruby?

Quote:

and i might give desktop (GUI) apps a try
...c++, python, perl, c and, of course, some graphics toolkit

Quote:

I searched a lot about how to learn about programming most threads in ubuntuforums talk about learning with python as a first language and i really like the language,
Python is a good choice for a first language, as you can actually achieve stuff without getting too involved with nitty, gritty details and still learn. OTOH, Python isn't the best solution for everything, but nothing is.

Quote:

but i really didn't want to learn a specific language i wanted to know about the whole process, so i decided to take one of these courses and i really don't know which is suitable for someone like me.
My objection to Java isn't the language itself, these days. You see far too many examples of brain-dead programming in Java and it is apparent that you can learn Java without learning basic principles. I'm sure that you can do this in any language if you try, but Java programmers seem to be more susceptible to it.

I'm sure that it is possible to write decent programs in Java, it is just a shame that this option isn't more frequently exercised.

Quote:

i really can't choose its a tough situation all of them are all good courses, please help me out here.
To achieve your aims, you will end up learning more than one of the above. I think that you'll just have to get used to this idea.

Sergei Steshenko 06-06-2010 06:46 PM

Quote:

Originally Posted by shadow771 (Post 3994719)
by looking at this http://www.modula2.org/tutor/chapter3.php Modula-2 is very similar to C like languages but i don't see the point why learn it
...

It's the strangest statement about programming languages similarity I've ever heard. Modula-2 is a good language, and it's "light years" away from "C".

shadow771 06-06-2010 08:40 PM

@salasi

hello salasi, first of all thanks for your detailed reply.

on the CMS issue i really want to program websites and understand the front and back end processes if i am not wrong a cms like Drupal is point and click and make things easier and i am not looking for that...

Quote:

To achieve your aims, you will end up learning more than one of the above. I think that you'll just have to get used to this idea.
yes, i am aware of that CS50 will be just a first step, then i will take CS106B (C++ abstraction) then CS107.

i know there is no magical way to know everything in a short time... these courses will just be an eye opener to me.

@Sergei Steshenko

Quote:

It's the strangest statement about programming languages similarity I've ever heard. Modula-2 is a good language, and it's "light years" away from "C".
Sorry i am a newbie trying to learn :)

KohlInGA 06-07-2010 02:01 PM

Your timing is perfect! Just came across this, this morning: Free Software University

John VV 06-07-2010 02:44 PM

there is also the Stanford free ones
http://see.stanford.edu/SEE/Courses.aspx
http://see.stanford.edu/see/about.aspx

bigearsbilly 06-07-2010 03:15 PM

Quote:

Originally Posted by salasi (Post 3994736)


My objection to Java isn't the language itself, these days. You see far too many examples of brain-dead programming in Java and it is apparent that you can learn Java without learning basic principles. I'm sure that you can do this in any language if you try, but Java programmers seem to be more susceptible to it.

that's because it's what they teach at universities. universities churn out programmers.
most of whom will be doing it to get into 'I.T.', will have plagiarised most of their coursework,
will never have the knack, taught by lecturers who rarely read, let alone test
coursework code.
Then they leave college and start as a developer, as that's the first step to
get into project management.

cynical, moi? ;)

H_TeXMeX_H 06-07-2010 04:37 PM

Quote:

Originally Posted by salasi (Post 3994736)
My objection to Java isn't the language itself, these days. You see far too many examples of brain-dead programming in Java and it is apparent that you can learn Java without learning basic principles. I'm sure that you can do this in any language if you try, but Java programmers seem to be more susceptible to it.

I'm sure that it is possible to write decent programs in Java, it is just a shame that this option isn't more frequently exercised.

You're right, that's a good point. Of course, there's plenty more to criticize about it.

Here's my summary of the problem with java:
Programmers lose out, not only because they do not learn how to program by using java, but also because java as a language is not gonna help you get anywhere or get a job. Most companies ask if you know C/C++ or for web programming PHP, Perl, Javascript. Where does java fit in ? It doesn't, it's a fat, ugly, evil, bastard child that should never have been conceived, but it's too late, his daddy is a big wig and will make sure he gets noticed. The whole industry looses out, because you have these programmers fresh out of school, and they can't program worth a ****, nor make a useful program that people will use. I swear, every time I've downloaded a java program doing anything, hoping that it will work and will work well, I end up deleting it in less than 5 min. It's that bad. But, they keep pushing it, into every school, onto every programmer, everywhere. Well go ahead, but when everything goes to hell, know the cause.

shadow771 06-07-2010 05:59 PM

okay i will walk the C/C++ path for desktop apps and network programming.

php/perl, javascript, (x)HTML/CSS (markup) for web dev.

bash/python/perl for sys admin.

lisp/scheme is a plus for the programmer right??

and of course i am not going to touch java unless i really have to..

Thanks for the responds everyone, i will mark this as SOLVED but please feel free to add more :)

Sergei Steshenko 06-07-2010 08:04 PM

Quote:

Originally Posted by shadow771 (Post 3995854)
...
lisp/scheme is a plus for the programmer right??
...

And their more modern soul friends OCaml and Haskell.

fruttenboel 06-07-2010 08:14 PM

Quote:

Originally Posted by shadow771 (Post 3994719)
@fruttenboel

by looking at this http://www.modula2.org/tutor/chapter3.php Modula-2 is very similar to C like languages but i don't see the point why learn it, if i have access to a full Harvard course (a VM with a pre-configured GCC + psets + handout + video lectures).

Suppose you want to become pilot of a space shuttle. Of course you can start out as a 4 year old studying the controls. Still,many people at age 4 will learn to ride a bicycle. At 18 they will learn motorvehicles. Later perhaps a plane. And then a rocket.
Why should you not start ouit with a language that teaches you the LOGIC and Contrl structures of a programming language? Many european universities teach Modula-2 in first year and then later (when the students know what programming is) give the opportunity to switch to a more dangerous language.

Quote:

plus, i would like to take the chance and report that all the mocka complier links you got on your website are ( Forbidden/dead ).
All of them? In that case your government is protecting you against yourself by blocking content. Some of the links listed in the Oberon section are dead (oberon2005.ru seems gone, just like some pages formerly hosted in the private webspace of Prof Wirth). I just checked the majority of links and they all run.

Quote:

EDIT: i found out that the GNU guys are have a compiler but its "still in development"...
http://www.nongnu.org/gm2/
The Gnu M2 project sucks. You need one specific backdated version of gcc to get M2 working. The compiler is slower than BASIC on a Z80 machine. It's complete and utter crap. It's a shame to the name.

Sergei Steshenko 06-07-2010 08:19 PM

Quote:

Originally Posted by fruttenboel (Post 3995956)
...Many european universities teach Modula-2 in first year and then later (when the students know what programming is) give the opportunity to switch to a more dangerous language.
...

Wise. By the way, IIRC, Modula-2 System module is dangerous - intentionally and by design - which makes Modula-2 a universal language, i.e. one can also program hardware in it.

And beginners are simply forbidden to use the module.


All times are GMT -5. The time now is 08:18 AM.