Jump to content

Help Finalize my proposed course for self study!


Recommended Posts

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 and blue where I need help, 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 complex programs.

  • Learn HTML5: Codecademy lessons. I'm open to another method or text
Reasons: We use the internet alot. HTML5 is important.

Overal reasoning: I want to start from the bottom up, and I can use Linux to help with my understanding. I feel if I follow the natural technological progression of computers I will better understand them. When learning to build a house I think I would start learning about the foundation. Likewise, with computers I think I should start with some more of the "low level." I believe this will pay off in the long run.

It seems like alot. It will take months, and I recognize this. Computers are complex machines, and I want to understand them. Also I think it will be fun to explore my computer. I've always taken apart the hardware, now it's time to take apart the software :)
Also, I don't want to wait to get accepted and go to school again to start learning... I might as well start now.

Thank you very much for your time and help! It is much appreciated smile.png Thank you for sharing your knowledge, expertise, and opinions.

Seriously though, THANK YOU!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...

Important Information

This website uses cookies to ensure you get the best experience on our website. See our Privacy Policy and Terms of Use