1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

A little stuck, need some advice!

Discussion in 'MCAD / MCSD / MCPD' started by Atari, Nov 26, 2007.

  1. Atari

    Atari Bit Poster

    Hey all,

    I’ve started on my quest to become MCSD certified but need to pick your brains a little as I’m stuck.

    I spent a little while looking at the C# language and I’m now pretty familiar with the basic syntax and know my way around VS. I’ve started studying for the 70-315 exam (C# Web Applications) which I’ll be taking first and I’m using Amit Kalani’s 70-315 training book which seems great so far.

    The part I’m struggling with is the object orientated programming mindset. I ‘think’ I understand the theory behind it, but I wouldn’t have a clue how to write an OOP program.

    So, my question is…

    Do I really need to know how to write an OOP program to pass this exam (I.E Stop studying the book) or will it be ok to learn OOP once I’ve passed this exam and before I move on to the 70-316 (C# Windows Applications).

    I really don’t want to stop as I fear I’ll have to start from page 1 again.
  2. hbroomhall

    hbroomhall Petabyte Poster Gold Member

    Well - IMHO languages like C++ and C# don't make much sense unless you know how OO works, and how it differs from the more traditional methods.

    I don't know C#, but with C++ on Windows you *have* to follow OO methods as the whole of MFC is built on that!

    How this affects the exams I don't know, as I haven't even looked at the objectives, let alone tried to study for them.

    Certifications: ECDL A+ Network+ i-Net+
    WIP: Server+
  3. dmarsh

    dmarsh Terabyte Poster

    As harry says, you don't have to know programming or OO to pass the exams, but it helps ! Also it would be somewhat pointless having a programming cert without this basic knowledge. Programmers have always managed state and behaviour, objects provide a neat way to package this that mimicks the real world and makes it easier to model the real world.


    See this post :-

  4. JonnyMX

    JonnyMX Petabyte Poster

    If you don't understand the basic concepts, MCSD will be a nightmare.
    Certifications: MCT, MCTS, i-Net+, CIW CI, Prince2, MSP, MCSD
  5. Atari

    Atari Bit Poster

    Thanks all. I already understand the 'basic concepts' of OOP, I've just not applied it to anything so the syntax/structure is confusing.

    I'm not saying I won't be learning the OOP stuff, I'm asking if I can put it on hold until I've completed the 70-315 exam....I have every intention to complete it once this exam is complete. From what I understand, it looks like I'll be ok putting it on hold for now.
  6. greenbrucelee
    Highly Decorated Member Award

    greenbrucelee Zettabyte Poster

    When I was at Uni we did C++ and 90% of the module was all about OO I doubt much has changed so its probably essential.
    Certifications: A+, N+, MCDST, Security+, 70-270
    WIP: 70-620 or 70-680?
  7. Atari

    Atari Bit Poster

    Yeah, from what I've been reading it seems pretty essential and I can see why - hence why I want to make sure I learn it. In all honesty I'm finding that side of things rather hard, even with 10+ years programming experience behind me :dry

    It's also knowing how much you need to know. I've heard stories that in the 'real world' not many people use it properly.
  8. Mathematix

    Mathematix Megabyte Poster

    OOP is not at all difficult, so don't panic. Have you tried contrasting it with procedural and functional programming? Putting it in context can aid understanding.

    Google is also your friend. :biggrin
    Certifications: BSc(Hons) Comp Sci, BCS Award of Merit
    WIP: Not doing certs. Computer geek.
  9. dmarsh

    dmarsh Terabyte Poster

    I've met many a functional programmer, DBA or COBOL programmer who misunderstood OO, they think they already know it and say an object is a record or a function or a table. They don't understand the difference is the subtle ways you can merge behaviour and state.

    Its a paradigm shift, but alot of it is actually a subtle improvement over what went before, the functional design/primitives are still there in virtually all OO langauges, just with extra features added.

    OO merges state and behaviour in a structured manner unlike previous languages, imagine you wrote a stack class in a functional language, you would have a data structure, 'the stack', and the functions or behaviour that operates on the datastructure (pop/push,etc). OO provides a neat way to keep this functionality together in one place, it also provides information hiding or 'encapsulation'. You don't have a global stack datastucture accessible by everyone. Believe me this is a vast improvement, I've seen bad procedural programs with loads of public global state, anything could be changing this state at any time, imagine how hard this is to understand and debug, this is analgous to the dreaded memory corruption caused by a wild pointer. OO is simple by comparison !

    Look at other disciplines, Electrical Engineering and Structural Engineering, how do they desing and build a system ? Out of components (objects) maybe ? Do they create a design or a model first ? A bridge builder will often create a scale model and test it in a wind tunnel. This is what programmers do, we 'model' the aspects of the real world we are interested in, we create 'abstractions' of the real world.

    Your programs are only a 'model' or abstraction of reality, Its a bit like this :-


    Or maybe try looking at Polymorphic or Object Orientated Cats...

    Cat 1
    Cat 2
    Cat 3
    Cat 4

    Surprising how many OO cats there are ! :blink

Share This Page