• Embed Doc
  • Readcast
  • Collections
  • CommentGo Back
Download
 
Introduction to ProgrammingWinter 20091
B
ASIC
D
ATA
 
Instructor Andrzej Siemiński, PhDemailsieminski@pwr.wroc.plInternet, theInstitute Board
http:// www.el.iis.pwr.wroc.pl / 
 user: student password: zima2009Office Wrocław, Building A1, 203c,Office phone (071) 320 37 99 or (071) 320 32 58Office hours Monday: 13.15 15.00Thursday: 15.15 – 17.00The main aim of the course is to present a variety of principles and tools that enable us to produce high quality programs.Learning to program computers unlocks the full power of computer technology in a way thatis both liberating and exciting. At the same time, programming is an intellectuallychallenging activity that comes easily to only very few people. Taking a programming courserequires a great deal of work and commitment on your part, but the knowledge will not comeany other way. The payoffs, however, are quite real. If you make the effort and keep up withthe demands of the material, you will be able to make computers do amazing things.The communication problem: I have a tendency to speak a little bit too fast, so stop mewhenever you feel that more detailed explanations are needed.
Readings
 
C Programming Language,
 by B. Kernigham and D. Ritche
 
Thinking in Patterns
, by B. Eckeland
 
various supplemental material 
Lectures, assignments etc. are available on my Internet page. The books written by B. Eckelare available on the Internet.The supplemental readings come from the Internet - many different sources, StanfordUniversity, Sun being the most prominent.
 
Introduction to ProgrammingWinter 20092What we all need is software that has:
good quality and is produced fast, cheap and on time.
The structure of a computerThe prehistory and history of programming languages
1.
 
Machine codeMachine code is the only language the processor understands. In the earliest years of thecomputer era machines were developed by engineers, and were programmed at a binary levelusing machine code. It was assumed, probably correctly, that only people with a strong background in mathematics and logic would be able to undertake this task. Also, eachmachine had a different machine code structure, so intimate knowledge of the machine itself was essential, and language manuals were not available.
 
Introduction to ProgrammingWinter 200932.
 
Computer languagesThe development of compilers in the early 1950s was the first stage in the move towardssoftware that could be written by non-engineers, and towards a variety of languages. Acompiler is a program that can turn more abstract constructs into machine code.
 
Assembly languagesThe first level of abstraction produced assembly languages, where the language consists of simple mnemonics for the instruction set of the processor and a program is a set of directmanipulations of data in memory.LDX 3 MemAADD 3 7STR 3 MemBBRN Label1Any algorithm could be programmed regrettably in a extremely tiresome way. For well over 20 years there was no real alternative when achieving high quality code was required.
 
High level languagesThe second level of abstraction was intended to produce programs that were intelligible at anatural language level, using normal words (LET, ADD, REPLACE ...). More importantly,these high-level languages were designed specifically to allow programs to be written bycodifying actual ‘human’ methods of problem-solving. Thus adding two numbers together might be achieved by a statement such asLET MemB=MemA+7or justMemB=MemA+7,rather than defining each memory operation required to achieve this task.FORTRAN (Formula Translator) was created by a team at IBM, and its wide availability wasa major component in the enormous growth of the company in the 1950s and 60s. Whilstmost suited to mathematical and scientific problems, the language was (and remains) flexibleenough to carry out other tasks.COBOL (Common Business-Oriented Language) was designed to be a language for businessapplications, and reflect this in its strengths (list and file processing) and in its verbose (or non-cryptic) code. The continuing longevity is partly attributable to these strengths, but evenmore to the inertia created by the enormous volume of existing COBOL code (and the costsinvolved in re-designing and re-writing in a more ‘modern’ language) and the number of COBOL-trained programmers.BASIC (Beginners All-Purpose Symbolic Instruction Code) was the first (and most persistent) language designed specifically for teaching the programming process.ALGOL (Algorithmic Language) was designed as an attempt to define a universally-
of 00

Leave a Comment

You must be to leave a comment.
Submit
Characters: ...
You must be to leave a comment.
Submit
Characters: ...