Help Finalize my proposed course for self study!
-
Hello all, I want to learn about computer science. I am planning a self study course for myself. However, I need some help selecting texts, and in some cases languages. Also, I would like your help to get my plan completely formulated so I can start doing more, and planning less. I put the areas in bold, but input on other areas is also welcome. My program goals: My program strives to lay a strong foundation for my computer science understanding and education. My aim is to have a deep understanding of computer systems, their funcionality, and their commanding programs. My background: I took an introduction to computer science in college. I also took computational physics which required programming. I put together and have played with some rigs. I want to understand computers at their ground level. Here is my current plan: Learn the linux and it's terminal: TEXT: The Linux Command Line: A Complete Introduction Reason: Linux is a good OS to know. Also because it is open source I can really fie into the computer's operating system to learn. Furthermore, "There are no secrets in Linux." It seems like a program that can teach me alot and will make me more valuable in the job market. Learn C: TEXT: C Primer Plus, Fith Edition Reason: Linux is written in C. I need to understand C to understand Linux's files and functionality. Learning C and playing with the Linux terminal are highly synergistic. Lastly, C is a good language to know. Learn an Assembly language: I have no clue which to learn, or where to start. It would be nice if the language fit in with my general plan. The more synergy the better. Reason: Taken from another site, "I realize now that learning assembly language will teach me about the inner workings of the computer. I'll learn how the CPU/CPU registers work with memory addresses to achieve the end result one instruction at a time. This doesn't mean that I'm going to begin coding everything in assembly, however, I will learn which data types to use and when. I'll learn how to write smaller, faster, more efficient routines. I will understand software development..." at a much deeper level. Learn/Review Python: Method/TEXT: to be determined I'm currently reviewing with codecademy. Reason: I learned python in my computer science class. This will be a good review. Furthermore it will be a fun break from the other topics as I'll be able to have a little more fun with the code by writing more
-
Hello all, I want to learn about computer science. I am planning a self study course for myself. However, I need some help selecting texts, and in some cases languages. Also, I would like your help to get my plan completely formulated so I can start doing more, and planning less. I put the areas in bold, but input on other areas is also welcome. My program goals: My program strives to lay a strong foundation for my computer science understanding and education. My aim is to have a deep understanding of computer systems, their funcionality, and their commanding programs. My background: I took an introduction to computer science in college. I also took computational physics which required programming. I put together and have played with some rigs. I want to understand computers at their ground level. Here is my current plan: Learn the linux and it's terminal: TEXT: The Linux Command Line: A Complete Introduction Reason: Linux is a good OS to know. Also because it is open source I can really fie into the computer's operating system to learn. Furthermore, "There are no secrets in Linux." It seems like a program that can teach me alot and will make me more valuable in the job market. Learn C: TEXT: C Primer Plus, Fith Edition Reason: Linux is written in C. I need to understand C to understand Linux's files and functionality. Learning C and playing with the Linux terminal are highly synergistic. Lastly, C is a good language to know. Learn an Assembly language: I have no clue which to learn, or where to start. It would be nice if the language fit in with my general plan. The more synergy the better. Reason: Taken from another site, "I realize now that learning assembly language will teach me about the inner workings of the computer. I'll learn how the CPU/CPU registers work with memory addresses to achieve the end result one instruction at a time. This doesn't mean that I'm going to begin coding everything in assembly, however, I will learn which data types to use and when. I'll learn how to write smaller, faster, more efficient routines. I will understand software development..." at a much deeper level. Learn/Review Python: Method/TEXT: to be determined I'm currently reviewing with codecademy. Reason: I learned python in my computer science class. This will be a good review. Furthermore it will be a fun break from the other topics as I'll be able to have a little more fun with the code by writing more
That is quite a list of items to be studying in one go, and it's difficult to suggest which order to go in. If you want to learn about desktop systems and operating systems, then learning C and Linux would be a very useful path. You could follow that with a study on Intel assembler. If you are more interested in web development then HTML and HTML5 and associated products (Javascript. AJAX, jQuery etc) would be a good path. There are plenty of resources to be found on the internet which will help you, but a few to look at would be: http://www.linuxfoundation.org/programs/developer[^]. http://msdn.microsoft.com/en-us/library/fw5abdx6.aspx[^]. http://www.w3schools.com/default.asp[^].
Veni, vidi, abiit domum