Learning To Program With C#
Learning To Program With C#
Quintin Cutts
Department of Computing Science
University of Glasgow
Learning to Program 1
In this unit…
• What is programming?
• Fundamental skills for programming
• Learning process to develop these skills
• How is this course structured to enable
you to learn to program…
Learning to Program 2
Designer Artist
Engineer Writer
Investigator
• Which do you think is the most similar
to a computer programmer?
Learning to Program 3
What does a programmer do?
• Crafts/designs/writes/engineers a model
of some aspect of the real world…
– solving a problem
– simulating an activity
– assisting us to complete some task
Learning to Program 5
Models in programming…
• Accuracy
– defined by the particular problem to be
solved – no need to be more accurate than
required
• Purpose
– stated in the problem specification
– defines a mini-world
• Building materials…
Learning to Program 6
Building Materials for programs
• The set of concepts that can be
described with a programming language
Learning to Program 9
A Framework for Learning
• Programming is a doing activity…
– Cannot be read about in books
• although fundamental concepts can
– Skills must be developed by practising on
real examples
• Separate environments
– Investigation/design environment
– Writing/testing environment
• Learning can/should take place both
away from and in front of computers
Learning to Program 10
Course Resources
• This series of lecture slides
– Introduces concepts
– Demonstrates the skills
• Written description of the content
– To be used alongside the lectures
• Series of study packs
– One for course unit
– Attempt these as soon as possible after the lecture
to reinforce knowledge and practise skills
Learning to Program 11
“Why hasn’t C# been
mentioned”
• Programming skills are relatively
independent of language
– We could use one of a number of languages
– C# is a sound choice for a first language and
has the benefit of upcoming popularity
Learning to Program 12
Summary
• Many qualities required in a programmer
• Programming involves model building
• Programming language fundamentals define what
models can be built
– Remember components and actions
• Two fundamental skills
– Deciding on the components and actions
– Describing them using the PL
• Proficiency in programming requires continual practice
– and so here is the first study pack…
Learning to Program 13