1 / 12

Learning to Program with C# - 10: Revisiting the Purpose of the Course and Next Steps

This unit focuses on completing the course and revisiting the purpose of the course, including what was not covered. It also explores the next steps for learners.

rarlene
Télécharger la présentation

Learning to Program with C# - 10: Revisiting the Purpose of the Course and Next Steps

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Unit 10 • Completion of the course • Revisit the purpose of the course • Consider what was not covered • - and your next steps Learning to Program with C# - 10

  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 Learning to Program with C# - 10

  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! Learning to Program with C# - 10

  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!! Learning to Program with C# - 10

  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 Learning to Program with C# - 10

  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 Learning to Program with C# - 10

  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 Learning to Program with C# - 10

  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 Learning to Program with C# - 10

  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 Learning to Program with C# - 10

  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 Learning to Program with C# - 10

  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 Learning to Program with C# - 10

  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… Learning to Program with C# - 10

More Related