Re: Advice on where and what to study
if your problem is with understanding the C language properly - you should read "the C programming language, second edition" cover-to-cover. everything will be explained there. if you want a wider understanding, as Micha suggested, you would do well to learn the following courses (find their equivalents in the open university - and check their books - they are very good books): 1. Introduction to computer science. (the first programming-related course taught in the technion. there are most likely parallel courses in other universities). you might know a lot of this - but i'd suggest going over all the slides to make sure: http://webcourse.cs.technion.ac.il/234114/Spring2010/ 2. Data structures (sometimes called "Data structures and algorithms) - this covers various implementations of data structures to sort, lookup and manage data, with emphasis on the efficiency in which they support different operations, and the amount of extra memory they consume. http://webcourse.cs.technion.ac.il/234218/Spring2010/ 3. learning assembly could help you understand better the internals of how computers work, and is required to later understand the operating systems course. this course is called "computer organization and programming": http://webcourse.cs.technion.ac.il/234118/Spring2010/ 4. operating systems. this is usually a technical course that deals with the low-level aspects of operating systems and their structure. http://webcourse.cs.technion.ac.il/234123/Spring2010/ 5. you might consider studing "digital computer architecture" - which talks about how a computer is built, how RAM and virtual memory is managed, etc. http://webcourse.cs.technion.ac.il/234267/Spring2010/ 6. combinatorics (needed to understand the algorithms course that follows): http://webcourse.cs.technion.ac.il/234141/Spring2010/ 7. finally - if you want to write real software - i would also take "algorithms". this is not relevant to very technical programming - but it is relevant for more advanced programming. http://webcourse.cs.technion.ac.il/234247/Spring2010/ NOTE: i have listed the courses here, in a dependency order. the exact dependency grapy: 1 (intro to CS) 7. (combinatorics) | || V V| 2 (comp. organization and prog.) 3 (data structres) | | | / | | | |/ | | V V VV V 5. (mamas) 4. (operating systems) 6. (algorithms) if ytou're only interested in the technical side of programming - take courses 1-5. if you're also interested in developing software that requires using algorithms - take courses 6-7 too. --guy Dima (Dan) Yasny wrote: On Fri, Dec 3, 2010 at 4:41 PM, Micha Feigin wrote: You could try looking at the open university, but the question is what do you expect to get out of these courses. I don't get anything out of those I'm afraid - books I can get and read on my own, but I'm looking for something more structured, and with more exercise... University courses I know don't teach you much about actual programming. I would take at least one course about software engineering, preferably both functional and object oriented, including uml and testing methodologies. Also an object oriented course with emphasis on object oriented methodologies and design. These have proven more invaluable to me than actual programing courses. Computer structure and operating systems have also been very good, but you have to read between the lines, as sometimes the interesting part of the syllabus is hiding behind lecturers who are not even aware of it (initial course in lisp in tau for example) Computer structure you say? I'll keep that in mind. In general, I'd like to get a hold of at least a list of courses to look for and their ordering. I want to get some proper studies done because I've been touching some topics here and there, and ended up at a point where I can write a heavy recursive function in C or Python, but reading a bit of code where instead of int I see unsigned int puzzles me. "Dima (Dan) Yasny" wrote: Hi all, I'm looking for some advice on which courses and where to take, in the Central area. What I'm looking at is getting some more formal and proper programming background, something around Intro to C -> Advanced C -> intro to C++ -> Advanced C++ -> Linux specifics maybe... I tend to mostly work with Python, but I keep running into dead ends because I lack proper education more and more recently I am aware of proper BSc/BA programs, but I'd like to do this in under a year overall, and stay away from the extra math/physics/etc courses. Background - 15 years sysadmin, bash, python, powershell scripting Highsch
Re: Advice on where and what to study
On Fri, Dec 3, 2010 at 4:41 PM, Micha Feigin wrote: > You could try looking at the open university, but the question is what do you > expect to get out of these courses. I don't get anything out of those I'm afraid - books I can get and read on my own, but I'm looking for something more structured, and with more exercise... > > University courses I know don't teach you much about actual programming. I > would take at least one course about software engineering, preferably both > functional and object oriented, including uml and testing methodologies. Also > an object oriented course with emphasis on object oriented methodologies and > design. These have proven more invaluable to me than actual programing > courses. Computer structure and operating systems have also been very good, > but you have to read between the lines, as sometimes the interesting part of > the syllabus is hiding behind lecturers who are not even aware of it (initial > course in lisp in tau for example) Computer structure you say? I'll keep that in mind. In general, I'd like to get a hold of at least a list of courses to look for and their ordering. > I want to get some proper studies done because I've been touching some topics here and there, and ended up at a point where I can write a heavy recursive function in C or Python, but reading a bit of code where instead of int I see unsigned int puzzles me. > > "Dima (Dan) Yasny" wrote: > >>Hi all, >> >>I'm looking for some advice on which courses and where to take, in the >>Central area. >> >>What I'm looking at is getting some more formal and proper programming >>background, something around >>Intro to C -> Advanced C -> intro to C++ -> Advanced C++ -> Linux >>specifics maybe... >> >>I tend to mostly work with Python, but I keep running into dead ends >>because I lack proper education more and more recently >> >>I am aware of proper BSc/BA programs, but I'd like to do this in under >>a year overall, and stay away from the extra math/physics/etc courses. >> >>Background - 15 years sysadmin, bash, python, powershell scripting >>Highschool pascal, prolog, magic, assembly etc - long forgotten mostly >> >>So if anyone is aware of a college of institution that provides such >>courses, preferrably as a set up program, I'll be very happy to hear >>about it >> >> >>Cheers, >>D. >> >>___ >>Linux-il mailing list >>Linux-il@cs.huji.ac.il >>http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il > > ___ Linux-il mailing list Linux-il@cs.huji.ac.il http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
Re: Advice on where and what to study
You could try looking at the open university, but the question is what do you expect to get out of these courses. University courses I know don't teach you much about actual programming. I would take at least one course about software engineering, preferably both functional and object oriented, including uml and testing methodologies. Also an object oriented course with emphasis on object oriented methodologies and design. These have proven more invaluable to me than actual programing courses. Computer structure and operating systems have also been very good, but you have to read between the lines, as sometimes the interesting part of the syllabus is hiding behind lecturers who are not even aware of it (initial course in lisp in tau for example) "Dima (Dan) Yasny" wrote: >Hi all, > >I'm looking for some advice on which courses and where to take, in the >Central area. > >What I'm looking at is getting some more formal and proper programming >background, something around >Intro to C -> Advanced C -> intro to C++ -> Advanced C++ -> Linux >specifics maybe... > >I tend to mostly work with Python, but I keep running into dead ends >because I lack proper education more and more recently > >I am aware of proper BSc/BA programs, but I'd like to do this in under >a year overall, and stay away from the extra math/physics/etc courses. > >Background - 15 years sysadmin, bash, python, powershell scripting >Highschool pascal, prolog, magic, assembly etc - long forgotten mostly > >So if anyone is aware of a college of institution that provides such >courses, preferrably as a set up program, I'll be very happy to hear >about it > > >Cheers, >D. > >___ >Linux-il mailing list >Linux-il@cs.huji.ac.il >http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il ___ Linux-il mailing list Linux-il@cs.huji.ac.il http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
Advice on where and what to study
Hi all, I'm looking for some advice on which courses and where to take, in the Central area. What I'm looking at is getting some more formal and proper programming background, something around Intro to C -> Advanced C -> intro to C++ -> Advanced C++ -> Linux specifics maybe... I tend to mostly work with Python, but I keep running into dead ends because I lack proper education more and more recently I am aware of proper BSc/BA programs, but I'd like to do this in under a year overall, and stay away from the extra math/physics/etc courses. Background - 15 years sysadmin, bash, python, powershell scripting Highschool pascal, prolog, magic, assembly etc - long forgotten mostly So if anyone is aware of a college of institution that provides such courses, preferrably as a set up program, I'll be very happy to hear about it Cheers, D. ___ Linux-il mailing list Linux-il@cs.huji.ac.il http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il