Ask Experts Questions for FREE Help !
Ask
    leif_erikson's Avatar
    leif_erikson Posts: 36, Reputation: 2
    Junior Member
     
    #1

    Mar 27, 2010, 02:32 PM
    How to go from novice to expert in compters
    Like the title says, I'm interested in computer science. The only thing that I know of computers are how they work mathematically and electronically. (but only very basic) I know the principle of how transistors work (quantum mechanically) and I'm familiar with some aspects of discrete mathematical structures such as propositional logic, truth tables, Markov chains, etc. (well Markov chains fall more under applied probability theory)

    I'm a theoretical physicist and a mathematician (well, those are my majors when I start college this fall) and I need more efficient ways to model and simulate phenomena so I think that I'll just learn as much about computer design and programming as possible. How do I go about doing this from the most basic undergrad level to the most advanced level? If possible, can you write it in a format similar to the one below:

    Math

    Arithmetic ---> Basic algebra --> trigonometry and analytic geometry --> single variable calculus (differential and integral) --> discrete structures/ linear algebra/ multivariable calculus/ ordinary differential equations --> real and complex analysis --> functional analysis/ partial differential equations/ topology --> differential geometry/tensor calculus/ more abstract algebras
    costas0811's Avatar
    costas0811 Posts: 5, Reputation: 1
    New Member
     
    #2

    Mar 29, 2010, 08:45 AM
    I was comp sci major and pretty much the first 2 years are
    Introductory Programming (probably C/C++: Input/Output, Conditions, Looping etc..
    Object Oriented Programming
    Data Structures
    Algorithm Design
    Computer architecture ( seems like you're familiar with this already )

    And then the more fun stuff is in the latter years
    Software Design and Development
    Computer Graphics
    AI and Computer Vision
    Operating Systems

    Although are you sure you're not really wanting to just use an existing software like Matlab or VisSim? Learning to program to the level you're talking about would take a while.
    leif_erikson's Avatar
    leif_erikson Posts: 36, Reputation: 2
    Junior Member
     
    #3

    Mar 29, 2010, 02:08 PM

    Thank you costas0811. I'm currently using Maple and Matlab. I've never heard of VisSim but I will download it since it may have some advantage over the other two.

    I'm aware that it takes a great deal of time to become an expert at computer design and programming. That's why I'm trying to get an early start before the time comes when I go beyond the limitations of the two systems.
    costas0811's Avatar
    costas0811 Posts: 5, Reputation: 1
    New Member
     
    #4

    Mar 29, 2010, 06:04 PM

    Yea I'm just throwing things out there since I don't really know what your intent is exactly. How far would you say you've gone with programming already? Do you understand the basics?
    KISS's Avatar
    KISS Posts: 12,510, Reputation: 839
    Uber Member
     
    #5

    Mar 29, 2010, 06:36 PM

    Well, interesting enough in a lab in college me and my partners built what I would consider a small computer out of small scale integration logic. This when when the intel 4004 and intel 8008 came into existence.

    We designed a microcoded instruction set. 16 bits x 16 words and we were able to sort numbers in ascending or decending order based on the microcode or instruction set.

    Yep, it operated slowly, but was pretty cool. It had decision logic and a program counter and the ability to branch based on a test case. So, we could sort numbers with a "program".

    You can also look up "BNF notation" which is a Pascal like construct for describing a machine.

    I also built an analog computer. It wasn't designed by me but it simulated a bouncing ball on an oscilloscope.

    You really need to study computer architecture.
    costas0811's Avatar
    costas0811 Posts: 5, Reputation: 1
    New Member
     
    #6

    Mar 29, 2010, 07:02 PM
    Quote Originally Posted by KeepItSimpleStupid View Post
    Well, interesting enough in a lab in college me and my partners built what I would consider a small computer out of small scale integration logic. This when when the intel 4004 and intel 8008 came into existence.

    We designed a microcoded instruction set. 16 bits x 16 words and we were able to sort numbers in ascending or decending order based on the microcode or instruction set.

    Yep, it operated slowly, but was pretty cool. It had decision logic and a program counter and the ability to branch based on a test case. So, we could sort numbers with a "program".

    You can also look up "BNF notation" which is a Pascal like construct for describing a machine.

    I also built an analog computer. It wasn't designed by me but it simulated a bouncing ball on an oscilloscope.

    You really need to study computer archetecture.
    Hes talking about the practically the highest level programming and you think he should study computer architecture?
    KISS's Avatar
    KISS Posts: 12,510, Reputation: 839
    Uber Member
     
    #7

    Mar 29, 2010, 07:37 PM

    "Computer design and programming" is what I hear from the OP.
    Design comes from studying architecture. Programming comes from studying language.

    Varients of C and html are dominant now. They were not 30 years ago. "G" (Labview) is a pretty good multi-processor language. It has all of the varients for mac, PC and Linux and embedded processors. Varients are being used for circuit simulation. It's data-flow based. When data is available to the module, the module executes.
    InfoJunkie4Life's Avatar
    InfoJunkie4Life Posts: 1,409, Reputation: 81
    Ultra Member
     
    #8

    Mar 30, 2010, 09:53 PM

    Technically they are all rooted in the same thing. Programming was designed to speed up the mathematical process of telling a computer how to function. The architecture of a system defines how it works with data ins/outs.

    I had a conversation with an long held geek (30-40 years of computer work) and we both found a few things out. Somebody once quoted, the advancement in programming is recycling software. It is this principle that makes OOP and class libraries so useful. As they grow, the ease of programming grows. The problem is that not too many people actually know what is going on.

    It is possible to map the data flow from input to output in a computer. That is how they were operated years ago, however, today's computers could fill volumes upon volumes of information with just a few minutes of processing power. The amount of technical detail that goes into some of the most basic C++ functions is absurd.

    As stated before, this will speed progress, but you will also find that no one really knows what they are doing.

    Who knows, in ten or fifteen years AI's and programming may have come so far as to be able to build programs based on illogical descriptions put into a system by half brained humans. That doesn't mean they are a brilliant programmer, but rather that they have built on so much previous progress (unknowingly) that they don't need to know to act.

    There few people willing to explore the present technology, to certify its reliability and longevity in order that it is more perfect. Its more of an arms race between companies producing dysfunctional equipment.

    I guess what I am really trying to point out, is there are more mathematical possibilities in a 16 bit processor than most 64 bit processors will ever be used for. And to date, they remain unexplored.

    Sorry for the rant...
    aliancemd's Avatar
    aliancemd Posts: 11, Reputation: 1
    New Member
     
    #9

    Apr 3, 2010, 02:30 AM

    All depends on what you want to learn. Computer science may be programming. If you want to program, which domain then? Software(like programs for Windows, Linux, MacOSx... )? Drivers? Operating System? Core programming(making drivers may be included)?

Not your question? Ask your question View similar questions

 

Question Tools Search this Question
Search this Question:

Advanced Search

Add your answer here.


Check out some similar questions!

Computer novice! [ 1 Answers ]

Is this Monday? No, that is not the question. This is what's going on. One I have vista. Secondly I have in the past, pasted pieces of information into a e-mail. Done this several times. Although today, when I try to past something, I get the message, "Internet Explorer has stopped working"....

How to connct my compters? [ 2 Answers ]

Hello anybody please tell me how do I connect my two computers running on XP... I don't have any idea about NIC ,routers,switchs and all... these terms always confuses me... So plese tell me from where should I start... also tell me why we are using these routers,hubbs etc... and what is the...

Animation for novice? [ 6 Answers ]

I am a novice at this but it would be great if someone could tell me about any animation software that a novice could start using as an introduction. It would be great if the software comes with a guide (well, a helpful one). Thanks again. Cheers to this community!

Novice questions... [ 2 Answers ]

Hey guys, thanks much for your input. While I'mhere I have a few other questions. 1)how high should outlets be roughed in off an unfinished floor? 2)switches? Does code dictate how many outlets I can have on my 15 amp outlet circuit for my attic conversion? I want 12. They obviously...


View more questions Search