LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 06-06-2010, 02:13 PM   #1
shadow771
LQ Newbie
 
Registered: Jan 2009
Location: Egypt/Alexandria
Distribution: not yet..
Posts: 17

Rep: Reputation: 2
Lightbulb 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.
 
Old 06-06-2010, 03:01 PM   #2
H_TeXMeX_H
LQ Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
Blog Entries: 2

Rep: Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301
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.

Last edited by H_TeXMeX_H; 06-06-2010 at 03:02 PM.
 
Old 06-06-2010, 03:15 PM   #3
fruttenboel
Member
 
Registered: Jul 2008
Location: Tilburg NL
Distribution: Slackware 14.2 ciurrent, kernel 3.18.11
Posts: 270

Rep: Reputation: 48
Quote:
Originally Posted by shadow771 View Post
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

Last edited by fruttenboel; 06-06-2010 at 03:20 PM.
 
Old 06-06-2010, 05:01 PM   #4
shadow771
LQ Newbie
 
Registered: Jan 2009
Location: Egypt/Alexandria
Distribution: not yet..
Posts: 17

Original Poster
Rep: Reputation: 2
@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/

Last edited by shadow771; 06-06-2010 at 05:06 PM.
 
Old 06-06-2010, 05:19 PM   #5
salasi
Senior Member
 
Registered: Jul 2007
Location: Directly above centre of the earth, UK
Distribution: SuSE, plus some hopping
Posts: 4,070

Rep: Reputation: 897Reputation: 897Reputation: 897Reputation: 897Reputation: 897Reputation: 897Reputation: 897
Quote:
Originally Posted by shadow771 View Post
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.
 
Old 06-06-2010, 05:46 PM   #6
Sergei Steshenko
Senior Member
 
Registered: May 2005
Posts: 4,481

Rep: Reputation: 454Reputation: 454Reputation: 454Reputation: 454Reputation: 454
Quote:
Originally Posted by shadow771 View Post
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".
 
Old 06-06-2010, 07:40 PM   #7
shadow771
LQ Newbie
 
Registered: Jan 2009
Location: Egypt/Alexandria
Distribution: not yet..
Posts: 17

Original Poster
Rep: Reputation: 2
@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
 
Old 06-07-2010, 01:01 PM   #8
KohlInGA
LQ Newbie
 
Registered: Nov 2005
Location: Stone Mountain, GA
Distribution: SuSE
Posts: 28

Rep: Reputation: 15
Your timing is perfect! Just came across this, this morning: Free Software University
 
Old 06-07-2010, 01:44 PM   #9
John VV
LQ Muse
 
Registered: Aug 2005
Location: A2 area Mi.
Posts: 17,622

Rep: Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651
there is also the Stanford free ones
http://see.stanford.edu/SEE/Courses.aspx
http://see.stanford.edu/see/about.aspx
 
Old 06-07-2010, 02:15 PM   #10
bigearsbilly
Senior Member
 
Registered: Mar 2004
Location: england
Distribution: Mint, Armbian, NetBSD, Puppy, Raspbian
Posts: 3,515

Rep: Reputation: 239Reputation: 239Reputation: 239
Quote:
Originally Posted by salasi View Post


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?
 
Old 06-07-2010, 03:37 PM   #11
H_TeXMeX_H
LQ Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
Blog Entries: 2

Rep: Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301
Quote:
Originally Posted by salasi View Post
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.
 
Old 06-07-2010, 04:59 PM   #12
shadow771
LQ Newbie
 
Registered: Jan 2009
Location: Egypt/Alexandria
Distribution: not yet..
Posts: 17

Original Poster
Rep: Reputation: 2
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
 
Old 06-07-2010, 07:04 PM   #13
Sergei Steshenko
Senior Member
 
Registered: May 2005
Posts: 4,481

Rep: Reputation: 454Reputation: 454Reputation: 454Reputation: 454Reputation: 454
Quote:
Originally Posted by shadow771 View Post
...
lisp/scheme is a plus for the programmer right??
...
And their more modern soul friends OCaml and Haskell.
 
Old 06-07-2010, 07:14 PM   #14
fruttenboel
Member
 
Registered: Jul 2008
Location: Tilburg NL
Distribution: Slackware 14.2 ciurrent, kernel 3.18.11
Posts: 270

Rep: Reputation: 48
Quote:
Originally Posted by shadow771 View Post
@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.
 
Old 06-07-2010, 07:19 PM   #15
Sergei Steshenko
Senior Member
 
Registered: May 2005
Posts: 4,481

Rep: Reputation: 454Reputation: 454Reputation: 454Reputation: 454Reputation: 454
Quote:
Originally Posted by fruttenboel View Post
...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.
 
  


Reply

Tags
code, compiler, java, programming


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Scripting courses mijohnst Linux - Newbie 2 10-23-2005 08:19 PM
redhat courses myk3 Linux - General 1 11-17-2003 09:21 AM
Courses butface Linux - General 1 08-06-2003 12:59 PM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 05:48 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration