Advice on where and what to study
guy keren
choo at actcom.co.il
Fri Dec 3 21:22:10 IST 2010
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 V V 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 <michf at post.tau.ac.il> 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" <dyasny at gmail.com> 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 at cs.huji.ac.il
>>> http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
>>
>
> _______________________________________________
> Linux-il mailing list
> Linux-il at cs.huji.ac.il
> http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
More information about the Linux-il
mailing list