
Introduction to Computer Organization with X86-64 Assembly Language and Linux - ingve
http://bob.cs.sonoma.edu/IntroCompOrg-x64/book.html
======
vladislavp
Interesting study hint by the author (Robert Plantz) . I have never thought of
it this way , but it probably makes sense:

> " Do not copy and paste code. We all copy code, and we all like to see our
> programs work. Copy and paste is the fastest way to do that. But if you type
> in the program, even if you are copying it, you are forced to read every
> single character. This is the fastest way to learn the programming language.
> As you know, getting a single character wrong can mean the difference
> between a working and non-working program. "

~~~
terminalcommand
Instinctively I always studied computer languages this way. Typing the code
makes you also think about it, it is also much more easier to try your own
versions.

I'd argue that it would be even better, if I wrote the program samples with
pen in a real notebook. Using different colors and imitating syntax
highlighting could be even better.

I've been planning to get a physical programming/cs notebook for years.

~~~
turbografx16
I have a few handwritten notebooks on CS and it was a mistake. You're right
about the improved retention, but I cant search my notes or reorganize them
very easily. I've started using cherrytree instead and having the ability to
search through years worth of notes with regex is very handy.

~~~
terminalcommand
Maybe the solution could be to keep them in both versions, digital one for
reference and a physical one for learning and retention.

For the digital one, one can just copy and paste, use abbreviations, templates
etc. so it doesn't take a lot of time.

Obviously the physical notes are only necessary in learning new and hard
material. For example one might keep a notebook for C programming, Assembly,
Basic Algorithms, Discrete Math etc.

I must admit that I've never tried to print my digital notes, which I keep in
org-mode and export to pdf using tex. I guess that could also help for
studying. You could take notes with hand, highlight things, put stickers on it
etc.

I am planning to purchase a laser printer with refillable toners to print
books, papers and my notes. I don't know why but having a physical copy of
things help me learn them much easier. It could be that it is the only way I
learned in school.

On a sidenote, during highschool I could only write essays with real pen and
paper. But now I'm used to firing emacs and writing prose. Maybe I could also
train myself to read textbooks on a computer efficiently.

~~~
dagersandscars
In the late '80s/early '90s (college), I took notes on paper and typed them up
the evening of the class. The benefits I found:

* Better engagement in class vs typing in class * Better short and long term retention of learned material * Easier exam prep due to better retention * Higher grades vs not doing this * Able to share useful notes with others

In my business life, I've found similar benefits. The primary difficulty is
forcing myself to follow the pattern. It's easy to think "I've got this" and
not type up a set of notes.

~~~
terminalcommand
I'd imagine doing this on a daily basis would require some discipline.

I also had similar thoughts in college. I planned to scan my notes from time
to time and thereby have them digitized. I never went through with it. The
system that worked for me was to write a date on each paper, keep all notes in
a stack, and organize them into topics in chronological order when needed.

I always struggle with physical organization, whether it be tidying up my
room, or planning my days. I hope this will improve with age, but for now I
try to work around my deficiencies. For example in college I never had the
discipline to study everyday, although I almost never skipped a class and I
always took notes. It wasn't that I wasn't interested in the things thought,
but I just couldn't. I also cannot tidy up my room, although I know it would
benefit me hugely. I always postpone getting a haircut, washing clothes etc.
to the moment when it becomes absolutely unbearable.

So I don't think I'd have nearly enough willpower to take all my notes
physically and then daily type them into the computer. In business life what I
can do is to create a virtual filing system for organizing notes. For example
I could divide the year in 52 weeks, open a folder for each of them, inside
these folders I could open other folders for projects. I could then symlink
those weekly folders into other directory listings for Clients and Projects
etc. By doing this minimal work, I'd have a working system that would keep me
out of my naturally inclined chaos. During internships I devised a similar
system for email, and it had worked remarkably good.

------
ara24
I look forward to read this. Thanks for posting the link.

> "You might well ask why you should study assembly language, given that I
> think you should avoid writing in it. I believe very strongly that the best
> programmers have a good understanding of how computer hardware works. I
> think this principle holds in most ﬁelds: the best drivers understand how
> automobiles work; the best musicians understand how their instrument works;
> etc."

------
Mic92
Also great to recap my CS courses.

------
ENOTTY
Just skimming over the table of contents, this isn't what I would consider
computer organization, at least from a comparison against Patterson & Hennesey

