Completion of the course - PowerPoint PPT Presentation

About This Presentation
Title:

Completion of the course

Description:

Those looking for fundamental O-O concepts. The first six units covered this material ... Complete beginners to programming. Toe in the water - Is this for me? ... – PowerPoint PPT presentation

Number of Views:41
Avg rating:3.0/5.0
Slides: 13
Provided by: dcsG6
Category:

less

Transcript and Presenter's Notes

Title: Completion of the course


1
Unit 10
  • Completion of the course
  • Revisit the purpose of the course
  • Consider what was not covered
  • - and your next steps

2
Two targets for the course
  • Those looking for fundamental O-O concepts
  • The first six units covered this material
  • Gave some idea of the benefits and tradeoffs of
    using the model, and why it has evolved this way
  • I hope this has been helpful
  • Complete beginners to programming
  • Toe in the water - Is this for me?
  • Aim has been to cover enough of the basics to
    give a flavour, but not to go into any detail
  • see if there is any enthusiasm in this way of
    working that could be cultivated
  • I'm primarily talking to this group now

3
Learning to program
  • If you are somewhat lost with all the different
    concepts
  • hang in there!
  • it is like this for most learners
  • The key is
  • are you enjoying it, even though it is sometimes
    baffling?
  • In general
  • do you enjoy the idea of building things?
  • of wrestling with a problem until it is solved?
  • of fixing things that aren't working?
  • If so, this is probably for you!

4
Teaching vs. Learning
  • Programming has never been taught
  • Good programmers are almost always self-taught
  • they have learned through their own efforts
  • probably quite considerable efforts
  • they have a passion for exploration and fixing
  • This is the only way you will learn, too
  • Of course, it can be a frustrating path
  • so creating a good environment will help too
  • useful books, folk nearby who can advise if
    necessay
  • lots of tea and coffee!
  • many long spare evenings and weekends
  • I hope you now have passion enough vocabulary
  • to understand a book or the folk around you!!

5
Learning O-O in particular
  • Programming languages all have three parts
  • mechanisms to structure code and data
  • different in each different language style
  • mechanisms to do something - statements
  • mechanisms to process data values - expressions
  • In O-O, you need to be working with all three
    very quickly
  • unlike in other language styles, where the second
    two, or even only the last need be covered
    initially
  • The benefits are great however hang in there
  • beautiful solutions can be developed
  • code can be safely and efficiently reused

6
The artistry in programming
  • In the first unit, we looked at aspects of the
    programming discipline
  • I hope that perhaps now you can see the artistry
    mentioned there
  • the elegance of the different classes
  • how they work together
  • how pieces can be replace with other pieces
  • and from this, perhaps the elegance of all
    engineering
  • The artistry comes very much from the
    programmer's own personal creative flair in
    seeing how a problem can be broken down

7
Gaps Fine detail of C
  • Fine grammatical detail of C has been largely
    by-passed
  • we've looked at pre-written code
  • not enough time on the course
  • Visual Studio is very helpful in guiding us
  • However, just as with spoken languages
  • you do need to develop an accurate knowledge of
    the language grammar
  • huge increase in your confidence and productivity
    when you know that you are writing (nearly)
    correct code before the system checks it

8
Gaps whole areas of the language
  • Concentrated on minimum set of fundamentals found
    in all programs
  • Particularly thin on
  • Wide range of built-in types
  • Further operators and statements
  • Arrays strings and their associated operations
  • Visibility and scope rules over members locals
  • With a good text book, and a grounding in what
    we've covered here
  • you'll pick these up

9
Gaps more on problem solving
  • Novice programmers often say
  • I understand about the language constructs, but I
    can't see how to start solving this new problem
  • Down to problem solving skills
  • poorly described at the very basic level, few
    good books
  • trial and error, brings the necessary skill set
  • bear in mind the heuristics from the last lecture
  • there is no perfect recipe, no easy rules to
    follow
  • only heuristics that sometimes work
  • the good problem solver becomes sharper in
    picking the right one early on
  • those with lateral thinking skills will do well

10
Methodologies for tackling problems
  • Considering a new problem
  • never seen it in which case start from scratch
  • seen identical problem just reuse solution
  • seen similar pick out the similar parts
  • Stepwise Refinement / Divide Conquer
  • break the problem into pieces, solve each smaller
    piece (maybe by dividing it too), then recombine
    to get the whole
  • Various Object Modelling Techniques
  • higher level notation and language for describing
    the components that a problem breaks down to
  • e.g. UML
  • easy to translate into programming language

11
Gaps other application areas
  • We've examined only one style of application
    the animation/simulation
  • You will need to become familiar with others
  • eventually each new problem will fall into a
    style you've seen before makes solving it
    easier
  • Other important styles
  • Window/Form based programming
  • all around us most modern PC applications have
    an interface that used windows/forms
  • Text/data processing programs
  • often used for introductory programming, but
    boring however, they're essential for some
    problems
  • Database/web programming
  • require particular skills to connect to the
    database and interrogate it, and to make
    connections via the web

12
Summary
  • Well done for making it this far!
  • Learning to program is a huge challenge
  • I hope your first experience has been productive
  • Best of luck with your next steps
Write a Comment
User Comments (0)
About PowerShow.com